當然,這是用 reverse engineering 做的。
claude code router 也是用 npm 安裝。
安裝完後就是setup,他有提供一個 ui 界面,方便設定。
安裝完用:
ccr ui就會開啟 browser,顯示設定頁面。
以 openrouter 為例,就選新增 provider - openrouter,然後到openrouter 選一些 (free) 或是 $0/M token 的 model。
在 model 的 democode 中會有 model 的名子。
舉例來說: 他的code 就有:
model="z-ai/glm-4.5-air:free"就是他的model name,填入 provider的 add model.
一個 provider 可以add 一堆 model.
oprouter 需要一個 api_key,所以去settings--API keys 產生一個 key,把 key copy 到剛剛 claude code router 的 UI 的 openrouter 項目。
UI 設定好像這樣就可以了。
之後 'save'
就會在home 之下create ./claude-code-router/config.json
然後就可以用
ccr code啟動 claude-code
用 stats 看,可以看到 model 還是 anthropic sonnet,
所以要用 command 來改:
/model openrouter, a-ai/glm-4.5-air:free就可以改成 openrouter 的 glm-4.5-air model
This is my config.json (API_KEY marked)
$ cat .claude-code-router/config.json { "LOG": true, "LOG_LEVEL": "debug", "CLAUDE_PATH": "", "HOST": "127.0.0.1", "PORT": 3456, "APIKEY": "123", "API_TIMEOUT_MS": "600000", "PROXY_URL": "", "transformers": [], "Providers": [ { "name": "openrouter", "api_base_url": "https://openrouter.ai/api/v1/chat/completions", "api_key": "sk-or-v1", "models": [ "nvidia/nemotron-nano-9b-v2:free", "openrouter/sonoma-sky-alpha", "deepseek/deepseek-chat-v3.1:free", "z-ai/glm-4.5-air:free", "qwen/qwen3-coder:free", "moonshotai/kimi-k2:free" ], "transformer": { "use": [ "openrouter" ] } } ], "StatusLine": { "enabled": false, "currentStyle": "default", "default": { "modules": [] }, "powerline": { "modules": [] } }, "Router": { "default": "openrouter,openrouter/sonoma-sky-alpha", "background": "", "think": "", "longContext": "", "longContextThreshold": 60000, "webSearch": "", "image": "" }, "CUSTOM_ROUTER_PATH": "" }
有關openrouter的 model,不是所有model 都 support claude-code-router,需要support tool 的才行: 所以可以follow 說明,在list model 時加上 filter: tool
另外光support tool 好像也不能完全 support claude code router,像mistral 的 model,雖然 support,但是一對tool command 他不認識。
要注意的是,ccr server 啟動之後,修改 config.json 不會生效。
要restart ccr server 才會重新 load config.json