前言¶
在 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 即可,卸载则路由一并撤销。