OhMyGPT
编程工具

opencode

在 opencode 中添加 OhMyGPT,用一个 Key 使用模型列表里的所有模型。

opencode 通过它标准的 OpenAI 兼容包把 OhMyGPT 接入为 provider。在 opencode.json 里加一段配置,opencode 就能用你的 OhMyGPT Key 调用 Claude、GPT、GLM 以及模型列表里的其他模型;整套配置可以先用 ohmygpt/mock 免费测试。

配置

把 provider 添加到 ~/.config/opencode/opencode.json 可对所有项目生效;添加到项目根目录的 opencode.json 则只对该项目生效:

~/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ohmygpt": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OhMyGPT",
      "options": {
        "baseURL": "https://api.ohmygpt.com/v1",
        "apiKey": "{env:OHMYGPT_API_KEY}"
      },
      "models": {
        "anthropic/claude-sonnet-5-5": {
          "limit": { "context": 1000000, "output": 128000 }
        },
        "anthropic/claude-haiku-5-5": {
          "limit": { "context": 1000000, "output": 128000 }
        }
      }
    }
  },
  "model": "ohmygpt/anthropic/claude-sonnet-5-5",
  "small_model": "ohmygpt/anthropic/claude-haiku-5-5"
}
  • baseURL 以 /v1 结尾,这个包会拼上 /chat/completions。
  • {env:OHMYGPT_API_KEY} 从环境变量读取 Key,配置文件里不存放任何密钥。
  • models 下的每个键都是一个 OhMyGPT 模型 ID。limit 告诉 opencode 何时压缩对话;数值从哪里来,见选择模型。
  • model 和 small_model 的格式是 <provider key>/<model ID>。opencode 用 small_model 处理生成会话标题之类的轻量任务。

导出 Key 并启动 opencode:

export OHMYGPT_API_KEY="sk-..."
opencode

运行 /models 可以在你列出的模型之间切换。

检查连接

opencode 发送的是 Chat Completions 请求。向免费测试模型 ohmygpt/mock 发送一个:

curl https://api.ohmygpt.com/v1/chat/completions \
  -H "Authorization: Bearer $OHMYGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "ohmygpt/mock", "messages": [{"role": "user", "content": "ping"}]}'
{
  "id": "chatcmpl-ohmygpt-mock",
  "object": "chat.completion",
  "model": "mock",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "This is a mock reply from OhMyGPT. Your integration works; switch to a real model when ready."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 15, "completion_tokens": 17, "total_tokens": 32 }
}

想免费试用 opencode 本身,在 models 下添加 "ohmygpt/mock": {},再用 /models 选中它。mock 会调用 opencode 声明的第一个工具,拿到结果后用文本回答。账户完成充值后即可使用 mock 模型。

选择模型

所有对话模型都能在 opencode 中使用。列出它们,连同要填进 limit 的上下文长度和输出长度:

curl -s https://api.ohmygpt.com/v1/models \
  | jq -r '.data[] | select(.available and any(.protocols[]?; .id == "openai-completions"))
           | "\(.id)\tcontext=\(.context_length)\toutput=\(.limits.max_completion_tokens)"'
anthropic/claude-sonnet-5-5	context=1000000	output=128000
openai/gpt-5.5	context=1050000	output=128000
zhipu/glm-5.3	context=1048576	output=131072
...

各模型的价格见模型页面。

问题排查

现象原因解决办法
401,提示 Invalid API key运行 opencode 的 shell 中没有设置 OHMYGPT_API_KEY,{env:...} 取到的是空值导出该变量并重启 opencode
所有请求都返回 404baseURL 缺少 /v1改为 https://api.ohmygpt.com/v1
404,提示模型不存在models 下的键不是 OhMyGPT 的模型 ID从 GET /v1/models 复制 ID
/models 里没有这个 provideropencode 没有加载这个文件,或 JSON 格式有误检查文件路径并校验 JSON
402余额或 Key 的消费额度已用完到账单页面充值

每个响应都带有 X-Request-ID 头,每个请求的费用可以在用量页面查看。

本页目录