# Minimal CLIProxyAPI config for GraphTestbed agent runs. # # Place at ~/.cli-proxy-api/config.yaml (or pass --config /path/to/this file # when launching the proxy). Full schema: # https://github.com/router-for-me/CLIProxyAPI # # Quickstart: # 1. Replace the api-keys[0] placeholder with `openssl rand -hex 16`. # 2. Export the same value as CLIPROXYAPI_KEY in the shell that runs the # agents (so the agent's SDK sends it; the proxy validates it). # 3. Launch the proxy interactively once and complete the OAuth flow for # each upstream account you intend to use (Claude / Codex / Gemini). # 4. Adjust `oauth-model-alias.{claude,codex}` so the model strings the # agents send (e.g. `claude-sonnet-4-6`, `gpt-5.3-codex-spark`) resolve # to whatever upstream IDs your subscriptions actually expose. host: "127.0.0.1" port: 8317 auth-dir: "~/.cli-proxy-api" api-keys: - "REPLACE-WITH-OPENSSL-RAND-HEX-16" strategy: "round-robin" session-affinity-ttl: "1h" # Upstream Claude OAuth account(s). Run the proxy once with your browser open # to log in; the proxy then caches refresh tokens under auth-dir. claude-api-key: [] # Upstream Codex OAuth account(s). Same pattern. codex-api-key: [] # Map the alias names our agents send → actual upstream model IDs. # AI-Build-AI sends `--model claude-sonnet-4-6` (or whatever you pick). # MLEvolve sends the model string from agents/mlevolve/runner.py's --model. oauth-model-alias: claude: # Match the string the agent's runner sends; map to whatever your Claude # subscription actually exposes (check `curl ${proxy}/v1/models`). claude-sonnet-4-6: "" codex: gpt-5.3-codex-spark: ""