跳到內容
OmniRoute source

VS Code Copilot Chat — OmniCopilot extension (中文 (繁體))

  1. 執行 OmniRoute — npm install -g omniroute && omniroute(儀表板位於 http://localhost:20128)。
  2. 安裝擴充功能 — 在「擴充功能」檢視中搜尋「OmniRoute」。
  3. 選擇模型 — Copilot Chat → 模型選擇器 → 管理模型… → OmniRoute,然後勾選 您想要的模型。

當 OmniRoute 在預設連接埠上執行時,無需進行任何設定。若使用遠端執行個體,請開啟 活動列中的 OmniRoute 圖示(或執行 OmniRoute: Manage Connection),並設定:

  • 伺服器 URL — 伺服器根位址,例如 http://192.168.0.15:20128。擴充功能會自動附加 /v1 後綴;請勿自行加入。
  • API 金鑰 — 僅在伺服器設定 REQUIRE_API_KEY 時需要。透過 VS Code SecretStorage 儲存在作業系統鑰匙圈中,絕不會寫入 settings.json。

擴充功能不會直接顯示原始的 GET /v1/models 承載資料——它會整理資料,而且您看到的 數量會少於目錄大小,這是基於兩個刻意的設計原因。

MODELS_CATALOG_PREFIX_MODE 預設為 dual,這會將每個模型發布兩次——一次使用 簡短別名前綴,另一次使用標準提供者前綴——讓較舊的用戶端設定仍可解析任一形式:

cc/claude-sonnet-4-6 ← 別名前綴
claude/claude-sonnet-4-6 ← 標準前綴,相同模型

擴充功能會要求 GET /v1/models?prefix=alias,因此每個模型只會傳回一個 id, 而不會變更其他用戶端所使用的全伺服器設定。在參考執行個體上,這讓 2345 個項目縮減為 1396 個——移除 949 個重複項目,且未遺失任何模型。

如果您希望針對 每個 用戶端在整個伺服器層級修正此行為,請在儀表板中將 MODELS_CATALOG_PREFIX_MODE 功能旗標設為 alias。查詢參數與各模式表格請參閱 API_REFERENCE → prefix。

目錄也會列出影像、影片、音訊、重新排序、嵌入與內容審核模型。無論如何,這些模型 都會拒絕聊天請求:

HTTP 400 — 模型 '<id>' 是影像生成模型,無法用於
/v1/chat/completions。請改用 POST /v1/images/generations。

因此,它們會在進入選擇器前,依據其 type 欄位被篩除。Responses-API 模型則會保留——每個 Codex / GPT-5.x 項目都會宣告 supported_endpoints: ["responses"], 而 OmniRoute 會針對 /v1/chat/completions 轉譯這些模型,因此完全可以使用。

目錄會列出具有有效連線的提供者模型,以及所有 noAuth 提供者——這些無需金鑰的提供者構成了免費層級的大部分內容。這是刻意的設計。若要隱藏 它們,請將它們加入儀表板設定中的 blockedProviders;擴充功能本身無需變更。


omnicopilot.dashboardOpen: "editor" 會透過 Simple Browser 在編輯器分頁中呈現 OmniRoute 儀表板,而不是在外部瀏覽器中開啟。嵌入功能必須在伺服器上選擇啟用,方法是設定 DASHBOARD_ALLOW_EMBED=vscode;這會讓提供的 HTML 頁面使用 frame-ancestors 'self' vscode-webview:,而不是預設的 frame-ancestors 'none' + X-Frame-Options: DENY。無論如何設定,API 介面(/api、/v1、/v1beta、/a2a、/healthz)都會保留嚴格的標頭。

⚠️ 這是建置時旗標,而不是執行階段旗標。 Next.js 會將 headers() 編譯至路由 資訊清單,因此 next.config.mjs 會在建置套件時讀取此變數 (next.config.mjs → resolveDashboardEmbedMode、scripts/build/dashboardEmbed.mjs)。 在已完成建置的伺服器啟動指令前匯出此變數不會有任何作用——標頭已被寫入建置結果中。

Terminal window
# 此變數必須存在於 BUILD 指令中
DASHBOARD_ALLOW_EMBED=vscode npm run build # 或 npm run build:release
npm start
安裝方式 是否能啟用嵌入功能?
從原始碼安裝 ✅ 如上所示,在建置指令中設定此變數
npm install -g omniroute ❌ 發佈的套件隨附預先建置的套件——請改為從原始碼建置
Docker 映像 ✅ docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode -t omniroute:embed .——Docker Hub 上的預先建置映像並未啟用嵌入功能

如果建置時未啟用嵌入功能,頁面會拒絕在框架中顯示;擴充功能會從回應標頭偵測到此情況,並改用外部瀏覽器——不會造成任何功能損壞,而且它只會提示一次。請參閱 ENVIRONMENT.md 和議題 #10273。


OmniRoute: Configure Coding CLI 會驅動 omniroute CLI,為 Codex CLI、Claude Code、Cline、Continue、Cursor、Aider、OpenCode、Goose、Crush、Qwen Code、Kilo 和 Roo 寫入可直接使用的設定檔——也就是 CLI-INTEGRATIONS.md 中所述的相同設定。API 金鑰會透過 OMNIROUTE_API_KEY 環境變數傳給 CLI,絕不會出現在命令列上。


症狀 原因/修正方式
選擇器中沒有 OmniRoute 模型 無法連線至伺服器。狀態列圓點會變成灰色;請執行 OmniRoute: Check Connection。模型探索依設計不會顯示提示,無法連線時不會提供任何模型。
每個模型都出現兩次 您使用的 OmniCopilot 版本低於 1.0.1——請更新。擴充功能現在會要求 ?prefix=alias。
先前列出的圖片/音訊模型消失了 自 1.0.1 起刻意如此——這些模型本來就無法回應聊天請求。
Activity Bar 中缺少面板 VS Code 會將額外的檢視容器移至 Activity Bar 底部的 「…」 溢位選單中,而透過右鍵選單隱藏的容器會保持隱藏。請在 Activity Bar 上按一下滑鼠右鍵 → 勾選 OmniRoute,或使用 OmniRoute: Manage Connection 開啟。
儘管使用 editor 模式,儀表板仍在瀏覽器中開啟 伺服器在建置時未設定 DASHBOARD_ALLOW_EMBED=vscode(見上文)——在預先建置的安裝項目啟動時設定它不會有任何作用。這是刻意設計的備援行為。
變更提供者後,模型清單仍是舊的 執行 OmniRoute: Refresh Models,或按一下分頁中的 ↻ 連結。


OmniRoute 原始碼 (a58000c7685f)

HagiCode

HagiCode 是智慧代理程式開發工作台,結合結構化工作流程、多代理程式執行與 Hero Dungeon 介面,將想法化為交付成果。

以更聰明、更快速且更有趣的智慧代理程式工作流程,打造實用的軟體。

HagiCode 淺色主題介面畫面
  • Smart結構化流程將意圖轉化為從構想到交付的可執行步驟。
  • Efficient多代理程式工作流程讓研究、實作與審查並行進行。
  • FunHero Dungeon 讓長時間的程式協作更直覺、更有參與感。
造訪 HagiCode