使用 Opencode 接入私有大模型 API(Dify / OpenAI Compatible)

8 阅读3分钟

使用 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.baseURLDify 的 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 服务发现
mdnsDomainmDNS 自定义域名
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 + 企业私有大模型

的完整开发体系。