Skip to content

OpenCode

开源的终端 AI 编码 Agent,最大特点是 provider 完全可配——同一个界面里可以随时切 Claude、GPT、Gemini、DeepSeek,非常适合配合中转站使用。

安装

bash
curl -fsSL https://opencode.ai/install | bash
bash
npm install -g opencode-ai
bash
brew install sst/tap/opencode

配置快米兔 API

配置文件:~/.config/opencode/opencode.json(Windows:%APPDATA%\opencode\opencode.json)。

方案 A:Anthropic 协议(跑 Claude 系模型,推荐)

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "kmt-claude": {
      "npm": "@ai-sdk/anthropic",
      "name": "快米兔 API (Claude)",
      "options": {
        "baseURL": "https://api.52pay.com/v1",
        "apiKey": "<您的令牌>"
      },
      "models": {
        "claude-opus-4-8": { "name": "Claude Opus 4.8" },
        "claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
        "claude-haiku-4-5-20251001": { "name": "Claude Haiku 4.5" }
      }
    }
  },
  "model": "kmt-claude/claude-sonnet-4-6"
}

方案 B:OpenAI 兼容协议(跑任意模型)

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "kmt": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "快米兔 API",
      "options": {
        "baseURL": "https://api.52pay.com/v1",
        "apiKey": "<您的令牌>"
      },
      "models": {
        "gpt-5.5": { "name": "GPT-5.5" },
        "claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
        "gemini-3-pro-preview": { "name": "Gemini 3 Pro" },
        "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" },
        "kimi-k3": { "name": "Kimi K3" },
        "glm-5.2": { "name": "GLM-5.2" }
      }
    }
  },
  "model": "kmt/claude-sonnet-4-6"
}

两种方案可以并存

kmt-claudekmt 两个 provider 都写进 provider 对象,交互模式里按 Tab 或用 /models 随时切。Claude 系走 Anthropic 协议能拿到更完整的缓存与工具语义,其它模型走 OpenAI 兼容协议。

这里的 baseURL 要带 /v1

和 Claude Code 不同:OpenCode 用的是 Vercel AI SDK,SDK 内部拼的是 /messages/chat/completions 这样的相对路径,所以 baseURL 必须写到 /v1

验证

bash
cd ~/your-project
opencode

进入后输入一句 say pong,能正常返回即可。

也可以直接跑:

bash
opencode run "解释这个项目的目录结构"

常用操作

操作说明
/models切换模型
/new开新会话(清上下文)
/share生成会话分享链接
/undo撤销上一次文件修改
Tab在 plan / build 模式间切换

常见错误

现象原因 / 处理
provider 列表里看不到快米兔JSON 写错了(尾逗号、引号),用 jq . opencode.json 校验
401apiKey 写错,或该分组无权限
model not foundmodels 里写的 ID 站内不存在,对照 模型与分组
模型能选但一调就 404baseURL 漏了 /v1
Claude 模型没命中缓存换成方案 A(Anthropic 协议)再试

配套阅读

文档持续更新 · 以 站内价格页 与控制台实际配置为准