使用 Opencode 接入私有大模型 API(Dify / OpenAI Compatible)
随着 AI Coding 工具越来越多,很多团队希望能够 接入自己的私有模型平台(如 Dify、OpenAI Compatible API、自建推理服务等),从而实现:
- 使用 公司内部模型
- 降低 API 成本
- 保护数据隐私
- 统一 AI 能力平台
本文介绍如何使用 Opencode 接入 自定义 API Provider,并连接 Dify 私有部署模型。
一、什么是 Opencode
Opencode 是一个 AI Coding CLI 工具,可以帮助开发者:
- 在 Terminal 中调用 AI
- 进行代码生成
- 自动化开发流程
- 与不同 AI Provider 集成
Opencode 支持通过 Provider 插件机制连接各种模型服务,例如:
- OpenAI
- Azure OpenAI
- 本地 LLM
- OpenAI Compatible API(如 Dify)
二、安装 Opencode
Opencode 提供一键安装脚本。
MacOS / Linux
curl -fsSL https://opencode.ai/install | bash
安装完成后可以验证:
opencode --version
如果正常输出版本号说明安装成功。
三、登录 Opencode
安装完成后,需要进行认证登录:
opencode auth login
系统会提示输入:
Provider ID
API Key
这里的 Provider ID 就是我们接下来在配置文件中定义的 Provider 名称。
四、配置自定义 Provider
Opencode 支持通过 config.json 自定义 Provider。
创建配置文件:
~/.config/opencode/config.json
示例配置如下:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"xm": {
"npm": "@ai-sdk/openai-compatible",
"name": "xm",
"options": {
"baseURL": "http://model.dify.ai.srv/v1"
},
"models": {
"xjzl/MiniMax-M2.5": {
"name": "xjzl/MiniMax-M2.5"
}
}
}
}
}
配置说明:
| 字段 | 说明 |
|---|---|
| provider.xm | 自定义 provider 名称 |
| npm | 使用 OpenAI Compatible SDK |
| options.baseURL | Dify 的 OpenAI API 地址 |
| models | 可使用的模型列表 |
五、配置 Dify API
如果你使用的是私有部署的 Dify,通常会提供一个 OpenAI Compatible API 地址,例如:
http://model.dify.ai.srv/v1
同时需要生成 API Key。
在登录 Opencode 时输入:
Provider ID: xm
API Key: your_api_key
六、测试调用模型
完成配置后,可以直接使用 Opencode 调用模型。
例如:
opencode chat
或者执行代码生成:
opencode code "write a python quicksort"
如果一切正常,Opencode 会调用:
xm / xjzl/MiniMax-M2.5
返回模型生成结果。
七、配置 Opencode Server
除了 CLI 方式,Opencode 还支持 启动本地服务器模式,用于:
- 提供 HTTP API
- 提供 Web UI
- 允许局域网设备访问
- 与浏览器或前端应用集成
可以通过 server 配置项自定义服务器行为。
例如在配置文件中增加:
~/.config/opencode/config.json
{
"$schema": "https://opencode.ai/config.json",
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"mdnsDomain": "myproject.local",
"cors": ["http://localhost:5173"]
}
}
配置说明:
| 参数 | 说明 |
|---|---|
| port | 服务器监听端口 |
| hostname | 监听主机名 |
| mdns | 是否启用 mDNS 服务发现 |
| mdnsDomain | mDNS 自定义域名 |
| cors | 允许跨域访问的来源 |
1 监听端口(port)
用于指定 Opencode 服务器监听的端口,例如:
4096
访问地址:
http://localhost:4096
2 监听地址(hostname)
指定服务器绑定的地址,例如:
0.0.0.0
含义:
- 允许 局域网设备访问
- 不仅仅是 localhost
如果未设置并启用 mdns,默认也是 0.0.0.0。
3 启用 mDNS(mdns)
mDNS(Multicast DNS)可以让 同一局域网内的设备自动发现服务。
开启后,其他设备可以通过域名访问你的 Opencode 服务,例如:
http://opencode.local
适合:
- 本地开发
- 内网 AI 工具
- 团队共享开发环境
4 自定义 mDNS 域名(mdnsDomain)
默认域名:
opencode.local
可以自定义,例如:
myproject.local
这样局域网设备可以访问:
http://myproject.local:4096
适用于:
- 同一网络运行 多个 Opencode 实例
- 避免域名冲突
5 跨域配置(cors)
如果需要从 浏览器或前端应用访问 Opencode Server,需要配置 CORS。
例如:
"cors": ["http://localhost:5173"]
表示允许:
http://localhost:5173
这个前端应用访问 Opencode API。
注意:
CORS 必须填写 完整 origin:
协议 + 域名 + 端口
例如:
#指定域名
https://app.example.com
#放开全部权限
*
八、完整调用流程
整体流程如下:
Opencode CLI
│
│
▼
Provider (xm)
│
│ OpenAI Compatible
▼
Dify API
│
▼
LLM Model
(xjzl/MiniMax-M2.5)
九、常见问题
1 API 连接失败
检查:
- baseURL 是否正确
- API Key 是否有效
- Dify 服务是否运行
例如测试:
curl http://model.dify.ai.srv/v1/models
2 Provider 找不到
确认 config.json 路径正确:
~/.config/opencode/config.json
3 模型名称错误
模型名称必须与 Dify 提供的名称一致:
xjzl/MiniMax-M2.5
十、适用场景
这种方案非常适合:
- 企业 私有大模型平台
- 使用 Dify / FastGPT / OneAPI
- 本地部署 LLM
- 统一 AI Gateway
开发者可以:
- 在 CLI 中使用 AI
- 避免依赖 OpenAI 官方 API
- 使用内部算力资源
十一、总结
通过 Opencode 的 Provider 扩展机制,我们可以非常方便地接入:
- 私有模型
- 自建 AI 平台
- OpenAI Compatible API
配合 Dify,可以快速搭建一个:
AI Coding CLI + 企业私有大模型
的完整开发体系。