一个专门为 OpenCode 和 CherryStudio 设计的本地代理桥接工具,用于解决接入 AnyRouter (Claude Code API) 时遇到的 WAF 拦截和 TLS 指纹问题。
AnyRouter 是一个专为 Claude Code 设计的 API Provider,具有严格的安全防护:
1. TLS 指纹校验:拦截普通 Python/Node.js 的 HTTP 请求,必须使用 HTTP/2 且具备特定指纹。
2. 严格的 Header 检查:强制校验 anthropic-client-name 等客户端标识。
3. 请求体校验:检测请求是否包含 Claude Code 的工具定义。
本项目通过运行一个轻量级的本地 Python 代理服务器(FastAPI + httpx/HTTP2),作为中间人进行协议清洗和伪装,完美解决上述问题。
httpx 绕过 TLS 指纹检测。| 客户端 | 支持状态 | 推荐协议 |
|---|---|---|
| OpenCode | ✅ 完全支持 | Anthropic (@ai-sdk/anthropic) |
| CherryStudio | ✅ 完全支持 | Anthropic |
从 Releases 下载最新版本的 zip 包并解压。
需要 Python 3.8+ 环境。
pip install -r requirements.txt
首次运行会自动进入配置向导:
python main.py
按提示输入:
* API Key: 你的 AnyRouter API Key (sk-...)
* Proxy: 是否使用系统代理(如 Clash/v2ray,建议开启以提高连接稳定性)
配置完成后,服务将在 http://127.0.0.1:8765 启动。
在 OpenCode 的配置文件 (~/.config/opencode/opencode.json) 中添加或修改 Provider 配置:
"anyrouter": {
"npm": "@ai-sdk/anthropic",
"name": "AnyRouter (via Bridge)",
"options": {
"baseURL": "http://127.0.0.1:8765/v1",
"apiKey": "sk-placeholder"
},
"models": {
"claude-haiku-4-5-20251001": {
"name": "Claude Haiku 4.5",
"limit": { "context": 256000, "output": 128000 }
},
"claude-sonnet-4-5-20250929": {
"name": "Claude Sonnet 4.5",
"limit": { "context": 256000, "output": 128000 }
},
"claude-opus-4-5-20251101": {
"name": "Claude Opus 4.5",
"limit": { "context": 256000, "output": 128000 }
}
}
}
CherryStudio 请务必使用 Anthropic 协议接入。
| 配置项 | 值 |
|---|---|
| API 地址 | http://127.0.0.1:8765/v1 |
| API Key | 任意值(如 sk-placeholder) |
在模型列表中添加以下模型:
claude-haiku-4-5-20251001claude-sonnet-4-5-20250929claude-opus-4-5-20251101Q: 为什么 CherryStudio 提示 404?
A: 请确保:
1. 代理服务器正在运行。
2. 选择了 Anthropic 协议而不是 OpenAI 协议。
3. API 地址填的是 http://127.0.0.1:8765/v1。
Q: 需要一直开着终端吗?
A: 是的,或者使用 nohup / pm2 / nssm (Windows) 将其作为后台服务运行。
MIT
$ claude mcp add anyrouter-opencode-bridge \
-- python -m otcore.mcp_server <graph>