前言¶
在 DeepSeek Harness(DSH)里接 WorkBuddy2API 这类 OpenAI 兼容网关时,常见做法是手写 cordis.patch.yml 里的 provider 路由。@deepseek-ai/dsh-llm-pi-ai 能配 id、name、contextWindow、maxTokens,但思考档位(reasoningEfforts)往往要手工补;设置界面也不提供档位控件,维护成本高。网关增删模型后,通常还要改配置并重启 DSH 才生效。
下面介绍社区插件 dsh-workbuddy2api-connect(维护者 che246,分类:工作流):从网关 GET /v1/models 拉取模型名、思考档位、最大上下文、最大输出与图像能力,映射后注册进 DSH,并提供可视面板增删路由、改分组名称 / URL / Key,保存即热重注册,无需手写完整路由表,也无需为改路由而重启。
这是什么¶
dsh-workbuddy2api-connect 是 DSH 的 bundle 插件,把 WorkBuddy2API 网关的模型目录自动同步进宿主,并注入浏览器端配置卡片。数据流大致如下:
WorkBuddy2API 网关 GET /v1/models
│ id / name / reasoning_supported_efforts / context_length / max_output_tokens / supports_images
▼
dsh-workbuddy2api-connect (拉表 → 映射 → 注册 provider;界面负责增删路由)
▼
DSH @deepseek-ai/dsh-llm-pi-ai → 模型选择器里的一个分组(模型 + 推理等级 + 上下文窗口)
- 目录页:SkillHub 插件页
- 源码与文档:GitHub che246/dsh-workbuddy2api-connect
- 许可证:MIT(见仓库
package.json)
插件以当前 DSH 进程权限运行;安装前建议自行查看源码与许可证。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
自动同步模型表¶
插件按配置的路由请求网关 OpenAI 兼容地址下的 /v1/models,把返回字段装配成 DSH provider 可用的模型列表,包括:
- 模型 id / 显示名
- 思考档位(
reasoning_supported_efforts) - 最大上下文(
context_length) - 最大输出(
max_output_tokens) - 是否支持图像(
supports_images)
cordis.patch.yml 层可配置刷新周期、超时等,例如:
- id: llm-workbuddy2api
name: dsh-workbuddy2api-connect
config:
refreshMinutes: 30 # 模型表刷新周期(分钟)
timeoutMs: 20000 # 单次模型表请求上限
showRate: true # 模型名后附带积分倍率(仅显示)
maxTokensCap: 0 # 输出上限钳制(0 = 不钳制)
路由的「种子」可写在同一文件的 config.routes 里;仅当 $DSH_HOME/.workbuddy2api-connect.json 不存在时,会一次性写入该 JSON。之后以界面保存或手工编辑 JSON 为准,避免两处配置互相覆盖。
可视面板:路由与凭据¶
装好并重启 DSH 后,打开左侧栏 「插件」,在本插件配置区(DSH 0.2.0 的 plugins.bundle.config,按包名 dsh-workbuddy2api-connect 分发)操作。
每条路由一张卡片,三个输入加状态行:
| 字段 | 说明 |
|---|---|
| 分组名称 | 模型选择器里显示的分组名(如 work2api-CN) |
| URL | 网关 OpenAI 兼容基地址(如 http://192.168.1.201:7863/v1) |
| Key | 网关 API Key;只写不回显,已保存时留空表示不改 |
路由 id(= provider 名)与凭据名由分组名称自动派生(中文等非 ASCII 名称会退化为 wb2api 等规则,详见 README)。路由 id 只在新建时派生,改分组名称只改显示名,不会把已有会话里的 {provider, model} 指空。
底部按钮:保存并生效(写入 + 热重注册 + 重拉模型表)、立即刷新模型表、重新读取。状态行会汇总模型数量、上下文范围、思考档与最近刷新时间;拉取失败时原样展示网关错误(如 HTTP 401 invalid_api_key)。
密钥写入 DSH 凭据库(ctx.credentials refs,即 ~/.dsh/.credentials.yaml);插件配置文件里只有凭据名,无明文 Key。
模型选择(启用 / 排除)¶
每张路由卡可折叠 「模型选择(启用 N / 共 M)」:
- 勾选表示启用;未勾选进入
exclude,不会注册进 DSH - 支持全选 / 全不选与关键字过滤
- 新建路由时可点 「拉取模型(按当前 URL / Key 去网关取)」(
POST /probe,不落盘),就地列出清单;常见网络与鉴权错误会写在卡片上
设计采用「排除」而非固定白名单:网关新增模型时默认可用,不会因过期白名单挡住新模型。
显示开关:工作详情「完全展开」¶
卡片顶部可切换 DSH 的 ui-chat.transcriptView(默认 standard;开启为 verbose,轮次不折叠、命令与思考全部摊开)。与 设置 → 通用 → 工作详情 同步,立即生效,无需重启。headless 宿主无设置服务时开关会禁用,不影响网关同步。
安装与启用¶
装完或升级后需重启一次 DSH(boot 时注册 provider 与客户端卡片);此后改路由、模型表变化一般不再需要重启。
Web / TUI¶
dsh plugin --profile web add https://github.com/che246/dsh-workbuddy2api-connect/releases/download/v0.5.0/dsh-workbuddy2api-connect-0.5.0.tgz
桌面版(推荐手工改配置再 install)¶
README 说明:dsh plugin add 可能重写 dsh.profile.bundles 并挤掉其它第三方 bundle;推荐把 Release 附件放进本地目录,改 package.json 的 dependencies 与 dsh.profile.bundles,再执行 dsh plugin --profile desktop install。
copy dsh-workbuddy2api-connect-0.5.0.tgz "$env:USERPROFILE\.dsh\local-plugins\"
编辑 %USERPROFILE%\.dsh\profiles\desktop\package.json:在 dependencies 增加指向该 tgz 的 file: 依赖,并在 dsh.profile.bundles 追加 "dsh-workbuddy2api-connect",然后:
cd "$env:USERPROFILE\.dsh\profiles\desktop"
$dsh = "D:\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd"
& $dsh plugin --profile desktop install
若使用 dsh plugin --profile desktop add "<附件路径>",装完后请核对 dsh.profile.bundles 是否仍包含其它插件。
从源码打包¶
npm pack
再按桌面版或 Web / TUI 方式安装生成的 .tgz。
典型用法¶
- 按上文方式安装插件并重启 DSH。
- 打开 插件 页,新增或编辑路由:填写分组名称、网关
…/v1基地址与 Key,可先 拉取模型 确认清单与错误提示。 - 在 模型选择 中勾选要暴露给 DSH 的模型,点 保存并生效。
- 在模型选择器中选择对应分组下的模型与推理等级,正常发起对话。
首次启动若仅有 cordis.patch.yml 中的种子路由(如默认 work2api-AI / work2api-CN),会写入 ~/.dsh/.workbuddy2api-connect.json;也可在 profile 的 cordis.patch.yml 覆盖同名 id 调整种子,再以界面为准维护。
适用场景与注意¶
适合谁:已在用或计划用 WorkBuddy2API 网关、希望在 DSH 里自动对齐模型目录与思考档、并希望通过界面管理多路网关的开发者。
兼容性:README 记录 DSH 更新后插件「消失」的常见原因是 profile 的 dsh.profile.bundles 被重置,或预发布版本的 peer 判定问题;插件已不再声明 @deepseek-ai/dsh-* peer。可用仓库内 node tools/check-compat.mjs、node tools/dump-profile.mjs 自检。
安全与权限:插件读取网关 URL、写入凭据引用并以 DSH 进程身份访问网络;安装前请审阅 GitHub 仓库 源码。Node 引擎要求见 package.json:^22.19.0 || >=24.0.0。
结尾¶
dsh-workbuddy2api-connect 把「网关 /v1/models → DSH provider」这条链路自动化,并用面板承担路由与模型启停,减少手写 cordis.patch.yml 与反复重启。更多信息见 SkillHub 目录页 与 GitHub README。