Skip to main content

概述

Kilo Code 是一款开源 AI 编程 Agent,支持 VS Code、JetBrains 和命令行。本教程以 VS Code 扩展为例,通过 Kilo Code 的自定义供应商功能连接 EvoLink。

更喜欢命令行?

请改用独立的 Kilo Code CLI 教程。
本页使用 OpenAI Compatible 作为快速接入方案。它可以自动读取 EvoLink 的模型列表,且认证方式与 EvoLink 的 OpenAI 兼容接口一致。配置完成后,你可以在同一个 EvoLink 供应商下切换多个 Claude 模型,无需重复创建多套供应商。
Kilo Code 也支持 Anthropic Messages。该协议更接近 Claude 原生格式,但不会自动拉取模型,配置步骤也更多;本页在协议选择中说明两者差异。

使用前准备

1. 安装 Kilo Code

在 VS Code 扩展市场搜索 Kilo Code: AI Coding Agent, Copilot, and Autocomplete。打开扩展详情页后,点击安装按钮右侧的下拉箭头,选择 Install Pre-Release Version(安装预发布版本)。这是 Kilo Code 当前官方安装指引推荐的版本通道。
  • 官方扩展 ID:kilocode.kilo-code
  • 本教程按 Kilo Code 7.4.15 验证
  • Kilo Code 7.4.15 要求 VS Code 1.105.1 或更高版本
安装后,VS Code 侧边栏会出现 Kilo Code 图标。
  1. 登录 EvoLink 控制台
  2. 进入 API Keys 页面并创建 Key。
  3. 复制生成的 Key 并妥善保存。
打开 Kilo Code,点击齿轮进入 Settings,选择 Providers 标签页,滚动到底部并点击 Custom provider。通过界面添加的 Provider 会保存到全局配置文件;后续手动补充模型能力时,编辑的也是这一份配置。 按下面填写:
API Key 只填裸 Key,不要添加 Bearer 前缀。 Kilo Code 会自动生成 Authorization: Bearer ... 请求头。如果填成 Bearer sk-xxx,实际会发送双重 Bearer,并通常返回 401 unauthorized本教程已验证的 Base URL 是 https://direct.evolink.ai/v1 Kilo Code 也支持某些供应商使用完整端点 URL,因此不能仅凭 URL 中包含 /chat/completions 判断配置一定错误;连接 EvoLink 时请直接使用本页给出的已验证地址。

第二步:添加模型

Base URL 和 API Key 有效后,Kilo Code 会请求 EvoLink 的 /v1/models,然后显示可搜索、可勾选的候选模型列表。 在搜索框输入 claude,只勾选你需要的模型,例如: 选择完成后点击 Submit。这些模型才会被添加到 EvoLink 供应商,并出现在聊天区域的模型选择器中。
EvoLink 的 /v1/models 同时包含语言、图像、视频、音频等模型,数量会随平台更新而变化。模型列表较长是正常现象;不要全选,使用 claude 搜索并添加需要的模型即可。

第三步:补齐模型能力

EvoLink 的 /v1/models 当前主要提供模型 ID,不包含 Kilo Code 进行上下文管理所需的完整能力信息。对于自定义模型,建议手动设置:
  • name:模型显示名
  • tool_call: true:声明模型具备工具调用能力
  • reasoning: true:标记模型支持推理能力
  • limit.context:上下文窗口
  • limit.output:Kilo Code 单次请求输出预算

编辑同一份全局配置

点击 Settings 顶栏的 Global Config 按钮,打开全局配置文件进行编辑(文件不存在时会自动创建)。对应文件通常是:
  • macOS / Linux:~/.config/kilo/kilo.jsonc
  • Windows:C:\Users\<username>\.config\kilo\kilo.jsonc
第一步通过界面创建 Provider 后,Kilo Code 已经在 provider.evolink 中保存协议、Base URL 和 API Key 等设置。这里仅补充 models 字段。
下面的 evolink 必须与第一步填写的 Provider ID 完全一致。请把示例中的 models 合并到界面已经生成的 provider.evolink 中,不要用整个示例替换原有 Provider,否则会删除已保存的 Base URL、API Key 和协议设置。不要把 limit 写到顶层,也不要另建一个名为 openai-compatible 的供应商。
把下面的模型配置合并到 provider.evolink.models
tool_call: true 只是在配置中声明模型支持工具调用,不会自动授予读取文件、修改文件或运行终端命令的权限。是否需要逐次批准,仍取决于 Kilo Code 的权限设置和当前 Agent。

为什么统一使用 32K 输出预算?

Fable 5、Sonnet 5 和 Opus 4.8 的模型最大输出可达到 128K,Haiku 4.5 的 Anthropic 官方最大输出为 64K。但是 Kilo Code 默认会把实际请求上限封顶为 32,000 tokens,所以直接把 limit.output 写成 128000 并不会自动获得 128K 输出。 32K 足以覆盖大多数编码任务,也能为会话历史保留更多上下文。对于普通 Code 任务,还可以进一步降到 16K。
只有确实需要超长输出时,才考虑提高 limit.output,并同时设置 KILO_EXPERIMENTAL_OUTPUT_TOKEN_MAX。超长输出会占用上下文、增加等待时间和费用,不建议作为默认配置。

未设置 limit 会怎样?

  • limit.context 未知时会解析为 0,Kilo Code 无法正常判断何时压缩会话。
  • limit.output0 时,实际请求通常回落到内部默认的 32K。
  • 长会话可能持续增长,直到上游返回上下文超限错误。
因此,自定义模型应明确配置 contextoutput

第四步:验证聊天与工具调用

先在当前项目根目录创建 kilo-evolink-test.txt,文件内容只写一行:
再在模型选择器中选择 EvoLink / Claude Sonnet 5,然后发送只读任务:
配置成功时应同时满足:
  • Kilo Code 调用了文件读取工具,而不是只返回普通聊天文本。
  • 返回内容为 EvoLink Kilo test
  • 没有出现 401404model_not_found
  • 没有出现模型不支持工具调用的提示。
首次读取文件时,Kilo Code 可能弹出工具权限确认;批准本次只读操作后继续即可。只问“你是谁”只能验证文本回复,不能证明 Agent 的文件和终端工具可用。

按 Agent 分配模型

不需要为不同模型重复创建多个 EvoLink Provider。把多个模型添加到同一个 evolink 供应商后,可以通过以下方式分工:
  1. 打开 Settings → Models → Model per Mode
  2. 给 Plan、Code、Explore 等 Agent 选择不同模型。
  3. 会话中也可以通过聊天框下方的模型选择器或 /models 临时切换。
例如: 也可以直接在 kilo.jsonc 中配置:
子 Agent 默认继承父 Agent 当前使用的模型;只有需要固定模型时才单独覆盖。

协议选择:OpenAI Compatible 还是 Anthropic Messages?

EvoLink 当前对页面列出的 Claude 模型同时开放两种协议。对于第一次配置,建议使用本页的 OpenAI Compatible 方案。
Kilo Code 的 Anthropic Messages Provider 默认使用 x-api-key(该行为由底层 AI SDK 决定,Kilo 官方文档未作说明,后续版本可能变化),而本页验证的是 EvoLink 所需的 Bearer 认证流程。若改用 Anthropic Messages,需要另行配置 EvoLink 的 Bearer 请求头;本教程不覆盖该认证设置,不能只切换 Provider API 后直接沿用。

排错

401 unauthorized

检查:
  • API Key 是否有效或已被禁用。
  • API Key 前后是否有空格。
  • 是否误加了 Bearer 前缀;Kilo Code 会自动添加。

404 not found

先把 Base URL 恢复为本教程已验证的地址:
然后确认模型 ID 正确;不要根据“路径一定会被重复拼接”的假设修改 URL,因为 Kilo Code 也支持完整端点 URL,实际行为取决于 Provider 配置。

model_not_found

模型 ID 必须与 /v1/models 完全一致。返回模型选择页面重新搜索并添加,不要自行删除日期后缀或添加 anthropic/ 前缀。

模型出现在候选列表,但聊天模型选择器里没有

/v1/models 拉取到模型后,还需要勾选模型并点击 Submit。候选列表中的模型不会自动全部加入当前 Provider。

可以聊天,但不会读取或修改文件

确认模型配置中包含:
然后重新执行第四步中的只读任务。

长会话突然报上下文超限

检查 provider.evolink.models.<模型ID>.limit.context 是否存在且不为 0。没有上下文窗口时,Kilo Code 无法正常触发会话压缩。

配置了 128K 输出,但请求仍只有 32K

这是 Kilo Code 的默认内部上限。使用 32K 作为常规配置;只有明确需要超长输出时才调整 KILO_EXPERIMENTAL_OUTPUT_TOKEN_MAX

使用 CLI 辅助诊断

如果同时安装了 Kilo CLI,可以运行:
第一条检查配置结构,第二条确认模型是否已被 Kilo Code 加载,以及解析到的工具调用和 token 限制。这两条命令都不会向 EvoLink 发起聊天请求,因此不能证明 API Key、网络连接或模型调用一定成功;仍需完成第四步的实际读取测试。

参考资料