lyramilk-copilot-endpoint
在 VS Code Chat 中使用自定义 AI 模型。
本扩展将任意兼容 OpenAI Chat Completions 协议的服务接入 VS Code,并支持配置多个模型档案、工具调用、视觉输入和本地请求日志。扩展不依赖 GitHub Copilot,也不会修改 GitHub Copilot 的模型或服务。
系统要求
- VS Code
1.90 或更高版本
- 一个兼容 OpenAI Chat Completions 协议的接口
- 该接口对应的模型名称和 API Key
本扩展使用 VS Code 原生 Chat 和 Language Model API。是否能显示 Chat 界面取决于 VS Code 当前版本;不要求安装或登录 GitHub Copilot。
安装后配置
- 打开 VS Code 命令面板(
Ctrl+Shift+P)。
- 执行
lyramilk: 配置模型。
- 在“模型配置列表”中填写一个或多个模型档案。
- 选择日志保存文件夹。
- 单击“保存配置”。
- 打开 VS Code Chat,在模型选择器中选择刚才填写的“展示名称”。
只有在模型选择器中选中了本扩展注册的模型,请求才会发送到配置的第三方接口。选择其他模型时,请求仍由对应的扩展或 VS Code 服务处理。
模型配置项
每个模型档案包含以下配置:
| 配置项 |
说明 |
| 展示名称 |
显示在 VS Code 模型选择器中的名称,可自由填写,例如“公司内网模型”或“本地 DeepSeek”。 |
| 接口地址 |
完整的 Chat Completions 请求地址,例如 https://api.example.com/v1/chat/completions。 |
| 上游模型名称 |
实际发送给服务端的 model 字段,例如 deepseek-chat。 |
| API Key |
当前模型接口使用的密钥。留空时保留已经保存的密钥。 |
| 温度 |
采样温度,取值范围为 0 到 2。 |
| 最大 Token |
单次响应允许使用的最大输出 Token 数,必须大于 0。 |
| 支持工具调用 |
服务端支持工具调用时启用。 |
| 支持视觉输入 |
服务端支持图片输入时启用。 |
“展示名称”只用于 VS Code 界面显示;“上游模型名称”才会作为请求中的 model 参数发送。多个档案可以使用不同的接口和 API Key。
接口要求
扩展向配置的地址发送以下形式的请求:
POST /chat/completions
Content-Type: application/json
Authorization: Bearer <API_KEY>
请求正文使用 OpenAI-compatible 格式,主要字段包括:
{
"model": "your-model",
"temperature": 0.2,
"max_tokens": 2048,
"messages": []
}
普通文本响应需要返回 choices[0].message.content。启用工具调用时,服务端还应支持 tools、tool_choice 和 choices[0].message.tool_calls。启用视觉输入时,服务端应支持消息内容中的 image_url 数据。
不同服务商对最大 Token、工具调用和视觉输入的支持可能不同,请以服务商的接口文档为准。
请求记录
配置日志文件夹后,扩展会按本地日期创建子目录,例如:
日志文件夹/
└── 2026-09-01/
└── 2026-09-01 14-30-00.123.log
日志包含请求时间、模型、接口地址、实际请求 JSON、原始响应、响应内容或错误信息、耗时和接口返回的 Token 用量。API Key 使用 VS Code SecretStorage 保存,不会写入请求日志或响应日志。
扩展同时维护两种记录:最近 100 条请求会保存到 VS Code 全局状态中,供命令查看;详细请求和响应会写入所选日志文件夹中的普通文本 .log 文件。
可通过命令面板执行以下命令:
lyramilk: 查看请求记录:打开最近 100 条请求的 JSON 历史。
lyramilk: 清空请求记录:清空扩展保存的最近请求历史。该操作不删除已经写入日志文件夹的文本日志。
常见问题
模型没有出现在选择器中
确认模型档案已经填写展示名称、接口地址和上游模型名称,并重新执行 lyramilk: 配置模型 保存。然后在 Chat 的模型选择器中查找对应的展示名称。
请求提示没有配置 API Key
确认 API Key 已填写并重新保存配置。每个模型档案可以使用独立的 API Key;留空表示保留该档案已有的密钥。
接口返回格式错误
确认接口地址指向 Chat Completions 端点,并检查响应是否包含 choices[0].message.content。如果启用了工具调用或视觉输入,还要确认服务端支持相应的 OpenAI-compatible 字段。
开发
如需从源码运行扩展:
npm install
npm run compile
随后在 VS Code 中按 F5 启动 Extension Development Host。
许可证
MIT