dsh-teamorouter:在 DSH 裏用一把 TeamoRouter 密鑰對接多模型

前言

在 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 / 幻方無官方從屬關係,不等同於官方應用商店。

配置密鑰

  1. 在 teamorouter.com/dashboard 創建 API Key(以 sk-teamo- 開頭)。
  2. 以引用名 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 流程裏。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜