Repository navigation
v0.5.0 — 把 WorkBuddy2API 网关的模型目录自动同步进 DeepSeek Harness
v0.5.0
加了路由就能直接拉模型:填好 URL 与 Key,点「拉取模型」就地请求网关;拉不到就把原因写在卡片里。
新增:按当前 URL / Key 现拉清单
- 新接口
POST /probe:用界面此刻的baseURL/apiKey请求…/models,不落盘、不注册,只看
一眼能不能拉到 - 新建路由时卡片里是 「拉取模型(按当前 URL / Key 去网关取)」;拉到后标题变成
「模型选择(启用 N / 共 M)」并直接列出模型,可以立刻勾选 - 已保存的路由不必重填 Key:界面只回传
id,宿主自己按凭据名去凭据库 / 环境变量取 - 另有
重新拉取;现拉成功会标一句「清单来自 …(现拉,尚未保存)」 - 改了 URL 或 Key,之前现拉的清单自动作废——不让旧清单冒充新地址的结果
错误一律说清楚
以前拉不到只是「空表」,现在是具体原因(probeErrorText):
| 情况 | 卡片上看到的 |
|---|---|
| 401/403 | HTTP 401 Unauthorized——网关拒绝了这把 Key(不对、过期或没有权限):… |
| 端口没开 | 端口没有在监听(ECONNREFUSED)——检查地址与端口 |
| 域名解析失败 | 解析不了 … 的主机名(ENOTFOUND)——检查域名或网络 |
| 没响应 | 超时(网关没有响应) |
| 404 | 这个地址下没有 /models,确认 URL 是否指到网关的 /v1 根 |
| Fetch 规范禁用端口 | 这个端口被 Fetch 规范列为禁用端口(bad port)——换一个端口 |
| 通了但没模型 | 通了,但没有解析出任何模型(返回里没有 data/models 数组) |
| URL 本身不合法 | 请先填 URL… / URL 不合法:… / URL 只支持 http/https,收到 ftp: |
Node 的 fetch 在双栈下会抛 AggregateError(v4/v6 各一条),错误码埋在 errors[] 里——这里会把
各层 code 都翻出来,必要时退回底层 message,而不是只留一句 fetch failed。同一套文本也用在后台
刷新上,所以状态行里的错误同样更具体。
验证
node test/verify.mjs → 141/141(新增 19 项):
/probe:用 URL+Key 拉到清单、条目与/status同形、回报请求地址- 错误分支:错 Key(401)、端口没开(ECONNREFUSED)、非 http(s)、没填 URL
- 已保存路由不带 Key 也能拉(自动用凭据库那把)
- 界面:新路由显示「拉取模型」、没填 URL 点它显示原因、填 URL 后拉到 2 个模型并列出、标题变成
「启用 2 / 共 2」、标记「现拉,尚未保存」、401 时把原文显示在卡片里、失败不残留旧清单、换 URL 后回到「拉取模型」
node test/verify.mjs --offline → 28/28。
顺带修的一处测试基础设施
React 桩的 useEffect 之前忽略依赖数组,导致每次渲染都重跑「拉 /status」,异步回来会把用户
刚编辑的草稿覆盖掉(表现为「加了一行又消失」)。现在按 deps 做浅比较,与真实 React 一致——这类
假阴性不会再出现。
安装
桌面版
桌面版的 desktop profile 由 App 独占管理(独立 CLI 的 --dump-config 之类会被拒绝),但装包这条路是通的。
建议手工改两处再 install——dsh plugin add 会重写 dsh.profile.bundles,实测会把其它第三方 bundle 从列表里挤掉(本机丢过 dsh-workbuddy-connect 与 @eghrhegpe/dsh-connect-qoder);而 install 只装依赖、不动配置。
# 0) 附件地址:https://github.com/che246/dsh-workbuddy2api-connect/releases/download/v0.5.0/dsh-workbuddy2api-connect-0.5.0.tgz
copy dsh-workbuddy2api-connect-0.5.0.tgz "$env:USERPROFILE\.dsh\local-plugins\"然后编辑 %USERPROFILE%\.dsh\profiles\desktop\package.json 两处:
dependencies里加"dsh-workbuddy2api-connect": "file:C:/Users/<你>/.dsh/local-plugins/dsh-workbuddy2api-connect-0.5.0.tgz"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 "<附件路径>"(自动写依赖与 bundles),但装完务必核对dsh.profile.bundles,少了别的插件就补回去。
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两种方式装完都要重启一次 DSH:provider 路由与浏览器卡片都在 boot 时装配。重启后「插件」页出现本插件的配置卡片,模型选择器出现配置好的分组。