# 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.