dsh-tlpro-models:以 bundle patch 接入 TLPro 網關與模型目錄

前言

在 DeepSeek Harness(DSH)裏接第三方 LLM,常見做法是在 profile 裏手寫 llm-pi-ai 的 route 和 model 列表,或 fork 主倉庫改配置。前者容易和上游默認層打架,後者升級成本高。dsh-tlpro-models 走 DSH 爲 profile 設計的 composition:把 TLPro 網關路由和與網關 /v1/models 一致的模型目錄打成一層 bundle patch,掛進 profile 即可,不修改 DSH checkout,也不需要額外插件依賴。

這是什麼

dsh-tlpro-models 由維護者 dungcsnd1133 發佈,在 SkillHub 插件目錄 中歸類爲模型推理。包內沒有業務代碼,只含 cordis.patch.yml 等配置;loader 按 dsh.profile.bundles 順序疊層,再應用 profile 自身的 cordis.patch.yml,同一 row id 後加載的層覆蓋先加載的層。從 profile 移除該 bundle 後,由它注入的路由與模型項會一併消失。

核心功能

TLPro 路由

插件聲明名爲 tlpro 的路由,字段如下:

字段 值
api openai-completions
baseURL https://hoantienmuasam.net/llmtlpro/v1
apiKeyEnv TLPRO_API_KEY(憑證環境變量名,不是密鑰本身)

密鑰應放在容器環境(如 /proc/1/environ)或 DSH 憑證存儲中,不要寫進 patch 文件。

模型目錄

當前 catalog 與 TLPro 網關 /v1/models 對齊,包含 3 個模型:

Model Context Max output Reasoning
deepseek-v4.1-flash 1,000,000 393,216 low / high / max
glm-5.3-flash 1,000,000 131,072 low / high / max
glm-5.3 1,000,000 131,072 low / high / max

網關的 /v1/models 只返回 id,不返回 context 與 output 上限;上述 capability 來自維護者在文檔中記錄的核對方式(見倉庫 README「Nguồn của các con số」)。目錄裏寫了網關不存在的 model id,啓動不會報錯,實際調用時會失敗。

與 DSH 其它層的交互

  • dsh-base 負責掛載 row llm-pi-ai;本 bundle 須列在 @deepseek-ai/dsh-base 之後,才能覆蓋該 row 的 config。
  • Patch 整段替換 row 的 config,不做 merge。若另有 bundle 也改 llm-pi-ai,順序靠後的層會完全勝出,不宜只 patch 一半字段。

推理檔位方面:glm-5.3 / glm-5.3-flash 按 OpenAI 風格傳 reasoning_effort;deepseek-v4.1-flash 在 router 側會對檔位做 remap。README 說明 glm-5.3-flash 在部分 capability 表裏 thinkingEffortSupported 爲 false,檔位被接受但未必改變實際 reasoning token 行爲。

安裝與啓用

把 bundle 寫進 profile

從 GitHub 拉取(換機或不想本地路徑時):

{
  "dependencies": {
    "dsh-tlpro-models": "github:dungcsnd1133/dsh-tlpro-models"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-tlpro-models"
      ]
    }
  }
}

本地 link(正在改 catalog 時):

"dependencies": { "dsh-tlpro-models": "link:/data/dsh-plugins/dsh-tlpro-models" }

bundle 順序須保持:dsh-tlpro-models 在 @deepseek-ai/dsh-base 之後。

安裝依賴並確認 patch 已生效

執行 profile 級安裝:

dsh plugin --profile <tên-profile> install

檢查配置是否帶有本包標記:

dsh <tên-profile> --dump-config | grep 'patched by dsh-tlpro-models'

安裝前請自行查看 GitHub 倉庫 源碼與 MIT 許可證。插件以當前 dsh 進程權限運行,與目錄站、DeepSeek / 幻方無官方從屬關係。

典型用法

  1. 在運行環境中設置 TLPRO_API_KEY。
  2. 按上一節把 bundle 編入 profile 並 install。
  3. 在 DSH Web 或 agent 配置裏選用 tlpro 路由下的模型 id(如 deepseek-v4.1-flash)。

網關新增模型時,維護者建議直接編輯包內 cordis.patch.yml 的 models: 列表,然後 restart profile,無需 publish,也無需動 DSH 主倉庫。

從網關拉取當前 model id 列表(便於對照 catalog):

curl -s -H "Authorization: Bearer $TLPRO_API_KEY" \
  https://hoantienmuasam.net/llmtlpro/v1/models | jq -r '.data[].id'

適用場景與注意

適合:已在用或計劃用 TLPro OpenAI 兼容端點,希望在 DSH profile 裏以可拆卸的一層掛路由和模型表,而不是改 checkout。

不適合:需要與別的 bundle 共用同一條 llm-pi-ai 且各改一半 config 的場景——後層會整塊覆蓋,應把期望的最終 config 集中到勝出的一層。

TLPro 側通用限制(與 token 無關,見 README):純文本 body 約 4,000,000 byte,含圖約 20,000,000 byte;上游文本超時 600 秒(代理可能更早斷開)。用超大 max_tokens 做探測不能證明網關上限——router 會在轉發前把 max_tokens 裁到 capability 的 maxOutput。

包版本在 package.json 中爲 1.0.1,type: module,通過 dsh.bundle.patch 指向 ./cordis.patch.yml。

結尾

dsh-tlpro-models 把 TLPro 的 gateway 路由和模型 catalog 收斂成 DSH 的 bundle patch layer:裝 bundle、設 TLPRO_API_KEY、按需改 cordis.patch.yml 即可,卸載則路由一併撤銷。

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

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

小夜