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

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

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

Xiaoye