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 Key 和 Model ID。貼上 https://api.codingllmapi.com/v1、你的金鑰和 uncensored。儲存、開始任務並批准其第一次工具呼叫。
其他擴充功能
許多工具遵循相同的模式,名稱類似「自訂端點」、「OpenAI 相容」或「帶入你自己的金鑰」。尋找接受 base URL 的欄位。如果擴充功能僅提供固定的供應商列表且沒有 URL 欄位,則無法將其指向此 API。
哪些功能可用,哪些可能無法使用
此 API 實作了 POST /v1/chat/completions 和 GET /v1/models。這涵蓋了聊天面板、編輯命令、解釋程式碼動作和代理循環。它並未涵蓋編輯器可能要求的所有功能。
| 編輯器功能 | 預期結果 |
|---|---|
| 關於開啟檔案的聊天 | 運作正常 |
| 選取程式碼並要求編輯 | 運作正常 |
| 帶有工具呼叫的代理任務 | 如果擴充功能使用標準 tools 欄位或其自身的提示詞格式,則可運作 |
| 內嵌 Tab 自動完成 | 取決於擴充功能。如果需要單獨的完成或填補中間端點,此 API 並未提供 |
| 程式碼庫嵌入和索引 | 此處不可用,因為沒有嵌入端點。請使用不同的嵌入來源或關閉索引 |
| 影像輸入或生成 | 不可用,API 僅限文字 |
如果擴充功能在表格中列出的某項功能上失敗,請在設定中關閉該項功能,而非假設你的金鑰有誤。若要了解此模型在程式開發方面的表現,請參閱 用於程式開發代理的無審查模型頁面。
擴充功能之外:從編輯器執行的腳本
擴充功能並非從 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 並在收到時列印每個區塊的 delta.content。
相同的概念可以作為 .vscode/tasks.json 中的 VS Code 任務運作:定義一個命令為此腳本且以目前檔案為引數的任務,並從命令面板觸發它。設定量很小,結果是一個你完全理解的審查命令。
修復常見錯誤
大多數問題歸因於少數幾個原因。請按照此列表的順序進行排查。
- 401 或「API 金鑰無效」。金鑰貼上時帶有尾隨空格,或是你使用了屬於其他網站的金鑰。請建立新的金鑰並再次貼上。
- 404 或「找不到模型」。 模型 ID 拼寫錯誤,或是 Base 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 運作正常,請重新檢查擴充功能中的 Base URL,包含結尾的 /v1 以及沒有額外的空格。
內嵌自動完成功能可用嗎?
僅當擴充功能能使用純聊天完成功能來處理時才有效。此 API 沒有單獨的完成端點,因此請檢查擴充功能的自動完成設定。
有免費方式可以測試嗎?
新用戶可在註冊後於 API 金鑰頁面領取 $0.50 的免費試用額度。無需信用卡,有效期為 7 天,且每人限領一次。
只差一張表單,即可取得金鑰
建立帳號、複製金鑰、更改基礎 URL。這就是整個設定過程。
取得 API 金鑰