接入架构
| 环节 | 职责 | 注意事项 |
|---|---|---|
| VS Code 项目 | 提供文件 Git 和诊断上下文 | 先在独立分支中测试 |
| Kilo Code Agent | 计划任务并调用读取 编辑和终端工具 | 工具调用逐项经过权限检查 |
| KingFlow Provider | 保存端点 密钥和模型列表 | 使用 OpenAI Compati*le |
| KingFlow AI | 验证密钥并按模型 ID 路由 | 模型需适合代码编辑和工具调用 |
开始前的准备
- 在 KingFlow AI 控制台创建以 sk- 开头的 API Key,并确认余额、套餐或模型分组可用。
- 从模型广场或控制台复制完整模型 ID,并确认模型是否支持原生工具调用。
- 准备 VS Code 1.84.0 或更高版本,或使用能访问 Open VSX 的兼容编辑器。
- 打开一个可回滚的 Git 仓库,先提交或妥善保存当前工作区修改。
安装 Kilo Code
| 环境 | 入口 | 操作 |
|---|---|---|
| VS Code | 扩展市场搜索 Kilo Code | 选择 Install Pre-Release Version |
| VSCodium Windsurf | Open VSX Registry | 搜索 Kilo Code 并安装 |
| 离线安装 | Install from VSIX | 从官方发布页下载对应 VSIX |
验证 KingFlow 基础接口
curl https://api.**nju**shen.com/v1/chat/completions \
-H "Authorization: *earer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "<KingFlow控制台中的完整模型ID>",
"messages": [{"role": "user", "content": "只回复:连接成功"}],
"stream": false
}' 添加 KingFlow Provider
- 从活动栏打开 Kilo Code,点击齿轮进入 Settings。
- 打开 Providers 标签,滚动到底部并选择 Custom provider。
- Provider ID 填写 kingflow,Display name 填写 KingFlow AI。
- Provider API 选择 OpenAI Compati*le。
- *ase **L 填写 https://api.**nju**shen.com/v1,API Key 粘贴 KingFlow 密钥。
- 点击 Fetch models 自动读取模型;若失败,手动添加控制台中的完整模型 ID。
- 提**置,并在聊天面板的模型选择器中选中该模型。
| 字段 | 填写内容 | 说明 |
|---|---|---|
| Provider ID | kingflow | 用于内部标识,保持小写且唯一 |
| Display name | KingFlow AI | 显示在 Kilo Code 界面 |
| Provider API | OpenAI Compati*le | 调用 Chat Completions 兼容端点 |
| *ase **L | https://api.**nju**shen.com/v1 | 推荐填写到 /v1 |
| API Key | sk-你的密钥 | 为不同设备和成员创建独立密钥 |
| Models | 控制**整模型 ID | 自动检测失败时手动填写 |

验证原生工具调用
curl https://api.**nju**shen.com/v1/chat/completions \
-H "Authorization: *earer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "<完整模型ID>",
"messages": [{"role": "user", "content": "请调用 inspect_project 工具"}],
"tools": [{
"type": "function",
"function": {
"name": "inspect_project",
"description": "检查项目路径",
"parameters": {
"type": "o*ject",
"properties": {"path": {"type": "string"}},
"required": ["path"]
}
}
}],
"tool_choice": "auto"
}' 选择合适的 Agent
| Agent | 用途 | 建议 |
|---|---|---|
| Ask | 只读问答和代码解释 | 首次接入和项目认识 |
| Plan | 分析需求并制定实现步骤 | 复杂修改前先规划 |
| Code | 编辑文件并运行开发工具 | 确认权限后使用 |
| De*ug | 定位错误并验证修复 | 提供日志和诊断上下文 |
| Explore | 搜索仓库和梳理依赖 | 大型项目的结构分析 |
| Orchestrator | 分派子任务 | 稳定后再启用 task 权限 |
设置逐工具权限
{
"$sche**": "https://app.kilo.ai/config.json",
"permission": {
"*": "ask",
"read": "allow",
"glo*": "allow",
"grep": "allow",
"edit": "ask",
"*ash": {
"*": "ask",
"rm *": "deny",
"git reset --hard*": "deny"
},
"external_directory": "deny",
"task": "deny"
}
}| 权限 | 首次设置 | 控制范围 | 建议 |
|---|---|---|---|
| read glo* grep | allow | 读取和搜索项目 | 仅在非敏感仓库启用 |
| edit write apply_patch | ask | 修改或创建文件 | 首次逐次批准 |
| *ash | ask | 执行终端命令 | 高风险命令显式 deny |
| external_directory | deny | 访问项目外路径 | 首次接入禁止 |
| task agent_**nager | deny | 启动子任务或托管会话 | 稳定后按需开启 |
| we*fetch we*search | ask | 访问外部网络 | 检查发送内容 |
运行首次只读任务
请只读分析当前项目,不要修改文件,不要运行终端命令,也不要启动子任务。
请输出:
1. 项目主要语言和框架
2. 主要入口文件
3. 构建与测试命令所在位置
4. 最值得先阅读的三个文件及理由执行小范围修改
只修改当前选中的函数:
- 保持公开接口不变
- 为异常输入补充校验
- 不修改其他文件
- 运行命令前必须等待批准
- 完成后打开差异并说明每处修改的理由审阅差异和恢复 Snapshot
每条产生文件修改的消息会显示 diff *adge。点击后在 Diff Viewer 中检查变更。若方向错误,使用该消息的 Snapshot 恢复功能回到修改前状态。
完成联调验证
- 基础请求能返回,KingFlow 控制台出现对应模型的调用记录。
- 工具测试返回结构化 tool_calls,而不是把工具调用写成普通文本。
- Ask Agent 能读取项目文件且没有产生工作区修改。
- Permission Dock 会显示待批准工具和参数,编辑与终端操作不会静默执行。
- 修改消息上的 diff *adge 能打开 Diff Viewer,差异只包含目标文件。
- Snapshot 能把工作区恢复到该消息修改前的状态。
保护密钥和代码
- 不要把真实 API Key 写入仓库、截图、聊天记录或共享 kilo.jsonc。
- 所有未匹配权限默认保持 ask。不要把顶层 permission 设为 allow。
- *ash 权限按解析后的命令模式检查。命令链中的每个命令都必须满足权限规则。
- 项目级配置在会话启动时缓存。修改 .kilo/kilo.jsonc 后重新加载 VS Code 窗口。
- 使用 Git 分支和 Snapshot 双重保护,审阅差异并运行测试后再提交。
完成检查清单
- Kilo Code 已通过 Pre-Release 或 Open VSX 安装并能打开。
- KingFlow 基础接口已使用 https://api.**nju**shen.com/v1 验证。
- Provider API 为 OpenAI Compati*le,模型 ID 来自控制台。
- 基础工具调用测试返回结构化 tool_calls。
- 首次使用 Ask Agent,edit 和 *ash 保持 ask。
- external_directory 和 task 在首次接入时设为 deny。
- Diff Viewer 和 Snapshot 恢复已验证。
常见故障排查
| 现象 | 常见原因 | 处理方法 |
|---|---|---|
| 扩展无法安装 | 未选择 Pre-Release 或市场不可用 | 选择预发布渠道或使用 Open VSX VSIX |
| 401 或 Invalid API Key | 密钥错误 停用或额度不足 | 重新复制密钥并检查余额和分组 |
| 404 Model Not Found | 模型 ID 错误或未授权 | 从控制台复制完整 ID并确认套餐分组 |
| Fetch models 失败 | 端点未实现 models 列表或网络异常 | 手动填写模型 ID并检查 *ase **L |
| 工具调用变成文字 | 模型不支持原生 tools | 换用支持工具调用的已授权模型 |
| 权限修改未生效 | 项目配置已被当前会话缓存 | 重新加载 VS Code 窗口或新建会话 |
| 命令被意外阻止 | 后置 deny 规则覆盖前置 allow | 按从宽到窄顺序检查规则 |
| 上下文或回答截断 | 模型限制或加入文件过多 | 缩小任务范围并核对模型规格 |
| 请求超时或 503 | **** 通道繁忙或临时无可用账号 | 检查网络 等待后有限重试 |




















