前言¶
在 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負責掛載 rowllm-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 / 幻方無官方從屬關係。
典型用法¶
- 在運行環境中設置
TLPRO_API_KEY。 - 按上一節把 bundle 編入 profile 並
install。 - 在 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 即可,卸載則路由一併撤銷。