前言¶
在 DeepSeek Harness(DSH)裏做智能體或日常對話,常見做法是逐個配置各家模型的 API:不同 base URL、不同密鑰字段、模型名還要自己維護。模型一上新,往往得改配置或等適配更新。
下面介紹的 dsh-teamorouter 把 TeamoRouter 接到 DSH 內置的 OpenAI 兼容路由上:一把密鑰可在模型選擇器裏使用 Claude、GPT、Gemini、DeepSeek、Kimi、GLM、Qwen、Grok、MiniMax 等 TeamoRouter 提供的對話模型;列表通過 GET /v1/models 定期拉取,無需爲每個新模型改插件。
插件由 GitHub 用戶 2867297362mjb-sketch 發佈,歸類爲 模型推理;README 註明維護方與 TeamoRouter 相關(作者就職於 TeamoRouter)。倉庫採用 MIT 許可證,當前 package 版本爲 0.1.0。社區目錄頁:skillhub.cn 插件條目,源碼:github.com/2867297362mjb-sketch/dsh-teamorouter。
這是什麼¶
dsh-teamorouter 是 DSH 的 TeamoRouter Provider 插件:在 llm-pi-ai 適配器裏寫入一條名爲 teamorouter 的路由(api: openai-completions,baseURL: https://api.teamorouter.com/v1),流式、工具、圖片與重試走 DSH 自帶代碼路徑。只動 providers.teamorouter,不會覆蓋你已有的其他 Provider 配置。
密鑰通過引用名 TEAMOROUTER_API_KEY 掛在 DSH 憑據存儲裏,路由配置裏不出現明文 Key。圖像、視頻生成類模型會排除在列表外,因爲 DSH 當前只驅動對話模型。
核心功能¶
實時模型列表¶
有 Key 後,插件帶 Key 請求 https://api.teamorouter.com/v1/models,約 每 6 小時 同步一次,新模型可在不升級插件的情況下出現在選擇器裏。
未配置 Key 時,選擇器會顯示一份短 starter list(如 Claude Sonnet 5.5、Claude Opus 5.5、GPT-6 Sol、DeepSeek V4 Pro / Flash、Gemini 3.8 Flash 等),便於先看到 Provider;存入 Key 後通常在約一分鐘內由完整列表替換。無 Key 期間插件每分鐘只檢查本地憑據存儲,不會向外發送列表請求。
與 DSH 的集成方式¶
對話請求由 DSH 的 llm-pi-ai 發往 {baseURL}/chat/completions,並帶請求頭 X-Client-Source: dsh-teamorouter(用於 TeamoRouter 統計經本插件的用量,不含用戶數據)。列表請求使用 User-Agent dsh-teamorouter/<version>。README 寫明除上述外無其他遙測。
可選配置¶
可在 Profile 的 cordis.patch.yml 中覆蓋(均爲可選):
| 字段 | 默認值 | 含義 |
|---|---|---|
baseURL |
https://api.teamorouter.com/v1 |
API 根地址 |
apiKeyEnv |
TEAMOROUTER_API_KEY |
路由解析用的憑據引用名 |
routeKey |
teamorouter |
在 DSH 中顯示的 Provider id |
include |
全部對話模型 | 僅保留匹配的模型 id(精確、prefix*、*suffix) |
exclude |
無 | 排除匹配的模型 id |
列表中未標註上下文長度的模型,插件會按 200K 上下文、32K 輸出上限處理;id 以 [1M] 結尾的按 1M 上下文處理。部分 Claude、GPT-5/6、Gemini、Grok 4、Kimi K3 及較大 Qwen、Doubao 等會標記爲支持圖片輸入。
計費說明¶
TeamoRouter 爲按量付費、無訂閱;README 指向 teamorouter.com/models 查看各模型價格,充值門檻等信息以官網爲準。
安裝與啓用¶
DSH 生態裏插件通過 CLI 掛到 Profile。Web 交互場景下,官方安裝命令如下:
dsh plugin --profile web add github:2867297362mjb-sketch/dsh-teamorouter
安裝後重啓 dsh web,或依賴 dsh-hmr 自動重載 Profile。
安全與權限:插件隨當前 dsh 進程權限運行;安裝前建議在 GitHub 上查看源碼與 LICENSE。社區目錄(SkillHub)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,不等同於官方應用商店。
配置密鑰¶
- 在 teamorouter.com/dashboard 創建 API Key(以
sk-teamo-開頭)。 - 以引用名
TEAMOROUTER_API_KEY保存,任選其一:
- Settings → Models → TeamoRouter,在 API key 字段粘貼;
- 啓動前導出環境變量後啓動 Web:
export TEAMOROUTER_API_KEY=sk-teamo-...
dsh web
典型用法¶
Web 端選模型對話¶
完成安裝與密鑰配置後,在 DSH 模型選擇器裏選擇 teamorouter 下的具體模型即可;流式輸出、工具調用等能力與使用該適配器的其他 OpenAI 兼容路由一致。
Headless Profile¶
插件自帶的 bundle patch 會在首次啓動時帶上 starter 路由。可在 $DSH_HOME/profiles/headless/cordis.patch.yml 中指定默認模型,例如:
- id: agent-default-model
config:
provider: teamorouter
model: claude-sonnet-5-5
Headless 不讀交互式憑據存儲,需在環境中傳入 Key:
TEAMOROUTER_API_KEY=sk-teamo-... dsh --profile headless "summarize README.md"
首次運行可使用 starter 模型;後臺通常會保存完整模型列表,往往第二次運行起即可選用列表中的任意模型。
若 headless 的 cordis.patch.yml 已聲明其他 llm-pi-ai Provider,DSH 的 patch 層爲替換而非合併,會蓋掉插件自帶的 starter 路由。可先導出 TEAMOROUTER_API_KEY,用該 Profile 裏已能工作的模型跑過一次任務,插件會在運行期間把 teamorouter 加到現有 Provider 旁,再改默認模型即可。dsh web 不受影響:服務運行中也可添加路由。
卸載¶
dsh plugin --profile web remove dsh-teamorouter
卸載後 Settings → Models 裏可能仍保留 teamorouter 路由條目,需手動刪除;曾使用該路由的會話在條目存在期間仍可繼續工作。
適用場景與注意¶
- 適合:希望在 DSH 裏用單一 TeamoRouter 賬號統一訪問多廠商對話模型,並減少手工維護模型列表的工作。
- 不適合:依賴 DSH 直接對接某家原廠專用 API、且不願經過第三方聚合網關的場景——需自行評估 TeamoRouter 的服務條款與數據路徑。
- 開發依賴:
package.json要求 Node>=20,並聲明與@deepseek-ai/cordis、@deepseek-ai/dsh-llm-pi-ai、@deepseek-ai/dsh-settings等 peer 版本範圍;本地開發可運行npm test。
結尾¶
dsh-teamorouter 把 TeamoRouter 的 OpenAI 兼容面接到 DSH 的 llm-pi-ai 上:一把 TEAMOROUTER_API_KEY、一條 teamorouter 路由,配合定時同步的 /v1/models 列表,把多模型選型收攏到 DSH 原有交互與 headless 流程裏。