OpenCode转OpenAI兼容API工具opencode2api
简介
什么是 opencode2api ?
opencode2api是一个开源的OpenAI兼容API网关工具。它可以将本地运行的OpenCode运行时转换为标准的OpenAI API格式,让你可以在任何OpenAI客户端中免费使用OpenCode提供的模型(如big-pickle、gpt5-nano等)。
主要特点
- OpenAI 兼容:完整支持
/v1/models、/v1/chat/completions、/v1/responses接口 - 流式输出:支持
Chat Completions与Responses API的完整SSE流式响应 - 推理控制:支持
reasoning_effort参数,可控制推理强度 - Docker 部署:一键部署,自动启动
OpenCode后端 - 工具安全:默认禁用工具调用,确保安全
- 外部工具桥接:支持外部客户端传入
tools,通过代理桥接为OpenAI-compatible的tool_calls - 内置 web_fetch 透传:可选择性放行
OpenCode内置web_fetch工具 - 开源免费:基于
MIT协议开源,可免费使用和修改
应用场景
- 免费使用 AI 模型:在主流
OpenAI客户端中免费使用OpenCode提供的模型 - 本地 AI 网关:搭建本地
API网关,保护隐私的同时使用AI能力 - 开发测试:开发人员可以在本地快速测试
OpenAI兼容的API调用
opencode2api 是一个让你在本地轻松使用 OpenCode 模型的实用工具。
安装
在群晖上以 Docker 方式安装。
提示:由于镜像托管在
ghcr.io,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。

env.txt
env.txt 中必须配置的只有 API_KEY 和 OPENCODE_SERVER_PASSWORD
1 | # Copy this file to .env before running docker compose. |
API_KEY:用于Bearer Token认证,请求时需要在Header中传入OPENCODE_SERVER_PASSWORD:OpenCode后端登录密码
| 变量名 | 说明 | 默认/示例值 | 是否必填 | 备注 |
|---|---|---|---|---|
| API_KEY | API 访问密钥 | change-me | 是 | 用于客户端调用鉴权 |
| OPENCODE_SERVER_PASSWORD | OpenCode 服务密码 | change-me-too | 是 | 保护内部服务访问 |
| DISABLE_TOOLS | 是否禁用模型工具调用 | true | 否 | 建议保持 true,提升安全性 |
| OPENCODE_EXTERNAL_TOOLS_MODE | 外部工具接入模式 | proxy-bridge | 否 | 当前仅支持 proxy-bridge |
| OPENCODE_EXTERNAL_TOOLS_CONFLICT_POLICY | 外部工具冲突处理策略 | namespace | 否 | 使用命名空间避免冲突 |
| OPENCODE_PROXY_PROMPT_MODE | Prompt 处理模式 | plugin-inject | 否 | 适配已有 prompt 管理系统 |
| OPENCODE_PROXY_OMIT_SYSTEM_PROMPT | 是否省略系统提示词 | true | 否 | 常用于已有上层 prompt 控制 |
| OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS | 是否自动清理会话 | true | 否 | 防止数据堆积 |
| OPENCODE_PROXY_CLEANUP_INTERVAL_MS | 清理任务执行间隔(毫秒) | 43200000 | 否 | 即 12 小时 |
| OPENCODE_PROXY_CLEANUP_MAX_AGE_MS | 会话最大保留时间(毫秒) | 86400000 | 否 | 即 24 小时 |
| OPENCODE_PROXY_PORT | Proxy 服务端口 | 10000(示例) | 否 | 默认未启用需手动设置 |
| OPENCODE_SERVER_PORT | OpenCode 服务端口 | 10001(示例) | 否 | 与 proxy 分离 |
| OPENCODE_USE_ISOLATED_HOME | 是否使用隔离的 HOME 目录 | false | 否 | 提升隔离性 |
| OPENCODE_PROXY_REQUEST_TIMEOUT_MS | 请求超时时间(毫秒) | 180000 | 否 | 默认 3 分钟 |
| OPENCODE_PROXY_DEBUG | 是否开启调试模式 | false | 否 | 开启后输出更多日志 |
| OPENCODE_ZEN_API_KEY | Zen API Key(可选) | 空 | 否 | 用于扩展功能 |
docker-compose.yml
我们使用的是预编译镜像,所以 - .:/home/node/project 必须要注释,否则反而会报错
1 | services: |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 opencode2api 和 子目录 |

运行
在浏览器中访问 http://<群晖IP>:10000/health 即可检查服务健康状态。

API 调用示例
更多更详细的示例可以参考官方文档:https://github.com/TiaraBasori/opencode2api/blob/main/docs/api-reference.md
Chat Completions
1 | curl -X POST http://<群晖IP>:10000/v1/chat/completions \ |

Responses API (带推理)
1 | curl -N -X POST http://<群晖IP>:10000/v1/responses \ |

Cherry Studio
添加新的模型服务

- API 密钥:对应的是环境变量
API_KEY的值 - API 地址:对应的是
http://群晖IP:{OPENCODE_PROXY_PORT},所以这里是http://192.168.0.197:10000

点 获取模型列表,如果设置无误,会看到模型

都可以添加

可以测试一下模型

注意事项
- 安全配置:建议保持
DISABLE_TOOLS=true,除非确实需要使用工具 - 端口冲突:确保
10000和10001端口未被占用 - 认证安全:请使用强密码作为
API_KEY,不要使用默认值 - 模型名称:使用完整模型
ID(如opencode/big-pickle)或别名(如gpt5-nano) - 首次启动:首次启动会自动拉取
OpenCode后端镜像,可能需要较长时间
除了 opencode2api 外,其实更简单的是直接注册 OpenCode Zen,并获取 API Key,一样可以使用免费模型

参考文档
TiaraBasori/opencode2api: 将运行在本地的 OpenCode 转换为 OpenAI 兼容 API,以在任何 OpenAI 客户端中使用免费模型
地址:https://github.com/TiaraBasori/opencode2apighcr.io/tiarabasori/opencode2api - Container Image | GitHub Container Registry
地址:https://github.com/users/TiaraBasori/packagesOpenCode - AI Coding Assistant
地址:https://opencode.ai