前言¶
DeepSeek Harness(DSH)採用插件化架構。在使用 OmniRoute(一個 OpenAI 兼容網關)時,網關可能暴露大量模型(例如本地 1000+ 個模型)。DSH 自帶的“模型”頁面缺乏搜索、篩選和模態發現能力,且發現契約無法返回模態性。該插件旨在解決這一痛點,通過一個可搜索、可篩選的多選 UI,控制 DSH 實際提供的 OmniRoute 模型,並集成 Web 搜索功能。
插件簡介¶
- 名稱:
publieople/dsh-omniroute-models - 定位:DSH 主機端和客戶端插件,用於管理 OmniRoute 模型並發現其模態性。
- 功能:將 OmniRoute 的真實
input_modalities、context_length和max_output_tokens映射到配置中,使單次檢查立即生效,無需重啓。
核心功能¶
按供應商篩選與路由管理¶
- 按供應商篩選:解析模型 ID 的命名空間前綴(如
opencode-go/deepseek-…→opencode-go)。UI 提供“供應商”下拉框和供應商列,支持按opencode、oc、auto、github或無命名空間進行篩選。 - 切換路由:自動枚舉
llm-pi-ai.providers下的所有配置路由(包括路由名稱、顯示名稱、API、Base URL、模型數量及協議類型)。通過頂部的“路由”下拉框切換當前管理的端點。
模型拉取與保存¶
- 拉取模型列表:點擊操作會請求提供商的
/v1/models接口(默認爲http://localhost:20128/v1),獲取每個模型的輸入類型(文本/圖像)、上下文窗口和最大 Token 數。 - 保存選中:點擊“保存選中”會一次性更新
llm-pi-ai.providers.<route>.models配置。DSH 將僅服務被勾選的模型。此操作通過官方設置接口寫入settings.yaml,並在下一次請求時生效。保存時保留同級的apiKeyEnv、api、baseURL等字段。 - 持久化:已啓用的模型會被預勾選。重新拉取時,存儲的值優先於插件寫入的模態性/能力(即用戶手動編輯的配置不會被覆蓋)。
Web 搜索集成¶
- 插件將 DSH 的內置
web_search功能連接到兩種來源:- OmniRoute 聚合搜索:支持 Tavily、Brave、Exa、Serper、Ollama 等引擎。
- DeepSeek 原生搜索:當 OmniRoute 源被禁用或設置爲 DeepSeek 時,自動回退到官方搜索。
- 在配置 Web 搜索卡片時,可選擇上述兩種來源。對於 OmniRoute 源,密鑰是可選的(網關使用自身存儲的上游密鑰),但如果端點要求,密鑰解析順序爲:字面量
searchApiKey→ DSH 憑證引用searchApiKeyEnv→ 進程環境變量。
模型類型過濾¶
- 插件僅列出聊天模型(文本/圖像)。Gateway 的
/v1/models可能包含嵌入、視頻、音頻、音樂等條目,插件會通過type字段過濾掉這些非聊天模型。 - 對於 OmniRoute >= 3.8.50 列出的搜索引擎僞模型(如
brave-search/web),插件會通過其-search後綴進行過濾。
國際化支持¶
- 支持中英文(i18n)。使用 DSH 官方本地化機制,在 DSH 設置面板切換語言時,界面文本會自動刷新。
安裝與依賴¶
- 前置依賴:需要 OmniRoute 版本 >= 3.8.50。
- API 密鑰要求:OmniRoute 3.8.50 之後,即便是獲取模型目錄(
GET /v1/models)也要求有效的 API 密鑰(不再允許匿名訪問)。 - 安裝方式:安裝命令未在當前數據中提供。插件通過包管理器或目錄方式安裝,安裝後需確保 OmniRoute 網關已配置並可用。
典型用法¶
- 篩選模型:在“OmniRoute 模型管理器”頁面,使用“供應商”下拉框選擇特定的命名空間(例如
opencode),快速定位該廠商下的模型。 - 管理路由:如果配置了多個提供商端點,通過“路由”下拉框切換當前要管理的端點。
- 應用變更:勾選需要的模型,點擊“保存選中”。DSH 會更新配置文件,無需重啓服務即可生效。
- 配置搜索:在“Web 搜索”卡片中選擇使用 OmniRoute 聚合搜索或 DeepSeek 原生搜索。
注意事項¶
- API 密鑰解析:插件從 DSH 憑證存儲讀取密鑰的順序爲:
llm-pi-ai命名空間(適配器使用的標準路徑) -> 進程環境變量 -> 查詢參數。 - 非聊天模型:插件邏輯會自動剔除嵌入、視頻、音頻等模型,確保配置中不會出現 DSH 無法處理的模型類型。
- 配置衝突:如果手動編輯了
settings.yaml,插件在重新拉取時不會覆蓋這些手動的修改,以尊重用戶的配置優先級。 - 權限與安全:插件以 DSH 進程權限運行,安裝前應檢查源碼與許可證。
總結¶
該插件通過將 OmniRoute 的模型目錄與 DSH 的配置系統打通,解決了模型管理混亂和模態性缺失的問題。它提供了一個可視化的界面來管理模型白名單,並提供了靈活的 Web 搜索後端選擇。對於需要管理大量模型或依賴 OmniRoute 作爲統一網關的用戶,這是一個實用的工具。