如何对应到各套餐
BYOK 在社区版免费、在团队版包含(每活跃开发 $10/月,另外支付您自己的 token 费用)、在企业版是两个选项之一(另一个是 Kodus 托管的 API 密钥)。
入门
BYOK 界面提供两条路径:从精选目录中选择一个推荐模型(最快路径,覆盖 90% 的情况),或手动配置任意提供商(用于自定义端点或未被精选的模型的逃生通道)。打开 BYOK 设置
保存前先测试。 测试按钮会通过一次低成本的元数据调用(不进行 LLM 推理)来探测您的提供商。它能在第一次代码审查被破坏前,捕获无效密钥、错误的基础 URL 以及网络问题。
推荐模型
这六个模型针对代码审查进行了精选。它们都在/organization/byok 的目录中展示,并预先调整好了合理的默认值(温度、最大输出 token 数,以及推理强度设为 medium)。
Claude Sonnet 4.6
质量与成本的最佳平衡Anthropic 最新的 Sonnet。自适应扩展思考、强大的跨文件分析,200K 上下文窗口。
- 提供商: Anthropic
- 模型 ID:
claude-sonnet-4-6 - 密钥: console.anthropic.com
Claude Opus 4.7
旗舰质量Anthropic 的顶级模型,应对最难的审查任务。1M 上下文,高端价格。
- 提供商: Anthropic
- 模型 ID:
claude-opus-4-7 - 密钥: console.anthropic.com
Gemini 3.1 Pro(自定义工具)
最大上下文Google 的旗舰模型,支持自定义工具。1M 上下文窗口 — 在大型 PR 和 monorepo 上最强。
- 提供商: Google Gemini
- 模型 ID:
gemini-3.1-pro-preview-customtools - 密钥: aistudio.google.com/apikey
GPT-5.4
快速且稳定OpenAI 最新的旗舰模型。低延迟可靠、知识面广,400K 上下文。
- 提供商: OpenAI
- 模型 ID:
gpt-5.4 - 密钥: platform.openai.com/api-keys
Kimi K2.6 Coding
专攻编码,价格便宜Moonshot AI 的编码调优模型。两种方案:开发者 API(按 token 付费)或 Kimi Code Plan(带专用端点的订阅)。
- 提供商: OpenAI 兼容(Moonshot AI)
- 模型 ID:
kimi-k2.6-coding - 密钥: platform.moonshot.ai 或 kimi.com/code
GLM 5.1
最佳订阅价值Z.ai 最新模型。两种方案:开发者 API(按 token 付费)或 GLM Coding Plan(统一定价的订阅)。
- 提供商: OpenAI 兼容(Z.ai)
- 模型 ID:
glm-5.1 - 密钥: z.ai console 或 z.ai/subscribe
**我们的默认推荐:**从 Claude Sonnet 4.6 开始以获得最佳整体代码审查体验。如果成本是优先考虑项,GLM 5.1 的 Coding Plan 或 Kimi K2.6 的 Kimi Code Plan 提供统一月费的订阅,能封顶您的月度开销。
方案选择器(GLM 5.1 和 Kimi K2.6)
Z.ai 和 Moonshot 都在按 token 付费的开发者 API 之外提供一个订阅方案,其端点与开发者 API 不同。这两个模型的精选卡片都带一个Plan 选择器,方便您在粘贴密钥前选择正确的端点。- GLM 5.1 (Z.ai)
- Kimi K2.6 (Moonshot AI)
| 方案 | 端点 | 密钥来源 | 适合场景 |
|---|---|---|---|
| Developer API | https://api.z.ai/api/paas/v4/ | z.ai/manage-apikey | 波动性负载,按 token 付费 |
| Coding Plan | https://api.z.ai/api/coding/paas/v4 | z.ai/subscribe | 稳定的团队流量,统一月费 |
手动配置
如果您想要的模型不在精选列表中(自定义端点、自托管 LLM,或我们尚未评测的提供商),请点击目录底部的手动配置。这会打开/organization/byok/manual?slot=main — 一个分步向导:
支持的提供商
- OpenAI
- Google Gemini
- Anthropic Claude
- Novita AI
- OpenRouter
- OpenAI Compatible
推理 / 扩展思考
所有六个推荐模型都支持推理。BYOK 表单在高级设置下提供一个 Thinking 开关(Off / Low / Medium / High / Custom),每个推荐模型默认为 Medium。预设级别
当您选择 Low / Medium / High 时,Kodus 会自动将该级别转换为每个提供商的原生格式:| 提供商 | ”medium” 如何映射 |
|---|---|
| Anthropic(Claude Sonnet 4.6 / Opus 4.7) | thinking: { type: "adaptive" } + outputConfig: { effort: "medium" } |
| Google(Gemini 3.1 Pro) | thinkingConfig: { thinkingLevel: "medium" } |
| OpenAI(GPT-5.4) | reasoningEffort: "medium" |
| OpenRouter | reasoning: { effort: "medium" } |
| OpenAI 兼容(Kimi K2.6 / GLM 5.1) | thinking: { type: "enabled" } — 二元开关,级别被忽略 |
Kimi 和 GLM 目前将推理暴露为单一的开/关标志。选择 Low、Medium 或 High 都会发出相同的 payload(启用 thinking)。当它们的 API 支持级别粒度时,Kodus 会开始转发。
自定义 JSON 覆盖
在 Thinking 开关中选择 Custom 会显示一个 JSON 文本框。直接粘贴提供商选项 — Kodus 会自动把它们包裹在当前提供商的命名空间下。您无需了解 Vercel AI SDK 的路由规则。 在以下情况使用:- 您需要为 Claude 设置特定的
budgetTokens值(而不是预设的 effort 映射) - 您希望针对 OpenAI 兼容提供商按模型启用/禁用 thinking
- 您想设置推理之外的字段 — 缓存、服务档位、安全设置、
user标签等。覆盖会被合并进providerOptions,因此任何适配器字段都可以透传 - 提供商发布了一个 Kodus 尚未映射的新字段
示例(直接粘贴 — 无需命名空间)
- Anthropic
- Google Gemini
- OpenAI
- OpenRouter
- OpenAI 兼容(Kimi、GLM 等)
将 Claude 的思考预算精确覆盖为 20,000 tokens:启用提示缓存(非推理示例):
手动指定命名空间(进阶用户)
如果您的 JSON 顶层已经包含一个已知的命名空间键(anthropic、google、openai、openrouter、openaiCompatible),Kodus 会保持原样不动。当您想混合多个提供商命名空间或希望显式书写时很有用:
| BYOK 提供商 | 命名空间键 |
|---|---|
anthropic | anthropic |
google_gemini / google_vertex | google |
openai | openai |
open_router | openrouter |
openai_compatible / novita | openaiCompatible |
注意事项
- 仅支持有效的 JSON。 遗漏逗号或尾随逗号会破坏解析,Kodus 会忽略覆盖。
- 优先级:JSON 覆盖会完全替换 effort 预设对应的命名空间块 — 如果您覆盖了
anthropic.thinking但漏掉anthropic.outputConfig,那个字段就不会被发送。OpenRouter routing(固定提供商 / 允许回退)是唯一例外:它会与您在openrouter下的覆盖进行深度合并。 - 未知提供商 = 不自动包裹。 如果您的 BYOK 提供商不在上表中,Kodus 会原样透传 JSON。这种情况很少见 — 仅在配置 Kodus 不识别的提供商时才会发生。
固定 OpenRouter 上游提供商
OpenRouter 是一个路由器 — 当您请求某个模型(例如moonshotai/kimi-k2.5)时,它会将调用转发到若干上游提供商之一(Moonshot 直连、Together、Groq、Fireworks、Novita……)。每次调用都可能落到不同的后端。这很方便,但会引入隐性的差异:
- 质量漂移 — 上游以不同精度运行(FP8、INT4、完整),对相同提示会给出微妙不同的输出
- 工具调用不一致 — 一些后端对函数调用的支持方式不同,会导致格式错误的工具使用
- 推理格式差异 — 一个上游支持
reasoning_effort,另一个只支持thinking.enabled,还有的两者都忽略 - 延迟波动 — 随着路由变化,p50 可能在两次调用之间从 800ms 跳到 4s
- 速率限制意外 — 您会在自己未显式选择的后端上撞到配额
如何固定
当您的 BYOK 提供商是 OpenRouter 时,Advanced settings 面板会显示一个 OpenRouter routing 区块,包含两个字段:- Pin providers (in order) — 上游名称的逗号分隔列表(例如
moonshot, together)。OpenRouter 会按顺序尝试,并使用第一个可用的。 - Allow fallbacks — 关闭时,若没有任何被固定的提供商可用,请求会硬失败。开启时(默认),OpenRouter 可以回退到任意其他服务该模型的上游。
进阶:原始 JSON 覆盖
如果您需要order 和 allow_fallbacks 之外的字段(例如 ignore、data_collection、require_parameters),请在 Advanced settings 中将 Thinking 切换到 Custom,并粘贴完整的路由 payload — 它会与任何推理配置一起被合并进 providerOptions:
并发与速率限制
maxConcurrentRequests 字段(高级设置下)限制 Kodus 并行向您的提供商发送的未完成请求数。多数情况下默认值即可 — 但有严格并发限制的订阅方案需要显式设置。
Kodus 预填的默认值
| 提供商 / 方案 | 预填值 | 原因 |
|---|---|---|
| GLM Coding Plan(Lite/Pro) | 1 | 订阅只允许一个请求在途。超过会触发 429。 |
| GLM Coding Plan(Max) | 1(请手动上调) | Max 最多允许 30,但我们默认使用安全值。请在高级设置中上调。 |
| Kimi Code Plan | 30 | Moonshot 在编码端点的文档上限。 |
| GLM Developer API | (空) | 限制按密钥伸缩;没有合理的全局默认值。 |
| Kimi Developer API | (空) | 随您的充值档位伸缩(Tier 1 ≈ 50,Tier 5 ≈ 1000)。 |
| Anthropic / OpenAI / Google / OpenRouter | (空) | 提供商自行强制 TPM/RPM;Kodus 不设上限。 |
何时调整
上调
- Moonshot/OpenRouter 上有高档位充值,并希望在大型 PR 上获得更高吞吐
- 把 GLM Coding Plan 升到了 Max 并希望用满 30 并发预算
- 多文件 PR 上审查感觉被串行化,而您并未看到 429
下调
- 您在审查日志中看到
429或Too much concurrency错误 - 提供商仪表板提示速率限制警告
- 希望在更多 PR 之间节省 Coding Plan 窗口(5 小时/每周)
与备用模型的交互。 当主模型遇到 429 并 Kodus 故障转移到备用模型时,备用模型自身的
maxConcurrentRequests 生效。将备用配置到不同提供商上并设一个宽松的值,是在主模型使用紧张订阅时吸收突发流量的好办法。最佳实践
安全
专用密钥
为 Kodus 创建独立的 API 密钥,便于审计使用情况和轮换密钥。
定期轮换
定期轮换密钥,并在 BYOK 设置中更新。
监控使用
检查您的提供商仪表板是否有异常模式。
安全存储
切勿将密钥提交到代码仓库。Kodus 对密钥进行静态和传输中加密存储。
备用策略
- 为主模型和备用模型使用不同的提供商(例如主用 Anthropic,备用 Google)。可防止提供商特定的中断。
- 带有紧张并发限制的订阅(GLM Coding Plan Lite/Pro、Kimi Code Plan)不适合单独使用 — 请配对一个按 token 付费的备用,避免突发 PR 把资源吃光。
故障排查
点击 Test 时出现 'Invalid API key'
点击 Test 时出现 'Invalid API key'
- 复制密钥时不要带多余的空格、引号或尾随换行。
- 确认计费已启用且账户有余额。
- 对于 GLM Coding Plan / Kimi Code Plan 密钥,请确认卡片中选择了匹配的Plan — 订阅密钥不适用于开发者 API 端点,反之亦然。
点击 Test 时出现 'Endpoint not found'
点击 Test 时出现 'Endpoint not found'
- 验证基础 URL 与提供商完全匹配(对某些端点来说,尾部斜杠很重要)。
- 对于 OpenAI 兼容的提供商,模型端点通常是
{baseURL}/models。
审查时模型未找到(密钥测试已通过)
审查时模型未找到(密钥测试已通过)
- 测试按钮会验证密钥/端点,但不会验证具体的模型 ID。如果您输入了一个不存在的模型(拼写错误),第一次真实审查就会失败。
- 保存前请对照提供商目录核对模型 ID。
'Rate limited' 或 'Too much concurrency'
'Rate limited' 或 'Too much concurrency'
- 在高级设置中降低最大并发请求数。
- 在 GLM Coding Plan Lite/Pro 上,保持 1 个并发。如果需要更高吞吐,升级到 Max(30 并发)。
- 在 Kimi Code Plan 上,文档上限为 30 并发。
自托管环境变量未显示
自托管环境变量未显示
- 如果 Kodus 通过
.env(自托管固定模式)配置,BYOK 界面会显示一个蓝色信息横幅,标明当前活动的提供商/模型 — 出于安全考虑,密钥不会显示。 - 在
.env之上保存 BYOK 配置时会弹出确认对话框再覆盖。
高或意外的成本
高或意外的成本
- 推理会增加 token 消耗。如果成本飙升,将 Thinking 从 Medium 降到 Low,或把主模型切换到更便宜的模型。
- 查看提供商仪表板中的按模型分解。
- 在提供商端设置月度上限。
常见问题
我可以随时切换提供商吗?
我可以随时切换提供商吗?
可以。更改会在下一次审查生效 — 无需重新部署。
如果我的 API 密钥用完积分会怎样?
如果我的 API 密钥用完积分会怎样?
如果配置了备用模型,审查会自动切换到备用。没有备用时审查会失败并返回错误。始终配置备用模型。
主/备用系统如何工作?
主/备用系统如何工作?
默认情况下,主模型处理每次审查。如果失败(速率限制、5xx、超时),Kodus 会在备用模型上重试一次。您只为真正处理审查的那个提供商付费。
我应该为主和备用使用相同的提供商吗?
我应该为主和备用使用相同的提供商吗?
不应该。使用不同的提供商可防止提供商特定的中断。常见搭配:Anthropic 主 + Google 备用,或 GLM Coding Plan 主 + Anthropic 备用来应对流量尖峰。
你们是否安全存储我们的 API 密钥?
你们是否安全存储我们的 API 密钥?
是的。密钥在静态和传输中加密,从不以明文记录。BYOK 状态端点从不返回原始密钥。
我可以使用自托管 LLM(例如 Ollama、vLLM)吗?
我可以使用自托管 LLM(例如 Ollama、vLLM)吗?
可以 — 通过手动向导中的 OpenAI Compatible 提供商。输入端点的基础 URL、暴露的模型 ID,以及占位 API 密钥(多数自托管运行时忽略密钥请求头,但仍要求提供)。