Kilo Code 自动补全(Autocomplete)完整指南:FIM 模型、触发方式与 BYOK 配置
Kilo Code 自动补全Autocomplete完整指南FIM 模型、触发方式与 BYOK 配置【免费下载链接】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/kilocodeKilo Code 是 Kilo 开源 Agent 工程平台中的 VS Code 编程智能体扩展其 AI 自动补全Autocomplete功能在你输入代码时提供上下文相关的内联建议帮助开发者更快地完成代码编写。本文以 Kilo 仓库官方文档 packages/kilo-docs/pages/code-with-ai/features/autocomplete/index.md 为主体结合 kilo-vscode 扩展源码与 kilo-gateway 网关源码系统讲解自动补全的工作原理、支持的 FIM 模型、自动/手动两种触发方式、状态栏与费用追踪、与 GitHub Copilot 的冲突处理以及通过 BYOK 免费使用 Codestral 的完整配置流程。自动补全如何工作Fill-in-the-Middle 与 Kilo GatewayKilo Code 的自动补全基于Fill-in-the-MiddleFIM中间填充补全能力实现请求统一经由Kilo Gateway路由。它的核心思路是扩展不仅分析光标之前的代码前缀 prefix还会读取光标之后的代码后缀 suffix从而生成更贴合上下文的内联建议。从源码看这一逻辑集中在 packages/kilo-vscode/src/services/autocomplete/fim.ts 的generateFim函数中它通过 CLI 后端的 SDK 调用client.kilo.fim()这一 SSE 流式接口把prefix与suffix、provider、model、maxTokens固定为 256、temperature一起发给网关并逐块chunk消费返回内容同时累计输入/输出 token 与成本const { stream } await client.kilo.fim( { prefix, suffix, provider: info.providerID, model: info.modelID, maxTokens: FIM_MAX_TOKENS, // 256 temperature: info.temperature, }, { signal, sseMaxRetryAttempts: 1, onSseError: ... }, )其中temperature等模型参数来自自动补全模型定义表 packages/kilo-gateway/src/autocomplete.ts而网关侧的路由决策在 packages/kilo-gateway/src/fim.ts 的resolveFimTarget中完成provider 为空或为kilo时走 Kilo 官方 FIM 接口mistral走MISTRAL_API_KEY直连inception则携带INCEPTION_API_KEY直连 Inception 的 FIM 端点。在扩展端AutocompleteServiceManager 是自动补全的总调度器它根据当前设置决定注册经典 FIM 内联补全 Provider 还是 Next Edit Provider并负责状态栏、snooze暂停、费用追踪与错误退避ErrorBackoff的管理。可选的 FIM 模型你可以通过Settings → Models → Autocomplete model在两种 FIM 模型中切换模型模型 ID提供方计费方式Codestralmistralai/codestral-2508Mistral AI默认模型通过 Kilo 账户计费通过 BYOK 添加自己的 Mistral Codestral 密钥后可免费使用Mercury Edit 2inception/mercury-edit-2Inception目前仅支持BYOKBring Your Own Key方式Kilo Gateway 支持即将上线需要注意的是源码中维护的模型定义比文档列举的更丰富。packages/kilo-gateway/src/autocomplete.ts 中实际上注册了 6 个模型条目除上述两种 FIM 模型外还包括走 Kilo GatewayNext Edit管线、支持多行编辑与跳转编辑交互的inception/mercury-next-editkind: edit以及 Mistral 与 Inception 两家直连BYOK变体mistralai/codestral-2501也仍是网关侧的兜底默认模型。可以推断文档面向的是普通用户可选的两种主流模型而 Next Edit 与直连变体是仓库内部已经实现、文档尚未展开介绍的能力。Mercury Edit 2 的 BYOK 限制Mercury Edit 2 目前只能通过 BYOK 使用Kilo Gateway 支持还在路上。如果你在未配置有效 Inception BYOK 密钥的情况下选择 Mercury Edit 2自动补全请求将直接失败——此时应切回 Codestral或先到 Kilo 平台的 BYOK 页面 添加 Inception 密钥。触发方式自动触发与手动快捷键自动触发Auto-trigger自动补全默认开启。输入代码时扩展自动在光标处显示内联建议幽灵文本 ghost text按Tab即可接受建议。对应设置项为kilo-code.new.autocomplete.enableAutoTrigger默认值为true见 packages/kilo-vscode/src/services/autocomplete/settings.ts 中的buildAutocompleteSettingsMessage。从 AutocompleteServiceManager.ts 的注册逻辑可见只有当enableAutoTrigger为真且未处于 snooze 状态时内联补全 Provider 才会注册到 VS Code且当所选模型为kind: edit时注册的是 Next Edit Provider否则注册经典 FIM Provider。手动触发CmdL / CtrlL按CmdLMac或CtrlLWindows/Linux可以在光标位置手动请求一次补全适合在需要精确建议的时刻使用。⚠️ 该快捷键依赖 VS Code 设置项kilo-code.new.autocomplete.enableSmartInlineTaskKeybinding而此开关默认关闭。扩展通过setContext把该值写入 VS Code 上下文kilocode.autocomplete.enableSmartInlineTaskKeybinding只有它为真时快捷键才生效。手动触发时扩展会以InlineCompletionTriggerKind.Invoke的上下文直接调用内联补全 Provider并自动插入返回的第一条建议。其他相关设置项同一配置段kilo-code.new.autocomplete下还包含enableChatAutocomplete聊天框自动补全开关默认关闭provider/model自动补全的 provider 与模型未设置时由运行时解析为默认模型DEFAULT_AUTOCOMPLETE_MODELsnoozeUntilsnooze暂停的截止时间戳由状态栏点击写入。以上配置解析与校验逻辑参见 settings.ts。状态栏状态指示与费用追踪扩展在 VS Code 状态栏显示自动补全状态指示器实现见 AutocompleteStatusBar.ts包括当前自动补全状态active激活/ snoozed已暂停文本形如Autocomplete (12)暂停时附加(snoozed)后缀累计成本追踪悬停状态栏项可看到 Markdown tooltip内含本次会话完成补全次数、会话开始/结束时间与累计费用费用通过humanFormatSessionCost格式化模型与 Provider 信息tooltip 同时展示当前模型名与 Provider如 Kilo Gateway无可用 Provider 警告当 CLI 后端未连接、无法发起 FIM 请求时状态栏显示警告文本并在 tooltip 中给出跳转自动补全设置的命令链接。Snooze / Unsnooze暂停 / 恢复点击状态栏项即可**临时暂停snooze自动补全再次点击则恢复unsnooze**并重新启用建议。源码实现上snooze 会把截止时间写入snoozeUntil配置并卸载内联补全 Provider同时启动定时器到达截止时间后自动执行unsnooze()恢复服务。GitHub Copilot 冲突检测扩展会自动检测GitHub Copilot的内联建议是否已启用并弹出冲突警告showIncompatibilityExtensionPopup见 AutocompleteServiceManager.ts。弹窗提供两个动作禁用 Copilot 的补全执行github.copilot.completions.disable或禁用 Kilo Code 自动补全执行kilo-code.new.autocomplete.disable。为获得最佳体验建议关闭 Copilot 的内联补全避免两个补全源互相干扰。通过 BYOK 免费使用 CodestralMistral 配置指南Codestral 是默认自动补全模型。如果你希望不消耗 Kilo 账户余额可以按 mistral-setup.md 的流程把 Mistral 的 Codestral 免费额度接入 Kilo前置条件一个 Kilo Code 账户免费注册一个已注册的 Mistral AI 账户以及Codestral API 密钥。操作步骤进入 Mistral AI Studio 的 Codestral 页面登录 Mistral AI console在侧边栏 Code 分组下点击Codestral。生成 API 密钥点击Generate API Key按钮创建新的 Codestral 密钥。复制密钥生成后点击密钥旁的复制按钮。注意Codestral API 密钥与常规 Mistral La Plateforme API 密钥相互独立必须从Codestral专区生成。在 Kilo 平台通过 BYOK 添加密钥登录 Kilo 平台 → 进入BYOK 页面侧边栏Account下→ 点击Add Your First Key已有密钥则点击Add Key→ Provider 选择Codestral→ 粘贴密钥 → 点击Save。BYOK 的通用配置说明参见 getting-started/byok。验证自动补全生效无需在扩展内再做任何配置。打开 VS Code在任意代码文件中输入内容即可看到由 Codestral 驱动的内联幽灵文本按Tab接受建议。状态栏会显示 ProviderKilo Gateway并追踪累计费用——使用 BYOK 时费用由 Mistral 直接计费Kilo 余额上显示为 $0.00。底层请求链路配置 Codestral BYOK 密钥后请求链路为你的编辑器 → Kilo Gateway携带你的密钥→ MistralKilo Gateway 检测到你的 BYOK 密钥后自动使用该密钥路由自动补全请求对应源码 kilo-gateway/src/fim.ts 中DIRECT_FIM_ENV定义的MISTRAL_API_KEY直连分支费用由 Mistral 直接向你收取Kilo 不叠加任何加价若 BYOK 密钥无效请求会直接失败不会回退到 Kilo 自有的密钥。常见问题排查自动补全不出现确认 Kilo Code 设置中自动补全处于启用状态默认开启并确认已在扩展内登录 Kilo Code。密钥不生效确保复制的是CodestralAPI 密钥而非 La Plateforme 密钥可在 Mistral console 的 Codestral 页面核验。Kilo 余额出现扣费说明你尚未配置 BYOK请求默认消耗 Kilo 积分通过 BYOK 添加 Codestral 密钥后请求即改走你自己的 Mistral 账户。最佳实践与使用技巧何时用 Chat何时用 AutocompleteChat 更适合多文件改动、大规模重构或需要向模型解释意图的场景Autocomplete 更适合上下文已经足够清晰的快速局部编辑。实用技巧追求精确时使用手动触发需要特定位置建议时用快捷键而非依赖自动触发把建议当作草稿快速接受建议后再微调——修正一条 90% 正确的建议通常比精心构造一条提示词更快用注释引导自动补全触发补全前先写一行描述意图的注释或先敲出函数签名自动补全会帮你补全实现体留意状态栏 tooltip悬停状态栏项可查看自动补全状态与费用追踪保持代码清晰结构良好的代码、函数上方的注释、描述性的变量与函数命名都会显著提升建议质量。关联功能Code Actions面向常见编码任务的上下文菜单选项Bring Your Own Key (BYOK)在 Kilo 平台配置自有模型密钥的通用指南。扩展阅读源码路径自动补全模型定义与解析见 packages/kilo-gateway/src/autocomplete.tsFIM 请求生成见 packages/kilo-vscode/src/services/autocomplete/fim.ts服务调度与状态栏见 packages/kilo-vscode/src/services/autocomplete/AutocompleteServiceManager.ts 与 packages/kilo-vscode/src/services/autocomplete/AutocompleteStatusBar.ts。【免费下载链接】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),仅供参考