结合 UberLLM 的 OpenCode:opencode.json 中更便宜的提供商
将一个 "uberllm" provider 添加到 ~/.config/opencode/opencode.json,使用 npm "@ai-sdk/openai-compatible",baseURL https://api.uberllm.dev/v1 以及你想要的模型,提供你的 UberLLM key (环境变量或 /connect),然后使用 /models 选择 uberllm/<model id>。
步骤
- 在您的 密钥页面 上创建一个密钥并充值。
- 打开(或创建)
~/.config/opencode/opencode.json。仅限一个项目,请改用项目文件夹中的opencode.json。 - 添加提供商:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"uberllm": {
"npm": "@ai-sdk/openai-compatible",
"name": "UberLLM",
"options": {
"baseURL": "https://api.uberllm.dev/v1",
"apiKey": "{env:UBERLLM_API_KEY}"
},
"models": {
"moonshotai/kimi-k3": { "name": "moonshotai/kimi-k3" },
"deepseek/deepseek-v4.1-flash": { "name": "deepseek/deepseek-v4.1-flash" },
"deepseek/deepseek-v4.1-flash": { "name": "deepseek/deepseek-v4.1-flash" }
}
}
},
"model": "uberllm/moonshotai/kimi-k3",
"small_model": "uberllm/deepseek/deepseek-v4.1-flash"
}
- 将密钥提供给 OpenCode。要么设置配置读取的变量:
export UBERLLM_API_KEY=ull_your_key
或者在 OpenCode 中运行 /connect,滚动到 Other,输入 uberllm 作为提供商 ID 并粘贴密钥。该 ID 必须与 provider 中的名称完全匹配。如果您使用 /connect,可以删除 apiKey 行。
- 启动
opencode,输入/models并选择一个 UberLLM 模型。
为什么模型 ID 有两个斜杠
OpenCode 将模型命名为 <provider>/<model>,并且 UberLLM ID 已经包含一个斜杠 (deepseek/…)。OpenCode 只根据第一个斜杠进行分割,因此 uberllm/moonshotai/kimi-k3 表示提供商 uberllm,模型 moonshotai/kimi-k3。models 下的 key 必须是 UberLLM ID,与它在 uberllm.dev/models 上显示的一模一样。
告诉 OpenCode 上下文大小
OpenCode 使用上下文大小来知道何时压缩长会话。为每个模型添加一个 limit,使用其模型页面上的数字:
"moonshotai/kimi-k3": {
"name": "moonshotai/kimi-k3",
"limit": { "context": 1000000, "output": 64000 }
}
上面的数字是一个示例;请复制您所选模型的真实数字。
使用正确的包
使用 "npm": "@ai-sdk/openai-compatible"。那个包调用 /v1/chat/completions,这是所有 UberLLM 模型测试所用的路由。
故障排除
ProviderModelNotFoundError: 您选择的模型不在models列表中,或者那里的密钥与"model"中的 ID 不同。请使用准确的 UberLLM ID 添加它。- 401 / no answer: 当启动 OpenCode 的 shell 中未设置变量时,
{env:UBERLLM_API_KEY}会变为空。请导出它,或者使用/connect。 /connectkey not used: 您在那里输入的提供商 ID 不是uberllm。请运行opencode auth list查看存储了什么。- 404: 检查
baseURL是否以/v1结尾,并且 npm package 是与 openai 兼容的那个。 - 402 insufficient credits: 请在 credits page 上添加积分。
继续阅读
- 参考页面:OpenCode 文档
- Kilo Code 设置 (相同的配置格式)
- UberLLM 上的 Claude Code
- 最便宜的 Claude API