54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# Vibe Proxy
|
|
|
|
Vibe Proxy connects multiple OpenAI Codex OAuth accounts, displays their quotas, and exposes them through an OpenAI-compatible API.
|
|
|
|
The management UI is available at `/management.html`. It supports adding and removing Codex accounts and refreshing their quota. Proxy API keys and server settings are deployment configuration, not UI settings.
|
|
|
|
## Endpoints
|
|
|
|
- `GET /v1/models`
|
|
- `POST /v1/chat/completions`
|
|
- `POST /v1/responses`
|
|
- `GET /v1/responses` for WebSocket transport
|
|
- `GET /healthz`
|
|
|
|
## NixOS
|
|
|
|
Add the module and package from the flake:
|
|
|
|
```nix
|
|
{
|
|
inputs.vibe-proxy.url = "github:methanium/vibe-proxy";
|
|
|
|
outputs = { nixpkgs, vibe-proxy, ... }: {
|
|
nixosConfigurations.host = nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
vibe-proxy.nixosModules.default
|
|
({ ... }: {
|
|
services.vibe-proxy = {
|
|
enable = true;
|
|
host = "127.0.0.1";
|
|
port = 8317;
|
|
settings.api-keys = [ "replace-with-a-random-api-key" ];
|
|
environmentFiles = [ "/run/secrets/vibe-proxy" ];
|
|
};
|
|
})
|
|
];
|
|
};
|
|
};
|
|
}
|
|
```
|
|
|
|
The environment file should contain:
|
|
|
|
```sh
|
|
MANAGEMENT_PASSWORD=replace-with-a-random-management-key
|
|
```
|
|
|
|
The module stores OAuth credentials under `/var/lib/vibe-proxy/auths` by default. Set `openFirewall = true` only when the service should be reachable directly from other machines.
|
|
|
|
Build or run the combined package with `nix build` or `nix run`.
|
|
|
|
## Other deployments
|
|
|
|
Copy `backend/config.example.yaml` to `config.yaml`, replace the example API key, and set `MANAGEMENT_PASSWORD`. Docker Compose and the standalone binary both use local JSON credential storage.
|