Kai CE基于 VS Code 解决的问题Web 版本的 VS Code 将 本扩展将模型配置与 API Key 明文保存在
然后在 VS Code 中通过「开发主机:重新加载窗口」或 F5 调试加载本扩展目录。 配置在
从
|
| 字段 | 说明 |
|---|---|
vendor |
固定为 customendpoint(致敬官方命名;本扩展注册 ID 为 kaicustomendpoint) |
name |
分组名称,模型选择器中用于区分同供应商的多个分组 |
apiKey |
API Key,支持两种写法:明文(如 "sk-xxxx")或引用("${input:chat.lm.secret.<id>}",从 kaicustomendpoint.secrets 查找);留空则不带 Authorization 头 |
apiType |
chat-completions(默认)/ responses / messages(均完整支持) |
url |
Base URL,支持显式 API 路径;自动拼接 /v1 + API 路径 |
models[] |
模型列表,字段与 customendpoint 一致(id / name / url / apiType / maxInputTokens / maxOutputTokens / contextWindow / toolCalling / vision / thinking / streaming / requestHeaders / modelOptions) |
如果不想将 API Key 直接写在模型配置中,可以使用引用语法将密钥分离到 kaicustomendpoint.secrets:
引用语法 ${input:chat.lm.secret.<id>} 与 VS Code Copilot 的 chatLanguageModels.json 兼容,迁移时无需修改 apiKey 引用。
自定义请求头
requestHeaders 可用于自定义网关的鉴权方式(如 x-api-key),并允许覆盖 authorization 与 api-key:
{
"id": "my-model",
"requestHeaders": {
"x-api-key": "my-secret"
}
}
当前支持范围
- ✅
chat-completionsAPI:文本、工具调用(tool calls)、图片输入(vision)、流式输出 - ✅
responsesAPI:文本、工具调用(function call)、图片输入(vision)、流式输出 - ✅
messagesAPI(Anthropic 兼容):文本、工具调用(tool use)、图片输入(vision)、流式输出 - ✅ 内联补全(inline completion / ghost text):FIM(prompt+suffix)格式,独立于 Copilot 登录/订阅
内联补全配置
通过 kaicustomendpoint.inlineCompletion 配置补全(可选,未配置则不注册补全 provider):
{
"kaicustomendpoint.inlineCompletion": {
"pattern": "**",
// 可选:限定语言(字符串或数组)
// "language": ["typescript", "javascript"],
// 可选:提示词模板,支持 {prefix} / {suffix} / {languageId};缺省为标准 FIM
// "prompt": "/* {languageId} */\n{prefix}",
"model": {
"apiKey": "${input:chat.lm.secret.deepseek}",
"id": "deepseek-v4-flash",
"name": "fim-deepseek-v4",
"url": "https://api.deepseek.com/beta/completions",
"defaultReasoningEffort": ""
}
}
}
补全请求使用 FIM(Fill-in-the-Middle)格式,body 为 { model, prompt, suffix, max_tokens, stream }:
prompt为光标前的文本(前缀),suffix为光标后的文本(后缀)url必须是全地址(如https://api.deepseek.com/beta/completions),不做路径拼接- 自定义
prompt模板时,渲染结果写入prompt字段,suffix字段置空 - 前缀默认保留 2048 token、后缀 512 token(按完整行裁剪,保持代码结构)
- 请求失败静默(不弹错误提示),与 Copilot 无订阅时行为一致
已知限制
- API Key 明文存储(设计使然,解决 Web 刷新丢失问题);可通过
kaicustomendpoint.secrets+ 引用语法分离密钥 editTools/ Thinking Effort picker 依赖 proposed API(chatProvider),需通过 vsix 安装生效;发布到 Marketplace 时需移除enabledApiProposals- 内联补全为一次性返回完整补全(stable API 不支持 AsyncIterable 渐进式渲染,那是 Copilot 内部私有通道)