Skip to content

castlepower666/opencode2claude

Repository files navigation

opencode2claude

OpenCode 的免费 MiniMax 模型接入 Claude Code CLI,零成本使用。

Claude Code CLI ──► 本地代理 (:8082) ──► OpenCode 服务 (:4096) ──► MiniMax 免费模型
  (Anthropic API)     (格式转换)          (Session API)

原理

Claude Code 通过 Anthropic Messages API 与后端通信。本项目在中间放一个代理:

  1. 拦截 Claude Code 发出的 Anthropic 格式请求
  2. 将消息转换为 OpenCode Session API 格式,转发到本地 OpenCode 服务
  3. 将 OpenCode 的响应转换回 Anthropic 格式,返回给 Claude Code

关键设计:每次请求创建新 Session。OpenCode session 会累积上下文导致后续请求变慢甚至超时,新 session 保证每次都在 5 秒内响应。

启动步骤

前置条件

1. 安装依赖

git clone https://github.com/your-name/opencode2claude.git
cd opencode2claude
pip install -r requirements.txt

2. 启动(需要 3 个终端)

终端 1 — OpenCode 服务

opencode serve --port 4096

终端 2 — 代理服务

uvicorn proxy:app --host 0.0.0.0 --port 8082

释放端口
Get-Process -Id (Get-NetTCPConnection -LocalPort 8082).OwningProcess | Stop-Process -Force

看到以下输出说明启动成功:

INFO: 代理服务启动 | OpenCode: http://localhost:4096
INFO: OpenCode 连接成功

终端 3 — CC Switch

Windows :

BASE_URL = "http://localhost:8082"
API_KEY = "placeholder"
claude

Linux / macOS:

ANTHROPIC_BASE_URL="http://localhost:8082" ANTHROPIC_API_KEY="placeholder" claude

切回官方 API:新开终端不设置环境变量,直接运行 claude 即可,代理不修改任何全局配置。

3. 验证

curl http://localhost:8082/health
# {"status":"healthy"}

配置

复制 .env.example.env,按需修改:

配置项 默认值 说明
OPENCODE_BASE_URL http://localhost:4096 OpenCode 服务地址
FAKE_MODEL claude-opus-4-5-20250213 返回给 Claude Code 的模型名
PROXY_PORT 8082 代理监听端口
DEBUG false 开启后打印完整请求/响应日志

当前限制

  • 对话功能可用,但 Tool Calling(文件读写、命令执行)尚未适配,Claude Code 的编辑能力暂不可用
  • 响应速度取决于 MiniMax 模型,通常 3-10 秒
  • 仅供学习研究,请遵守 OpenCode 使用协议

贡献声明

本项目的架构设计、调试与最终验证由作者负责。项目实现过程中部分代码和文档由 GitHub Copilot(AI 辅助工具)生成或协助完善,所有生成内容均由作者审阅、修改并测试后纳入代码库。

免责声明

本项目仅供研究与学习用途。部分代码由 GitHub Copilot 辅助生成并由作者审阅,但代码可能包含错误或安全风险。作者不对因运行、修改或传播本项目代码产生的任何损失、损害或法律责任负责。严禁将本项目用于违法或未授权用途。

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors