VS Code LLM API:将编辑器连接至你自己的密钥
你可以通过向扩展提供三个值来将 VS Code 指向任意 OpenAI 兼容接口:base URL、API 密钥和模型 ID。本页面展示了这些值的填写位置以及如何先进行测试。
更新于

要点
- 在修改编辑器之前先用 curl 测试密钥,以便确定是哪一侧出了问题。
- Continue 和 Cline 等扩展需要相同的三个值:base URL、密钥和模型 ID。
- 使用模型 ID
uncensored和基础 URL https://api.codingllmapi.com/v1 - 该 API 仅提供聊天补全,因此需要单独补全接口的功能可能无法使用。
开始前的准备工作
VS Code LLM API 配置并不神奇。VS Code 本身不与语言模型通信。扩展程序负责通信,而扩展程序需要知道请求发送的位置以及身份验证方式。任何支持自定义 OpenAI 兼容提供商的扩展均可使用此服务。
首先收集这三个值。
- Base URL:
https://api.codingllmapi.com/v1 - 模型 ID:
uncensored - API 密钥:已在 API 密钥页面创建。注册后,你只需点击一次即可领取 $0.50试用额度,有效期 7 天,无需绑定银行卡。
密钥在请求中作为 Authorization: Bearer <key> 传递。一旦将密钥粘贴到扩展设置中,扩展会自动添加该标头。
步骤 1:在编辑器外部测试密钥
在扩展中调试比在终端中调试更慢。在 VS Code 中打开终端(Windows 和 Linux 按 Ctrl+`,macOS 按 Cmd+`),将密钥存储在环境变量中,然后运行两次调用。第一次列出模型,第二次发送一个小型聊天请求。
export LLM_API_KEY="paste-your-key-here"
curl -s https://api.codingllmapi.com/v1/models \
-H "Authorization: Bearer $LLM_API_KEY"
curl -s https://api.codingllmapi.com/v1/chat/completions \
-H "Authorization: Bearer $LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}],"max_tokens":10}'
如果第二次调用返回包含消息的 JSON,则密钥、URL 和模型 ID 均正确。后续出现的任何问题都是扩展设置问题,而非你的账户问题。如果在此处出现身份验证错误,请检查是否复制了完整的密钥,且没有多余的引号或空格。
步骤 2:配置扩展
扩展设置会随版本变化,因此请将下方的字段名视为指南,如果标签不同,请查阅扩展自身的文档。这三个值始终相同。
Continue
Continue 是适用于 VS Code 和 JetBrains 的开源助手。它从你的主目录读取配置文件。较新版本使用 YAML 文件,旧版本使用 config.json。模型条目在两种格式中携带相同的字段。JSON 格式如下所示:
{
"models": [
{
"title": "Uncensored",
"provider": "openai",
"model": "uncensored",
"apiBase": "https://api.codingllmapi.com/v1",
"apiKey": "paste-your-key-here"
}
]
}
提供商设置为openai,因为通信格式遵循 OpenAI 标准。仅apiBase用于指示 Continue 连接到不同的服务器。保存后重新加载窗口,并在聊天面板的下拉菜单中选择模型。
Cline
Cline 是一个代理扩展程序,可在你批准后读取文件、编辑文件并执行终端命令。打开其设置,选择名为 OpenAI Compatible 的提供商。填写 Base URL、API 密钥和模型 ID。粘贴https://api.codingllmapi.com/v1、你的密钥以及uncensored。保存后启动任务并批准其首次工具调用。
其他扩展
许多工具遵循相同的模式,名称如“自定义接口”、“OpenAI 兼容”或“自带密钥”。寻找接受 Base URL 的字段。如果扩展程序仅提供固定供应商列表且没有 URL 字段,则无法将其指向此 API。
可用与不可用的功能
此 API 实现了 POST /v1/chat/completions 和 GET /v1/models。这涵盖了聊天面板、编辑命令、解释代码操作和代理循环。它并未涵盖编辑器可能要求的所有功能。
| 编辑器功能 | 预期结果 |
|---|---|
| 关于打开的文件进行聊天 | 可用 |
| 选择代码并要求编辑 | 可用 |
| 带有工具调用的代理任务 | 如果扩展使用标准的 tools 字段或其自身的提示词格式,则可用 |
| 行内 Tab 补全 | 取决于扩展。如果需要单独的补全或中间填充接口,此 API 未提供 |
| 代码库嵌入和索引 | 此处不可用,因为没有嵌入接口。请使用不同的嵌入源或关闭索引 |
| 图像输入或生成 | 不可用,API 仅支持文本 |
如果扩展在表格中的某项功能上失败,请在设置中关闭该功能,而不是假设你的密钥有误。要了解该模型在编程工作中的表现,请参阅 用于编码代理的 uncensored 模型 页面。
扩展之外:从编辑器运行的脚本
使用 VS Code 中的密钥并非只有扩展一种方式。许多开发者在项目中保留一个小脚本,将文件发送给模型并打印答案,然后从集成终端运行它或将其绑定到任务。这使你能完全控制提示词,并避免扩展隐藏指令带来的意外。
以下是一个简短的 Python 脚本,用于审查你传入的任何文件路径。它从环境变量读取密钥,因此不会有秘密信息进入你的仓库。
import os
import sys
from openai import OpenAI
client = OpenAI(
base_url="https://api.codingllmapi.com/v1",
api_key=os.environ["LLM_API_KEY"],
)
path = sys.argv[1]
with open(path, encoding="utf-8") as f:
source = f.read()
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "Review the code. List bugs first, then style issues. Be brief."},
{"role": "user", "content": source},
],
temperature=0.2,
)
print(resp.choices[0].message.content)
运行 python review.py src/app.py。大文件可处理至 100,000 token 上下文窗口,但较小的提示词响应更快且成本更低。若希望答案逐字显示,请传入 stream=True 并在收到时打印每个 chunk 的 delta.content。
同样的思路可以作为 .vscode/tasks.json 中的 VS Code 任务使用:定义一个命令为此脚本且参数为当前文件的任务,并从命令面板触发它。设置量很小,结果是一个你完全理解的审查命令。
修复常见错误
大多数问题归结为少数几个原因。请按照此列表的顶部顺序进行处理。
- 401 或“API 密钥无效”。粘贴时密钥末尾多了一个空格,或者你使用了属于其他站点的密钥。请创建一个新的密钥并重新粘贴。
- 404 或“未找到模型”。模型 ID 拼写有误,或者基础 URL 缺少
/v1后缀,或者该后缀出现了两次。正确的 ID 是uncensored。运行/v1/models接口调用可查看服务器返回的信息。 - 429 错误且返回
rate_limited。你超过了每分钟请求数限制:完整密钥为 300,试用密钥为 60。快速循环的代理容易触发此限制。请等待后重试,或减少自动步骤的数量。 - 429 错误且返回
concurrency。并发请求过多:完整密钥允许 8 个,试用密钥允许 2 个。某些扩展在单个任务中会并行发送多个调用。流式输出会占用连接槽位直到结束,因此卡住的流式输出可能会阻塞新的调用。 - 429 错误且包含
Retry-After: 5响应头。临时过载。扩展程序应在五秒后重试。如果未自动重试,请手动重试。 - 请求因过大被拒绝。请求体大小限制为 8 MB,上下文窗口限制为 100,000 个 token(包含提示词和回答)。附加大量文件的代理可能会超出此限制。请缩小上下文范围或清空对话。
向支持团队寻求帮助时,请包含 X-Request-Id 响应头的值。你可以使用 curl -i 查看该值。
保持成本可见
编辑器代理会生成大量文本,因为每个步骤通常包含截至目前的文件和历史记录。定价为每 1M 输入 token $0.15,每 1M 输出 token $0.50,这使得单次请求成本较低,但循环累积起来会很高。
一个计算示例:一个包含 30,000 个输入 token 和 1,000 个输出 token 的代理步骤,输入成本为 30,000 x $0.15 / 1,000,000 = $0.0045,输出成本为 1,000 x $0.50 / 1,000,000 = $0.0005,因此每个步骤成本为 $0.005。40 个此类步骤的任务成本为 $0.20。这只是一个大致估算,并非承诺,因为实际步骤的大小会有所不同。
- 在调用后检查响应头中的
X-Balance-USD以查看你的剩余额度。 - 在新对话中开始新任务,以免旧的历史记录一直累积。
- 如果扩展程序支持,请设置步骤或请求限制。
额度为预付制,余额耗尽即停止使用,且永不失效。充值金额范围为 $20 至 $500的整数,从 $50 起享 5% 奖励,$100 起享 10%,$200 起享 15%。支持信用卡(Visa、Mastercard、Apple Pay、Google Pay)和加密货币(TRC20 链 USDT、Base 链 USDC)。详情见 定价页面,文档列出了所有支持的参数。
关于隐私和使用的说明
你发送的代码会传送到提供商的服务器,因此请勿将生产环境的密钥、密码或客户数据等敏感信息粘贴到提示词中。本服务的提示词不会用于模型训练。该模型针对合法成人用途进行了优化,不会进行内容审查,这意味着它不会就安全测试或深色主题的游戏脚本对你进行说教,但你仍需对自己要求它执行的操作负责。涉及未成年人的性内容始终禁止。
更多指南
问答
我可以在 VS Code 的 GitHub Copilot 中使用此 API 吗?
Copilot 绑定在其专属服务上,因此此密钥无法替代它。请使用接受自定义接口的扩展程序,例如 Continue 或 Cline。
我应该输入哪个模型 ID?
输入 uncensored。你可以通过使用密钥调用 GET /v1/models 来确认该模型。
为什么编辑器提示连接失败?
先运行 curl 测试。如果 curl 命令正常,请重新检查扩展程序中的基础 URL,确保末尾包含 /v1 且没有多余的空格。
内联自动补全功能可用吗?
仅当扩展程序可以使用普通的聊天补全接口时方可使用。此 API 没有单独的补全接口,因此请检查扩展程序的自动补全设置。
有免费测试的方法吗?
新用户注册后可以在 API 密钥页面领取 $0.50 的试用额度。无需绑定信用卡,有效期为 7 天,每人限领一次。
只差一张表单,即可获得密钥
创建账户,复制密钥,更改基础 URL。这就是全部设置。
获取 API 密钥