文件

文件

Theia IDE

Theia IDE 提供可使用任意 OpenAI 相容模型的提供者,並透過 settings.json 中的清單設定。每個模型 id 設定一個項目,且都指向同一個基礎 URL 和同一把金鑰。

在 ai-features.openAiCustom.customOpenAiModels 中新增一個項目 — model、url 與 apiKey — 即可讓 Theia Coder、Architect 與行內完成使用 Kunavo。

settings.json — ai-features.openAiCustom.customOpenAiModels
{
  "ai-features.openAiCustom.customOpenAiModels": [
    {
      "model": "claude-sonnet-5",
      "url": "https://api.kunavo.com/v1",
      "id": "kunavo-sonnet-5",
      "apiKey": "sk-kn-...",
      "developerMessageSettings": "system"
    },
    {
      "model": "claude-haiku-4-5",
      "url": "https://api.kunavo.com/v1",
      "id": "kunavo-haiku-4-5",
      "apiKey": "sk-kn-...",
      "developerMessageSettings": "system"
    }
  ]
}
url 要保留 /v1。Theia 的說明文字沒有明確規定格式——Readme 只說「model 和 url 是必要屬性,用於指定要使用的端點和模型」。同一份文件頁面中,唯一非 OpenAI 供應商的操作範例才說明了格式:"url": "https://api.mistral.ai/v1"。端點根路徑要包含後綴,因此此處應使用 https://api.kunavo.com/v1,而非不含路徑的來源網址。如果請求回傳 404,這個欄位應優先檢查;下方的 curl 會告訴你端點實際回應的是這兩種格式中的哪一種。
Theia IDE,而非 Theia framework。這個名稱同時指使用者端應用程式和其他工具所建構的平台——上方的偏好設定屬於 IDE 和 Theia AI 的 OpenAI 提供者套件。若您正在 Theia 上建置自己的產品,欄位名稱相同,但應在自家產品的設定中設定,而不是修改此設定檔。
此設定是依據 Theia 自身的文件,於下方日期查閱整理而成。Kunavo 尚未使用 Theia IDE 連線至其端點——沒有進行聊天、行內補全或工具呼叫。發布設定頁面不代表已完成測試,本頁內容也不應被視為測試結果;您可以在十秒內確認的是下方的 curl,而用戶端的行為則取決於您與 Theia 的互動。
Kunavo 不提供 embedding、文字轉語音或語音轉文字模型,因此此端點僅回應聊天完成請求。文件所述的 IDE AI 功能——聊天代理程式、行內補全、終端機輔助——不需要其他功能;您設定中的向量索引或音訊步驟,仍可沿用原有的提供者金鑰。
還沒有金鑰?建立 Kunavo 帳戶,建立金鑰(以 sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 Theia IDE 設定。

逐步操作

  1. 在 /app/keys 建立金鑰並複製——金鑰只會顯示一次。
  2. 啟用此功能:Theia 文件指示前往 Preferences,並啟用「AI-features => AI Enable」設定。完成此操作後,下方內容才會顯示。
  3. 開啟 AI Configuration 檢視畫面——Alt+A,或在左下角的 Manage(齒輪)選單中,於 Settings 正下方選擇 AI Configuration。其分類包括 General、Providers & Models、Model Aliases、Agents、Prompts & Skills、Variables、Tools、Token Usage 和 MCP Servers。
  4. 新增上方的項目。文件說明,這項操作是按一下設定區段中 OpenAI Compatible Models 的連結——此偏好設定是結構化清單,而 Theia 指出,沒有專用編輯器的結構化設定「會交由 settings.json 處理」,也就是你會進入的檔案。每個模型 ID 對應一個物件;url 和 apiKey 都要重複設定。
  5. 將某個項目指向它。在 Agents 底下,每個代理程式都有一個 Language Model 選擇器;許多代理程式實際上會解析模型別名,因此只要在 Model Aliases 底下設定 default/code、default/universal、default/code-completion、default/summarize 和 default/fast,就能一次移動多個代理程式。
  6. 傳送一則聊天訊息給 Theia Coder,接著提出一個會操作檔案的需求。這個 IDE 中的代理程式會大量使用工具呼叫和工作區內容,因此第一次執行時讀取或編輯某些內容,比打招呼更能讓你了解實際情況;同一個檢視畫面中的 Token Usage 也會顯示這一輪消耗了多少 Token。

已於 2026年9月21日 根據 Theia IDE 的 AI 功能頁面,「OpenAI Compatible Models」區段 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。

除錯用戶端前先驗證

一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 JSON,則相同的基礎 URL 與金鑰在 Theia IDE 中也能運作。

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

欄位中應填入哪個模型 ID

每個文字模型都能以模型 ID 存取——即時清單位於 GET /v1/models,帶有價格的目錄位於模型頁面。費率是每 1M 權杖的美元價格,輸入/輸出。

模型 IDKunavo 輸入/輸出它在 Theia IDE 中的位置
claude-sonnet-5$1.40 / $7.00Theia Coder 和 default/code 別名 — 用來編輯檔案的模型
claude-opus-5$3.50 / $17.50Plan Mode 中的 Architect;此處錯誤的計畫代價最高
claude-haiku-4-5$0.70 / $3.50default/fast、default/summarize 和 default/code-completion — 聊天命名、查詢、上下文壓縮,以及輸入時的補全
gpt-5-6-sol$2.00 / $12.00來自另一個系列的第二意見 — 多加一筆設定,URL 和金鑰維持相同
計費方式是從預付餘額按權杖計費,沒有月費——請參閱 billing。在重複的上下文中——這是編輯器或聊天用戶端傳送內容的大部分——提示快取 對帳單的影響比模型選擇更大。

Theia 對此供應商的說明

Theia 自家頁面上的 LLM Providers Overview 表格會從三個面向評估各提供者。這是 Theia 對自家產品的說法,依上述日期從該表格轉錄而來——不是 Kunavo 的測試結果;此處唯一撰寫的表格欄位是標題為「模型 ID 需要符合什麼」的那一欄。

Theia 的列OpenAI 相容模型 ID 需要符合的條件
串流是(狀態:公開)無其他要求。Readme 說明同一個物件上有 enableStreaming,預設為 true;若某一輪停滯且你想排查串流問題,可將它設為 false。
工具呼叫是(狀態:公開)支援工具的模型 ID。會編輯檔案、執行命令或操作 MCP 伺服器的代理程式都會呼叫工具,因此不支援工具的 ID 會讓你只能進行純聊天。
結構化輸出是(狀態:公開)設定時不需要額外項目,但不同系列的 ID 即使位於同一個端點,這個面向也最可能有所差異。

Theia 還在該表格上方兩段加入一項提醒。值得重述,因為這是整頁內容誠實的前提:「有些模型可能無法直接使用,因為它們可能需要特定的自訂或最佳化。」

實際的費用來源

Theia IDE 是開放原始碼軟體,可免費下載,其 AI 功能本身不收費;產生費用的是模型呼叫,帳單由 apiKey 中金鑰的持有人收取。文件中有兩項設定對帳單的影響比模型選擇更大,而且兩者都在文件中:

  1. 自動程式碼補全預設為開啟,文件將它描述為「編寫程式碼時持續向底層 LLM 發出請求」。它是一天會執行數千次的代理。請將 default/code-completion 固定為低成本 ID,或在 'AIFeatures'=>'CodeCompletion' 將代理切換為手動模式,並使用 Ctrl+Alt+Space 觸發。
  2. 同一組設定中的 Max Context Lines 會限制每次補全請求所包含的周邊檔案內容。每次由按鍵觸發呼叫時,其中每一行都會以輸入內容計費。

聊天代理程式的情況正好相反:呼叫次數較少、上下文大得多,而且每一輪都會重新傳送相同的工作區檔案。提示詞快取正是為這種情況而設 — 請參閱 /docs/caching — 這也就是為什麼上方模型表格的兩部分是依代理程式觸發頻率區分,而非依其聰明程度區分。

無法連線時

  1. 404 — url。Kunavo 提供 /v1/chat/completions,因此欄位需要填入 /v1 根路徑;只填來源站台或填入完整的 .../chat/completions 都會無法連線。
  2. 401——金鑰問題。Theia 的 Readme 指出,apiKey「會在授權請求中以 Bearer Token 傳送」,這正是 sk-kn- 金鑰預期的方式。請留意文件記載的預設行為:完全沒有 apiKey 時,Theia 會傳送 no-key,因此缺少欄位會看起來像金鑰遭拒,而非欄位缺失。(true 的意思是「使用全域 OpenAI API 金鑰」——此處不適用。)
  3. 模型 ID 沒有出現在選擇器中 — 清單來自你自己的 customOpenAiModels 項目,而非端點,因此找不到 ID 表示缺少對應物件。id 欄位是 UI 顯示的名稱;若省略,則會改用模型名稱。
  4. 第一則系統訊息遭到拒絕或忽略 — 這是 developerMessageSettings 設定所致。它預設為 developer,這是 OpenAI 格式的角色;Theia 為非 OpenAI 供應商提供的範例會設定 system,因此上方區塊也這樣設定。user、mergeWithFollowingUserMessage 和 skip 是文件記載的其他選項。
  5. 任何地方都完全沒有回應 — 請檢查 Workspace Trust。Theia 的所有 AI 功能都受此設定限制;未受信任的工作區會停用聊天輸入和行內補全,並顯示 AI 功能受到限制 訊息。

常見問題

如何在 Theia IDE 中使用自訂的 OpenAI 相容 API?

在 Preferences 中啟用 AI-features => AI Enable,接著新增一筆到 ai-features.openAiCustom.customOpenAiModels 偏好設定。每筆都是包含 model、url、id、apiKey 和 developerMessageSettings 的物件,順序與 Theia 範例相同;model 和 url 是必填欄位。這是結構化設定,因此 IDE 會開啟 settings.json 供你編輯。完成後,在 AI Configuration 檢視畫面的 Agents 底下,將模型指派給代理程式,或指派給其中一個模型別名。

Theia IDE 的 url 欄位結尾需要加上 /v1 嗎?

若是 Kunavo 這類 OpenAI 相容端點,需要。Theia 的文件沒有用文字說明這項規則;Readme 只表示 model 和 url 用來指出端點及要使用的模型,但同一頁面中非 OpenAI 供應商的實作範例,將端點根路徑寫成帶有此後綴的形式:"url": "https://api.mistral.ai/v1"。因此請使用 https://api.kunavo.com/v1。缺少或重複的 /v1 會造成 404,而非驗證錯誤,這就是區分路徑問題和金鑰問題的方法。

Theia IDE 能否在沒有 Anthropic 帳戶的情況下使用 Claude 模型?

可以,有兩種方式。Theia 內建可直接使用 Anthropic 金鑰的 Anthropic 供應商,也內建 OpenAI Compatible 供應商,會向你設定的任何 url 傳送 OpenAI 格式的請求,並直接傳遞模型 ID。使用第二種方式時,ID 會由該端點解析,而非由 IDE 內部解析,因此你持有的是端點的憑證。Kunavo 可透過 OpenAI 相容介面呼叫 Claude ID,這就是本文說明的組合。

應該將哪個模型指派給哪個 Theia 代理程式?

依代理程式觸發頻率分類,而非排名,因為沒有人在這個 IDE 中測試過這些 ID。Code Completion 會在你輸入時持續執行,且其上下文受 Max Context Lines 限制,因此適合使用便宜的 ID;Theia Coder 會編輯檔案,並需要工具呼叫;Plan Mode 中的 Architect 是唯一適合使用較強、較昂貴 ID 的地方,因為錯誤的計畫會耗掉整個工作階段。模型別名 — default/code、default/code-completion、default/fast 等 — 可讓你一次移動多個代理程式。

Kunavo 有測試過 Theia IDE 是否能連上其端點嗎?

沒有。2026 年 9 月 21 日檢查的是 Theia 自己的文件:偏好設定 ID、欄位名稱及順序,以及基礎 URL 格式,均引自 theia-ide.org/docs/user_ai/ 和該頁連結的 ai-openai Readme。Kunavo 沒有執行 Theia 工作階段、行內補全或工具往返,也沒有對此用戶端的行為做出任何宣稱。你唯一可以自行確認的是端點和金鑰是否可用,本文的 curl 指令即可檢查。