Claude Code + OpenCode Go 訂閱:讓 Claude 跑任意開源模型
Claude Code + OpenCode Go 訂閱:讓 Claude 跑任意開源模型
一份給"既買了 OpenCode Go,又想用 Claude Code"的同學(xué)的實(shí)戰(zhàn)指南。文章設(shè)計(jì)目標(biāo):小白能照著做完;AI 工具能照著幫你做完。
寫在前面
OpenCode Go 訂閱($5/月起)能讓你用上 GLM-5.1、Kimi K2.6、MiniMax M3、Qwen3.7-Max、DeepSeek V4 Pro 等一堆頂級(jí)開源模型。但有個(gè)問題:Claude Code 客戶端默認(rèn)只認(rèn) Anthropic 協(xié)議(/v1/messages),而 GLM-5.1 這些只支持 OpenAI 協(xié)議(/v1/chat/completions)。
直接配是不行的,會(huì)報(bào) 1210 / 1214 錯(cuò)。解決方案就是中間塞一個(gè)協(xié)議轉(zhuǎn)換代理(本文用 ogc)。整篇文章 5 分鐘配完,不寫代碼。
整體架構(gòu)
┌────────────────────────────┐
│ Claude Code 客戶端 │ ← 你敲命令的地方
└────────────┬───────────────┘
│ 讀 ~/.claude/settings.json
│ ANTHROPIC_BASE_URL=http://127.0.0.1:3456
↓
┌────────────────────────────┐
│ ogc 代理(Go 寫的本地服務(wù))│ ← 翻譯:anthropic 話 ? openai 話
└────────────┬───────────────┘
│ 讀 ~/.config/ogc/config.json
↓
┌────────────────────────────┐
│ OpenCode Go(云端) │ ← $5/月的訂閱入口
└────────────┬───────────────┘
↓
┌────────────────────────────┐
│ 上游模型(GLM-5.1/M3/...) │
└────────────────────────────┘一句話:Claude Code 只說"anthropic 話",GLM-5.1 只懂"openai 話",ogc 就是那個(gè)翻譯。
準(zhǔn)備工作
- macOS(Linux 類似,文末備注)
- OpenCode Go 訂閱 + API key(https://opencode.ai/ )
- Claude Code 客戶端(
claude命令能跑) - Go 1.21+(
go version看一下,沒有就brew install go)
第一步:裝 ogc
go install github.com/xynogen/ogc/cmd/ogc@latest # 加 PATH echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrc source ~/.zshrc # 驗(yàn)證 ogc --version
第二步:寫 ogc 配置
ogc init
會(huì)生成 ~/.config/ogc/config.json。整段替換為下面內(nèi)容(API key 換成你的):
文件:~/.config/ogc/config.json
{
"api_key": "sk-你的OpenCodeGoKey",
"host": "127.0.0.1",
"port": 3456,
"models": {
"glm-5.1": {
"provider": "openai",
"model_id": "glm-5.1",
"temperature": 0.7,
"max_tokens": 8192
}
},
"model_mapping": {
"claude-opus": "glm-5.1",
"claude-sonnet": "glm-5.1",
"claude-haiku": "glm-5.1"
},
"upstream": {
"base_url": "https://opencode.ai/zen/go/v1",
"anthropic_base_url": "https://opencode.ai/zen/go/v1",
"timeout_ms": 300000
},
"logging": { "level": "info", "requests": true }
}字段含義:
models里每個(gè)模型有provider字段,決定 ogc 用什么協(xié)議發(fā)到上游model_mapping決定 Claude 客戶端的opus/sonnet/haiku三個(gè)槽位路由到哪個(gè)模型(換模型就改這一段)
模型 ↔ 協(xié)議對(duì)照表(數(shù)據(jù)來自 https://opencode.ai/docs/go/ ):
| 模型 | ogc provider |
|---|---|
| minimax-m3 / m2.7 / m2.5 | anthropic |
| qwen3.7-max / qwen3.7-plus / qwen3.6-plus / qwen3.5-plus | anthropic |
| glm-5.1 / glm-5 | openai |
| kimi-k2.5 / kimi-k2.6 | openai |
| mimo-v2-pro / mimo-v2-omni / mimo-v2.5-pro / mimo-v2.5 | openai |
| deepseek-v4-pro / deepseek-v4-flash | openai |
第三步:先前臺(tái)跑一下驗(yàn)證
ogc serve
看到 Listening on 127.0.0.1:3456 就 OK。另開一個(gè)終端測(cè)一下:
curl -X POST http://127.0.0.1:3456/v1/messages \
-H "x-api-key: dummy" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-5","max_tokens":15,"messages":[{"role":"user","content":"reply OK"}]}'返回 200 + 一段 JSON 就說明通了。Ctrl+C 停掉前臺(tái)。
第四步:開機(jī)自啟
# 生成 plist ogc autostart enable # 加上 API key(plist 默認(rèn)不帶) /usr/libexec/PlistBuddy \ -c "Add :EnvironmentVariables:OGC_API_KEY string sk-你的OpenCodeGoKey" \ ~/Library/LaunchAgents/com.xynogen.ogc.plist # 加載 plist launchctl load -w ~/Library/LaunchAgents/com.xynogen.ogc.plist # 驗(yàn)證 lsof -nP -iTCP:3456 -sTCP:LISTEN
第五步:改 Claude Code 客戶端配置
文件:~/.claude/settings.json
在 "env" 段加上下面的字段(如果沒 "env" 就加):
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:3456",
"ANTHROPIC_API_KEY": "unused",
"ANTHROPIC_MODEL": "glm-5.1",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-5.1",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.1",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.1"
}?? 三個(gè)易錯(cuò)點(diǎn):
- 字段名是
ANTHROPIC_API_KEY,不是ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL不帶/v1(SDK 會(huì)自動(dòng)加)ANTHROPIC_API_KEY寫"unused"就行,ogc 不檢查
第六步:?jiǎn)?dòng) Claude
claude --dangerously-skip-permissions
發(fā)條消息(比如"你好"),看到回復(fù) = 全部搞定。
換模型的標(biāo)準(zhǔn)操作(SOP)
以后想換模型,按這 4 步走。以"glm-5.1 → minimax-m3"為例:
# 1) 備份
cp ~/.config/ogc/config.json ~/.config/ogc/config.json.bak.$(date +%H%M%S)
# 2) 改 JSON(用 Python 不容易寫錯(cuò))
python3 << 'PYEOF'
import json
p = '/Users/bryle/.config/ogc/config.json'
d = json.load(open(p))
# 加新模型(注意 provider 字段:查上面對(duì)照表)
d['models']['minimax-m3'] = {
"provider": "anthropic", # minimax-m3 走 anthropic
"model_id": "minimax-m3",
"temperature": 0.7,
"max_tokens": 65536,
}
# 改路由(claude-*/sonnet/haiku 都指向新模型)
d['model_mapping'] = {
"claude-opus": "minimax-m3",
"claude-sonnet": "minimax-m3",
"claude-haiku": "minimax-m3",
}
json.dump(d, open(p, 'w'), indent=2, ensure_ascii=False)
print("已改")
PYEOF
# 3) 驗(yàn)證 + 重啟 ogc
ogc validate
launchctl unload ~/Library/LaunchAgents/com.xynogen.ogc.plist
launchctl load -w ~/Library/LaunchAgents/com.xynogen.ogc.plist
sleep 2
lsof -nP -iTCP:3456 -sTCP:LISTEN
# 4) 開新的 claude 會(huì)話(舊會(huì)話的 context 還綁著舊模型)
claude --dangerously-skip-permissions核心就一句話:加菜 + 改路由 + 重啟 ogc + 開新會(huì)話。
故障排查速查表
| 錯(cuò)誤 | 原因 | 解決 |
|---|---|---|
| Both a token and an API key are set | settings.json 同時(shí)有 AUTH_TOKEN 和 API_KEY | sed -i '' 's/"ANTHROPIC_AUTH_TOKEN"/"ANTHROPIC_API_KEY"/g' ~/.claude/settings.json |
| 401 AuthError / Missing API key | 用了 ANTHROPIC_AUTH_TOKEN(OAuth 頭 Bearer) | 改用 ANTHROPIC_API_KEY(API key 頭 x-api-key) |
| 1210 / 1214 “Error from provider (Z.ai)” | 模型協(xié)議配錯(cuò)了(GLM 配成了 anthropic) | 改 ogc config 的 provider 字段 |
| 404 Page Not Found | base_url 帶了 /v1 | 改成 https://opencode.ai/zen/go |
| ogc 進(jìn)程不在了 | 沒人?;?/td> | launchctl kickstart -k gui/$(id -u)/com.xynogen.ogc |
不想用 ogc?也行
如果只用 anthropic 協(xié)議的模型(minimax-m3、qwen3.x),可以直連 OpenCode Go,連 ogc 都不用裝:
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go",
"ANTHROPIC_API_KEY": "sk-你的Key",
"ANTHROPIC_MODEL": "qwen3.7-max"
}但想用 GLM-5.1 / Kimi / DeepSeek 這些,必須用 ogc 或同類工具做協(xié)議轉(zhuǎn)換。
寫在最后
整個(gè)方案就是一句話的事:Claude Code 說人話,部分模型說機(jī)器話,中間需要個(gè)翻譯。剩下的就是改 JSON 文件、跑幾個(gè)命令。
5 分鐘搞定,以后換模型 30 秒搞定。Happy hacking
Linux 用戶備注:把 ~/Library/LaunchAgents/ 換成 ~/.config/systemd/user/,plist 換成 systemd unit(ogc serve --background 就行)。其他完全一樣。
到此這篇關(guān)于Claude Code + OpenCode Go 訂閱:讓 Claude 跑任意開源模型的文章就介紹到這了,更多相關(guān)Claude Code OpenCode Go 訂閱內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

Opencode Go接入Claude Code的實(shí)現(xiàn)步驟
本文主要介紹了Opencode Go接入Claude Code的實(shí)現(xiàn)步驟,文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)2026-06-18
Claude Code v2.1.139 出了一個(gè)新功能:/goal,很多 ai 都會(huì)有主動(dòng)降智的行為,比如你給出一個(gè)大任務(wù),它干完一輪就停了,你得手動(dòng)說繼續(xù),它又干一輪又停了,/goal 能解決2026-05-14



