ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Kilo Code 接入 OpenRouter:统一 API、消息变换与 Provider 路由配置完全指南

Kilo Code 接入 OpenRouter:统一 API、消息变换与 Provider 路由配置完全指南 Kilo Code 接入 OpenRouter统一 API、消息变换与 Provider 路由配置完全指南【免费下载链接】kilocodeKilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kilocodeOpenRouter 是一个聚合型 AI 平台通过单一 API 即可访问来自 Anthropic、OpenAI、Google 等多家厂商的数百种语言模型。本篇指南基于 Kilo Code 官方文档与仓库源码完整讲解如何在 Kilo CodeVS Code 扩展与 CLI中配置 OpenRouter从获取 API Key、写入kilo.json配置文件到启用 middle-out 消息变换、精细控制 Provider 路由并深入源码揭示配置项在底层的传递与生效机制。OpenRouter 是什么为什么在 Kilo Code 中使用它OpenRouter 的核心价值在于一个 API、数百模型你不再需要为每一家模型厂商分别注册账号、分别管理 API Key也无需在 Kilo Code 中反复切换不同提供方配置。通过统一入口你可以随时在模型之间横向对比、快速实验不同厂商与规格的模型而配置只需一份。在 Kilo Code 中OpenRouter 作为一等公民的 Provider 被内置支持且拥有专门的插件实现与配置通道具体体现在Provider 插件注册packages/core/src/plugin/provider.ts中的ProviderPlugins列表包含OpenRouterPlugin见 provider.ts专用 AI SDK 对接openrouter/ai-sdk-provider通过createOpenRouter工厂函数创建 SDK 实例见 openrouter.ts自动附加来源标识头插件会自动为请求注入HTTP-Referer: https://kilo.ai/与X-Title: Kilo Code两个请求头见 openrouter.ts便于 OpenRouter 侧识别流量来源。此外OpenRouter 的 API 与 OpenAI 兼容协议对齐仓库将其 AI SDK Provider 归类到openaiCompatible这一通用的参数降级路径见 provider-options.ts因此大部分参数都会被原样透传。第一步获取 OpenRouter API Key在配置 Kilo Code 之前先完成 OpenRouter 账号与密钥的准备工作注册 / 登录访问 OpenRouter 官网使用 Google 或 GitHub 账号完成登录打开密钥页面进入 OpenRouter 的 keys 页面页面中应已存在一个 API Key若没有则新建一个复制密钥将生成的 API Key 复制保存供下一步配置使用。注意API Key 是敏感凭证请妥善保管不要提交进版本控制。在 Kilo Code 中配置 OpenRouterKilo Code 提供了 VS Code 扩展与 CLI 两种使用形态二者的配置入口不同但底层都统一落在kilo.json配置文件上。方式一VS Code 扩展图形化打开Settings齿轮图标进入Providers选项卡添加 OpenRouter 并填入你的 API Key 即可。扩展会将这份配置持久化到你的kilo.json配置文件中。你也可以跳过界面直接编辑该文件——文件格式与下面的 CLI 方式完全一致。方式二CLI环境变量或配置文件CLI 场景下API Key 有两种注入方式方式 A环境变量export OPENROUTER_API_KEYyour-api-key方式 Bkilo.json配置文件配置文件默认位于~/.config/kilo/kilo.json也可以在项目目录下使用./kilo.json当前工作目录优先。在provider.openrouter节点下声明环境变量来源{ provider: { openrouter: { env: [OPENROUTER_API_KEY], }, }, }随后设置默认模型。模型 ID 采用openrouter/模型ID的命名空间形式例如使用 Anthropic 的 Claude Sonnet 4{ model: openrouter/anthropic/claude-sonnet-4-20250514, }设置完成后Kilo Code 会从声明的环境变量中读取密钥并以上述模型作为会话默认模型。从源码结构看CLI 侧还会对 OpenRouter 做额外的默认请求头合并DEFAULT_HEADERS与扩展端行为保持一致见 provider.ts。按模型定制参数options透传机制kilo.json中每个模型下的options是一个任意透传区域options下的所有内容都会被原样转发给 OpenRouter AI SDK作为providerOptions.openrouter传入。这意味着 OpenRouter 文档中任何受支持的 SDK 参数都可以不经 Kilo Code 特殊封装而直接使用。这一行为有清晰的源码依据在配置降级器中openrouter/ai-sdk-provider被映射为openaiCompatible处理器其provider(options)方法在剥离baseURL、headers、body等通用字段后将剩余内容原样放入settings见 provider-options.ts最终透传给底层 SDK。启用 middle-out 消息变换Supported Transforms当提示词超出模型的最大上下文窗口时OpenRouter 提供可选的middle-out 消息变换它会智能地裁掉对话中间部分的冗余内容尽量保留开头与结尾的关键信息从而在有限上下文内获得更好的生成质量。需要说明的是middle-out 变换并未在 VS Code 扩展中暴露为独立的 UI 开关。要启用它请在kilo.json中对应模型的options下设置transforms{ provider: { openrouter: { models: { anthropic/claude-sonnet-4-20250514: { options: { transforms: [middle-out], }, }, }, }, }, }transforms接受字符串数组可按需扩展为多个变换的组合。配置后该字段随providerOptions.openrouter原样送达 OpenRouter 服务端执行。精细控制 Provider 路由Provider RoutingOpenRouter 的另一个招牌能力是Provider 路由同一个模型 ID 背后往往有多个推理服务商如 Anthropic 直连、AWS Bedrock、Azure 上的 Anthropic 等OpenRouter 可以按你的偏好自动选择或过滤。Provider 路由同样没有暴露为扩展的专用 UI 控件需要在模型的options下填写 OpenRouter 的provider路由字段。以下是一个覆盖主要路由控制维度的完整示例{ provider: { openrouter: { models: { anthropic/claude-sonnet-4-20250514: { options: { provider: { sort: price, // price | throughput | latency order: [Anthropic, Google], // 指定 provider 优先级顺序 only: [Anthropic], // 仅允许列出的 provider data_collection: deny, // allow | deny是否允许数据收集 zdr: true, // zero data retention零数据保留 }, }, }, }, }, }, }各字段说明字段取值作用sortprice/throughput/latency路由排序策略按价格、吞吐或延迟挑选 providerorderprovider 名称数组显式指定 provider 的偏好优先级onlyprovider 名称数组将候选 provider 限定为列表内的服务商data_collectionallow/deny控制该次请求是否允许数据被收集zdrtrue/false是否启用零数据保留Zero Data Retention省略任一字段即回落到你 OpenRouter 账号的默认设置所有字段都会被无校验地透传完整的支持取值列表以 OpenRouter 官方 Provider 路由文档为准。源码视角OpenRouter 插件的额外处理逻辑除了参数透传仓库中的 OpenRouter 插件还做了两件值得注意的事见 openrouter.ts来源标识为所有 OpenRouter 请求注入HTTP-Referer与X-Title头标识请求来自 Kilo Code禁用失效模型别名openai/gpt-5-chat-latest与openai/gpt-5-chat是 OpenRouter 特有的 OpenAI 聊天别名在通用路径上无法正常工作插件会将其enabled置为false见 openrouter.ts。代码注释明确说明这是OpenRouter 特有的、在通用路径上不可用的别名且不会影响使用相同模型 ID 的自定义 provider。同时CLI 侧在加载模型目录时对包含/openrouter的 baseURL 会原样保留、不会重复拼接路径段见 models.ts保证网关类 baseURL 的正确性。实用提示与注意事项模型选择OpenRouter 提供数量庞大的模型池建议结合任务类型代码生成、Agent 规划、长上下文摘要等与各模型定价实际跑几个候选再做取舍计费OpenRouter 按底层模型的价格计费具体费率以 OpenRouter 的 Models 页面为准提示词缓存Prompt Caching部分底层 provider 支持提示词缓存以降低重复前缀的成本支持范围随 OpenRouter 的模型列表变化使用前请查阅对应模型的文档说明配置生效范围~/.config/kilo/kilo.json为全局配置./kilo.json为项目级配置项目级配置通常优先于全局配置模型 ID 命名空间通过 OpenRouter 使用模型时model字段与provider.openrouter.models中的键都必须使用openrouter/前缀否则无法命中对应配置。至此你已经掌握了在 Kilo Code 中接入 OpenRouter 的完整路径获取密钥、双端配置、按模型注入 middle-out 变换与 Provider 路由参数并理解了这些参数如何经由providerOptions.openrouter通道直达 OpenRouter SDK。无论是快速切换模型实验还是对推理服务商做精细化管控这份配置都可以直接落地复用。【免费下载链接】kilocodeKilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kilocode创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表