OpenCode 可以通过 @ai-sdk/openai-compatible 连接 XiuRouter。API Key 通过 /connect 保存,项目配置只声明 provider、Base URL 和模型。
前置条件
- OpenCode 已可正常启动。
- 已创建一把 OpenCode 专用 XiuRouter API Key。
- 已从 XiuRouter 当前目录复制模型 ID。
保存 API Key
- 在 OpenCode 中运行
/connect。 - 选择
Other。 - provider ID 填
xiurouter。 - 粘贴 XiuRouter API Key。
不要把真实 Key 写入 opencode.json。
添加 provider
在项目或 OpenCode 当前读取的 opencode.json 中合并:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"xiurouter": {
"npm": "@ai-sdk/openai-compatible",
"name": "XiuRouter",
"options": {
"baseURL": "https://router-api.xiu.ai/v1"
},
"models": {
"YOUR_MODEL_ID": {
"name": "YOUR_MODEL_ID"
}
}
}
}
}npm 使用 @ai-sdk/openai-compatible,让 OpenCode 走 Chat Completions。需要更多模型时,按当前目录逐项添加。
验证
- 在 OpenCode 中运行
/models。 - 选择
xiurouter/YOUR_MODEL_ID。 - 发起一个只读小任务。
- 在 XiuRouter“使用记录”确认模型、状态和费用。
普通回复成功后,再验证文件读取、工具调用和编辑。不同模型的工具能力不同,不要给所有模型套同一组能力参数。
常见失败
| 现象 | 处理 |
|---|---|
/models 没有 XiuRouter |
确认 provider ID 在 /connect 和 opencode.json 中同为 xiurouter |
401 |
重新运行 /connect 更新 Key,不要把 Key 填进项目配置 |
| 请求格式不兼容 | 确认使用 @ai-sdk/openai-compatible,不是专用 OpenAI provider |
| 模型不可用 | 从 XiuRouter 当前目录复制精确 ID,并检查 Key 的模型限制 |
回滚
从 opencode.json 删除 provider.xiurouter,再通过 /connect 删除对应凭据。切回原模型后新建会话验证。
来源与核对日期
本文按 OpenCode 官方 provider 文档和 XiuRouter 当前 Chat Completions 入口核对,日期为 2026-08-19。本轮未运行真实 OpenCode 计费任务。