File size: 1,718 Bytes
d094faf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 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: "<upstream-claude-id>"
  codex:
    gpt-5.3-codex-spark: "<upstream-codex-id>"