當然,這是用 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
沒有留言:
張貼留言