🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

WorkBuddy 多账号管家 ChaYeWuu/dsh-hyperworkbuddy

DeepSeek Harness
ChaYeWuu3 天前有提交已提供中文文档扫描:含敏感能力

一个 DeepSeek Harness 插件:在 DSH 设置里直接管理 WorkBuddy 多账号,并把模型接进…

35.5/100
综合分
8
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ChaYeWuu/dsh-hyperworkbuddy
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
静态安装检查有提示项,装前建议看一眼 README
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-hyperworkbuddy(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 02:53:22

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 35 处,展示前 22 条)
  • 读取本地文件
    lib/index.js:107
    text = await readFile(path, "utf8");
  • 发起网络请求
    lib/index.js:386
    response = await fetch(url, {
  • 发起网络请求
    lib/index.js:525
    const response = await fetch(url, { headers, signal: AbortSignal.timeout(JSON_TIMEOUT_MS) });
  • 发起网络请求
    lib/index.js:602
    const response = await fetch(`${billingBase(credential)}/v2/billing/meter/get-user-resource`, {
  • 发起网络请求
    lib/index.js:627
    const response = await fetch(`${billingBase(credential)}/v2/billing/meter/get-enterprise-user-usage`, {
  • 发起网络请求
    lib/index.js:712
    const response = await fetch(url, {
  • 发起网络请求
    lib/index.js:732
    const response = await fetch(url, { method: "GET", headers: loginHeaders(variant), signal: AbortSignal.timeout(JSON_TIMEOUT_MS) });
  • 写入本地文件
    lib/index.js:912
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:913
    await writeFile(path, key, { encoding: "utf8", mode: 384 });
  • 读取本地文件
    lib/index.js:918
    const existing = (await readFile2(path, "utf8")).trim();
  • 写入本地文件
    lib/index.js:998
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:1000
    await writeFile(temp, JSON.stringify(document, null, 2), "utf8");
  • 写入本地文件
    lib/index.js:1001
    await rename(temp, path);
  • 读取本地文件
    lib/index.js:1061
    text = await readFile2(this.path, "utf8");
  • 写入本地文件
    lib/index.js:1829
    await mkdir2(dirname2(this.path), { recursive: true });
  • 删除本地文件
    lib/index.js:1904
    await rm(this.path, { force: true }).catch(() => void 0);
  • 读取本地文件
    lib/index.js:2342
    text = await readFile3(this.path, "utf8");
  • 读取本地文件
    lib/index.js:2577
    return await readFile4(path, "utf8");
  • 读取本地文件
    lib/index.js:2581
    if (existsSync(marker)) return;
  • 发起网络请求
    lib/client.js:338
    const response = await fetch(`${ROUTE_PREFIX}/status`, { headers: { "Accept": "application/json" } });
  • 发起网络请求
    lib/client.js:346
    const response = await fetch(`${ROUTE_PREFIX}${path}`, {
  • 写入剪贴板
    lib/client.js:574
    await navigator.clipboard.writeText(text);
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-pi-ai@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 管理多账号
展开完整介绍(79 字)↓

一个 DeepSeek Harness 插件:在 DSH 设置里直接管理 WorkBuddy 多账号,并把模型接进 DSH 与任意 OpenAI 兼容客户端。

README

由 DeepSeek 最新模型翻译生成
DSH HyperWorkBuddy [!WARNING] WorkBuddy 上游正在持续收紧对非官方客户端的识别与拦截。(2026-10-30) - 渠道校验:2026-10-16 起,国内版网关对请求正文做内容级校验,命中特征片段直接返回 400,客户端只看到「请求被拦截,请重新发送」。 - 指纹漂移:校验规则仍在变动——0.1.3 命中的是品牌名,0.1.4 命中的是与品牌无关的路径说明段。每次变动都可能让插件当次失效,需等对应修复版本。 - 账号封禁:国际版已有账号整批返回 403 / 11140,官方客户端同样被拦,属账号级封禁,插件侧无法绕过,换号没有意义。 - 可用性:上游可能随时进一步收紧,本插件不保证长期可用,也不保证修复后账号不被封。 本项目仅供协议学习、研究与个人自用:请优先使用官方客户端,不要使用主账号,不要共享账号,不要用于商业转售。 [!IMPORTANT] 维护方式:跟随上游节奏,被动修复。 上游每次变动需先被观察、定位、真机验证,才会出修复版本;每条修复都在 Releases 里附带定位证据与验证结果。 不承诺响应时效。遇到「请求被拦截」先升级到最新版本,仍失败再提 Issue 并附上版本号与报错原文。
展开完整文档(README 剩余 1 节)
DSH HyperWorkBuddy

[!WARNING]
WorkBuddy 上游正在持续收紧对非官方客户端的识别与拦截。(2026-10-30)

- 渠道校验:2026-10-16 起,国内版网关对请求正文做内容级校验,命中特征片段直接返回 400,客户端只看到「请求被拦截,请重新发送」。
- 指纹漂移:校验规则仍在变动——0.1.3 命中的是品牌名,0.1.4 命中的是与品牌无关的路径说明段。每次变动都可能让插件当次失效,需等对应修复版本。
- 账号封禁:国际版已有账号整批返回 403 / 11140,官方客户端同样被拦,属账号级封禁,插件侧无法绕过,换号没有意义。
- 可用性:上游可能随时进一步收紧,本插件不保证长期可用,也不保证修复后账号不被封。

本项目仅供协议学习、研究与个人自用:请优先使用官方客户端,不要使用主账号,不要共享账号,不要用于商业转售。

[!IMPORTANT]
维护方式:跟随上游节奏,被动修复。

上游每次变动需先被观察、定位、真机验证,才会出修复版本;每条修复都在 Releases 里附带定位证据与验证结果。

不承诺响应时效。遇到「请求被拦截」先升级到最新版本,仍失败再提 Issue 并附上版本号与报错原文。

一个 DeepSeek Harness 插件:在 DSH 设置里直接管理 WorkBuddy 多账号,并把模型接进 DSH 与任意 OpenAI 兼容客户端。

- 设置里直接就是一级选项——「设置 → WorkBuddy」,不是藏在「设置 → 插件」里面;
- 多账号池——自动跟随桌面 App 登录,也可手动导入任意多个账号,请求在账号间轮询并自动故障切换;
- 模型直接进 DSH——注册独立 provider,模型选择器里直接选;
- OpenAI 兼容端点——同时给 Codex / Claude Code / 其他客户端用,带总开关;
- 国内版 / 国际版分区——两版各有独立账号池、端点与模型表,互不串号。

功能

| 功能 | 说明 |
| 对外接口开关 | 独立控制 OpenAI 兼容端点;关闭后仅停止对外服务,DSH 内的模型调用不受影响 |
| API Key 管理 | 对外 Key 支持一键重新生成与自定义;旧 Key 立即失效,无需重启 |
| 双版本隔离 | 国内版与国际版各自维护账号、端点与模型表,同名模型不会串到另一区域 |
| 分区折叠 | 每个版本分区可展开 / 收起 |
| 一键刷新 | 批量刷新该版本全部账号的模型目录与积分 |
| 链接登录 | 浏览器内完成官方授权,账号自动导入,无需手动复制 token |
| 档位探测 | 上游未声明推理档位时可手动探测:逐档位发一条最小请求,只采纳上游接受的档位 |
| 一键签到 | 国内版批量为全部账号签到,完成后自动刷新积分 |
| 账号管理 | 自动发现桌面客户端登录;支持粘贴 token 与导入账号文件 |
| 故障转移 | 额度不足、限流或登录失效时自动切换账号,并对该账号指数退避 |
| 会话亲和 | 同一会话固定走同一账号,保住上游的提示缓存命中,不会被轮询打散 |
| 用量看板 | 记录每次请求的 token 与耗时,汇总今日 / 累计 / 近 7 天 / 分账号 / 分模型 |
| 自动续期 | access token 临近过期时自动刷新 |
| 模型显隐 | 可单独关闭模型,仅影响选择列表,不中断进行中的会话 |
| 推理档位 | 按上游声明的档位在 DSH 内选择;未声明的可探测补齐 |
| 第三方导入 | 兼容 WorkBuddy2API-Hub 导出格式,支持批量导入 |

安装

前置:已安装并登录 WorkBuddy 桌面 App(国内版或国际版均可)。插件复用 App 的登录状态,零配置即可用。

本包没有发布到 npm,npm install dsh-hyperworkbuddy 会以 404 结束。
请用下面的仓库地址安装。

方式一:桌面 App 的插件页(推荐)

1. 打开 DSH 侧边栏的 插件 页 → 添加插件;
2. 「包名或地址」填仓库地址:

https://github.com/ChaYeWuu/dsh-hyperworkbuddy

3. 点「安装」,装完 完全退出并重启 DSH(新增 bundle 不会被热加载)。

插件页会自己把 dsh-hyperworkbuddy 写进 profile 的 dsh.profile.bundles,不需要手工改 package.json。仓库里带着构建产物 lib/,从 GitHub 直接装不用先构建。

填 GitHub 地址时插件页会先做一次连通性预检(默认 5 秒超时),拉取完成后才校验内核版本兼容性——所以「无法访问 GitHub」多半就是预检超时,换网络或挂代理后重试。

方式二:交给 Agent

把下面这段原样发给能读写本机的 AI 助手:

请帮我在本机安装 DSH 插件 dsh-hyperworkbuddy:
1. 先确认 DSH 桌面 App 的内置核心版本(看 App 的「关于」页,不要用独立 CLI 的
dsh --version 代替,它通常比桌面内核旧);
2. 在 DSH 侧边栏「插件」页 →「添加插件」里填入 https://github.com/ChaYeWuu/dsh-hyperworkbuddy 并安装;
3. 安装完成后完全退出并重启 DSH;
4. 确认设置左侧导航出现「WorkBuddy」一级菜单,模型选择器里出现 WorkBuddy 与 WorkBuddy AI 两个分组。
安装失败时把插件页上的完整报错贴回来。

方式三:手动改 profile(插件页不可用时)

desktop profile 由桌面 App 独占管理,dsh plugin --profile desktop … 会被 CLI 直接拒绝(profile "desktop" is managed exclusively by the Electron application),所以只能改文件:

1. 完全退出 DSH,并备份 ~/.dsh/profiles/desktop/package.json 与同目录的 pnpm-lock.yaml;
2. 在 package.json 的 dependencies 里加一行,并把包名追加进 dsh.profile.bundles:

{json
"dependencies": {
"dsh-hyperworkbuddy": "github:ChaYeWuu/dsh-hyperworkbuddy"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-hyperworkbuddy"
]
}
}

3. 在 profile 目录里用 pnpm 安装(该目录有 pnpm-workspace.yaml,npm 不认):

sh
cd ~/.dsh/profiles/desktop
pnpm install

4. 重启 DSH。桌面 App 不捆绑 pnpm,用系统里已装的那个即可;版本过旧会在 pnpm store 上报错,升级 pnpm 后重试。

方式四:命令行安装(web / CLI profile)

上面的 desktop profile 只能走 App,但 web 等 CLI profile 可以用标准命令安装: sh
dsh plugin --profile web add github:ChaYeWuu/dsh-hyperworkbuddy

必须写 github: 前缀——本包不在 npm 上,写成裸包名会去 npm 找然后 404。装完同样要完全退出并重启 DSH。

版本要求

插件要求 DSH 内核 ^0.2.0-rc.1(桌面版 0.2.0-rc.2 满足)。内核不兼容时插件页会拒绝安装并列出所需版本与当前内核版本;按 GitHub 地址安装时这一步在拉取完成之后。

想自己改源码: sh
git clone https://github.com/ChaYeWuu/dsh-hyperworkbuddy.git
cd dsh-hyperworkbuddy
npm install
npm run build # 产物在 lib/

使用

重启后打开 设置 → WorkBuddy,面板分五块:

1. OpenAI 兼容端点——一个对外总开关,外加 API Key 一键复制。
关掉只停掉对外端点(释放端口),DSH 里的模型照常可用。
2. 国内版分区——WorkBuddy 的账号与模型,带自己的对外端点地址(默认 http://127.0.0.1:8791/v1)。
3. 国际版分区——WorkBuddy AI 的账号与模型,带自己的对外端点地址(默认 http://127.0.0.1:8792/v1)。
两版的账号、模型、端口互不干扰:同名模型在两区走的是不同上游。
4. 用量——今日与累计的请求数 / 输入输出 token / 缓存命中率,近 7 天柱状图,以及今日的分账号、分模型明细。
5. 导入区——「重新扫描并刷新」「链接登录」「导入单个账号」,底部是第三方导入。

每个分区可折叠,收起后只剩标题行。分区里:

- 账号:显示来源、状态、积分(含套餐明细可展开)、模型数、到期时间,可单独刷新积分 / 刷新模型 / 停用 / 移除。所有操作都有进行中反馈。
- 模型开关:每个模型一个复选框,另有「全部开启 / 全部关闭」。上游声明了推理档位的模型会在下面列出档位(low / medium / high / xhigh / max),默认档位高亮。

模型在 DSH 里分成两组:WorkBuddy 与 WorkBuddy AI。

链接登录

「链接登录」向官方申请授权链接并自动在默认浏览器打开,登录完成后账号自动入库:

1. 选择版本,点击「生成授权链接」(授权页自动打开)
2. 在浏览器中完成登录
3. 返回面板,账号自动出现(授权窗口 10 分钟,插件每 2 秒轮询一次)

一键刷新与一键签到

- 一键刷新(两个版本均有):批量刷新该版本全部账号的模型目录与积分。
- 一键签到(仅国内版):批量为全部账号签到,完成后自动刷新积分。
上游返回 10001(当日已签)按成功处理。国际版无签到体系,按钮不显示。
- 每日自动签到(仅国内版):打开开关后立刻补签一次,之后每天第一次轮询时自动签到。
每个版本每天只尝试一次——失败多半是上游抖动,每轮重试只会把失败放大,当天剩下的时间可以手动点「一键签到」补上。面板会显示上次自动签到的日期。

推理档位与探测

档位优先采用上游在目录里声明的 supportedEfforts。上游没声明时,模型条目下方会出现「探测档位」按钮:

1. 逐个档位(low / medium / high / xhigh / max)发一条 max_tokens: 1 的最小请求
2. 只记录上游接受的档位
3. 一旦遇到限流、额度不足或登录失效立刻中止,并且不写入任何结论——这些情况说明不了档位是否有效

探测会消耗少量额度,因此只在手动触发时执行;结果持久化在状态文件里,上游的声明始终优先于探测结果。

第三方导入

面板底部的「第三方导入 → WorkBuddy2API-Hub 导入」用于从其他 WorkBuddy 管理面板迁移账号,接受:

- WorkBuddy2API-Hub 的导出文档({"format":"workbuddy-accounts","accounts":[…]})
- 裸账号数组、单个账号对象、桌面客户端凭据({auth, account})
- cockpit 风格的 snake_case 行(access_token / refresh_token / expires_at)

导入时区域以 token / 域名为准(不信任行里可能过期的 realm),易变字段(冷却、错误、停用标记)一律丢弃,逐行容错。

用量看板

面板里的「用量」区块记录每次请求,数据只落本机:

- 今日 / 累计:请求数、失败数、输入 token、输出 token、缓存命中率;
- 近 7 天:按天的 token 柱状图;
- 今日明细:分账号、分模型两张表(账号行会标出失败次数)。

统计从 $DSH_HOME/.hyperworkbuddy-usage.jsonl 折出来——每次调用追加一行 JSON,读取时按天聚合,只保留最近 8 天。这张流水同时也是排查问题的依据:想知道某个账号到底跑了多少、某个模型是不是在烧额度,看这里即可。
面板上的「清空记录」需要点两次才会执行(第二次变成「确认清空」),清空后流水文件也会删掉。
流水的写入失败不会影响正常请求——写不进去就只是不再记录。

状态文件位置

账号与开关存放于宿主提供的 home 目录下(桌面版为 ~/.dsh/profiles/desktop/):

| 文件 | 内容 |
| .hyperworkbuddy-accounts.json | 账号池(含明文 token) |
| .hyperworkbuddy-state.json | 对外端点开关、逐模型显隐 |
| .hyperworkbuddy-endpoint-key | 自动生成的对外 API Key |
| .hyperworkbuddy-usage.jsonl | 请求流水(每次调用一行 JSON) |

早期版本优先读取 $DSH_HOME(~/.dsh),与桌面版宿主不一致,会导致账号在两个文件间分叉。现在启动时会自动迁移账号更多的那一份,并在原文件旁保留 .migrated-from-legacy 备份。

两个端点的分工

插件给每个版本起两个端点,这是「关掉对外端点不影响 DSH」的实现方式:

| | 内部端点 | 对外端点 |
| 端口 | 随机(不占用配置端口) | 配置端口(8791 / 8792) |
| 鉴权 | 仅进程内密钥 | 面板里的 API Key |
| 用途 | DSH 自己的 provider | Codex / Claude Code 等外部客户端 |
| 开关 | 始终在跑 | 面板总开关 |

所以关掉总开关时:对外端口真的释放,外部客户端连不上;而 DSH 侧连的是内部端点,模型选择器、对话、故障切换一切照常。

多账号是怎么工作的

- 自动发现:每 30 秒重扫桌面 App 的凭据文件,App 里换账号 DSH 侧自动跟随。
- 手动导入:面板里粘贴 token,账号写入 $DSH_HOME/.hyperworkbuddy-accounts.json。
- 选取策略:优先选「使用次数最少」的账号,同档次按游标轮转,避免把负载压在一个账号上。
- 会话亲和:同一个会话(DSH 会自动带上会话标识)一旦成功用过某个账号,后续请求继续走它。
这不是为了均衡,而是为了命中上游的提示缓存——上游缓存按账号隔离,同一段前缀换账号就要重算。
该账号不可用(停用 / 冷却 / 额度耗尽)时自动退回轮询策略,不会把请求卡住。
- 失败切换:某个账号遇到额度不足(402)/ 限流(429)/ 会话失效(401)/ 上游 5xx 时,自动换下一个账号重试,并对该账号做指数退避冷却(首次 60 秒,翻倍至 1 小时)。全部账号都失败时返回最后一个真实错误。
- token 续期:access token 临近过期(5 分钟)时自动用 refresh token 续期。
- 按版本隔离:国内版端点只用国内版账号,国际版端点只用国际版账号。

外部客户端接入

把面板里对应分区复制的地址与 API Key 填进任意 OpenAI 兼容客户端: sh

国内版

export OPENAI_BASE_URL="http://127.0.0.1:8791/v1"
export OPENAI_API_KEY="面板里显示的那个 Key"

国际版

export OPENAI_BASE_URL="http://127.0.0.1:8792/v1"

模型名填模型选择器里看到的 id,如 deepseek-v4.1-flash。

API Key 管理:面板上的 Key 可以一键「重新生成」或「自定义」。
两者都是立即生效——旧 Key 马上失效,不需要重启 DSH。
若 Key 来自 profile 配置里的 apiKeys,面板会提示去配置里改,避免改了没效果。

端点只监听 127.0.0.1,并强制校验回环 Host 与 Origin。未显式配置 apiKeys 时,插件会自动生成一把密钥(存于 home 目录下的 .hyperworkbuddy-endpoint-key)并在面板里显示,而不是把端点对本机任意进程完全开放——否则任何本地程序都能花掉你的 WorkBuddy 额度。
要跨机使用,请自行在前面加一层带鉴权的反代。

配置

在 profile 的 cordis.patch.yml 里覆盖: yaml
- id: llm-hyperworkbuddy
name: dsh-hyperworkbuddy
config:
port: 8791 # 国内版端点端口,0 表示随机 portAI: 8792 # 国际版端点端口,0 表示随机 endpointEnabled: true # 端点总开关的初始值(之后可在面板里随时改)
apiKeys: [] # 外部客户端使用的 Key;留空用自动生成的密钥
hiddenModels: [] # 初始隐藏的模型 id(之后可在面板里逐个切换)
followDesktop: true # 是否自动跟随桌面 App 登录

端点总开关与逐模型开关在面板里改过之后,以面板为准并持久化在 $DSH_HOME/.hyperworkbuddy-state.json;上面的配置只在首次运行时作为初始值。

验证安装

重启后按顺序确认:

1. 对外端点已起——http://127.0.0.1:8791/healthz 与 http://127.0.0.1:8792/healthz
应分别返回 {"ok":true,"variant":"hyperworkbuddy",…} 与 …"hyperworkbuddy-ai"…。
2. provider 已注册——打开 http://127.0.0.1:19387/api-hyperworkbuddy/status,检查 variants[].providerRegistered 均为 true。若为 false,同一条目里的 providerError 会给出原因。
3. 设置里有入口——打开 设置,左侧导航应出现 WorkBuddy 一项(一级菜单,与「模型」「插件」并列)。点击后是账号池与模型开关面板。

模型会以 WorkBuddy 与 WorkBuddy AI 两个分组出现在模型选择器里。

左侧导航的图标是设置齿轮:DSH 的设置外壳只为一小组内置 id(models、 agent-presets、plugins 等)准备了专属图标,第三方分区一律回落到齿轮。

排查

| 现象 | 原因与处理 |
| 插件页报「无法访问 GitHub」 | 预检超时(默认 5 秒),换网络或挂代理后重试 |
| 插件页报「不兼容」 | 内核版本不在 ^0.2.0-rc.1 内,升级 DSH 桌面 App |
| npm install dsh-hyperworkbuddy 报 404 | 该包没发布到 npm,改用仓库地址安装(见「安装」) |
| 设置里没有 WorkBuddy | 没重启,或 bundle 未加进 dsh.profile.bundles |
| providerRegistered: false | 看该分区的 providerError |
| 模型列表为空 | 面板里点「重新扫描并刷新」;确认对应桌面 App 已登录 |
| 国际版账号不出现 | 国际版凭据是加密的,需在面板手动导入 accessToken(或导入 hub 导出) |
| 积分显示「未获取」 | 点该账号的「刷新积分」;仍失败时看账号卡片上的错误文案 |
| 分区里提示「对外端点未启动」 | 端口被占用,改配置里的 port / portAI,或设 0 用随机端口 |
| 关掉对外端点后模型还在 | 这是预期行为:关闭只影响外部客户端,DSH 侧不受影响 |
| 提示「请求被拦截,请重新发送」 | 上游的内容级渠道校验(code=11128)。0.1.3 起会自动改写触发串,升级后仍出现请附上 lastError 反馈 |

支持的产品

| 产品 | 区域 | 凭据文件 | 默认端点 | 状态 |
| WorkBuddy(国内版) | cn | workbuddy-desktop.info | :8791 | ✅ 完整支持 |
| WorkBuddy AI(国际版) | global | workbuddy-desktop-ai.info | :8792 | ⚠️ 见下 |

关于国际版的加密凭据

WorkBuddy AI 自 5.6.x 起把 accessToken 存成 $wbEncrypted 信封(AES-256-GCM),解密密钥编译在桌面端原生模块里、磁盘上没有明文。本插件不做进程内存读取,遇到加密凭据时会在面板里如实提示,请在面板中手动导入 accessToken,或直接粘贴 hub 导出的账号文档。

国内版凭据是明文,自动发现开箱即用。

凭据与安全

- 桌面 App 的凭据文件只读不写——插件绝不修改 WorkBuddy 自己的登录状态。
- 手动导入的账号写入 $DSH_HOME/.hyperworkbuddy-accounts.json,含明文 token,请勿同步到公开位置。
- 端点密钥存于 $DSH_HOME/.hyperworkbuddy-endpoint-key;回环端点的进程内密钥仅存于内存,不落盘。
- 面板与端点都只接受回环请求。

已知限制

- 依赖 WorkBuddy 客户端私有接口(非官方开放 API),上游改动可能导致失效。
- 国际版目录走 App 界面接口,服务端按 User-Agent 分流,属私有实现,上游改动可能使其失效;此时保留上次成功目录并标明来源。
- 上游 chat 只接受流式,非流式请求会被自动改写为流式。
- 国际版与国内版账号各自独立调度,暂不支持跨区域混合轮询。
- 上游对请求正文做内容级渠道校验,插件会改写 system 里会触发校验的片段(user 原话不动)。这条规则随时可能再变。

开发 sh
npm install
npm run build # esbuild 打包 lib/index.js(host)与 lib/client.js(浏览器)
npm run typecheck # 类型检查

仓库只包含插件本身与它的源码:lib/ 是构建产物(随仓库提交,从 GitHub 直接安装的用户因此不必先构建),src/ 是源码。测试与 lockfile 属本地开发用,不进仓库。

源码结构:

src/
index.ts host 入口:按版本装配账号池、端点、provider 与管理路由 accounts.ts 多账号池:存储、轮询、冷却、故障切换 auth.ts 桌面凭据发现与解析(含加密信封识别) upstream.ts WorkBuddy 上游 HTTP 客户端、错误分类与积分读取 shim.ts OpenAI 兼容回环端点(按版本隔离账号) adapter.ts pi-ai provider 适配(每版本一个,含推理档位映射) import.ts workbuddy2api-hub 导出文档解析与导入 state.ts 面板可改的运行时状态(对外端点开关、逐模型开关) usage.ts 请求流水与用量聚合(今日 / 累计 / 分账号 / 分模型) variants.ts 国内版 / 国际版变体定义 client/index.tsx 浏览器半边:settings.section 一级设置页

免责声明

- 本项目仅供个人学习和研究使用,仅驱动使用者自己的 WorkBuddy 账号在本机调用。
- 使用者需遵守 WorkBuddy 的服务条款;因使用本项目产生的任何后果由使用者自行承担。
- 本项目与腾讯、WorkBuddy、DeepSeek 均无关联,未获其授权或认可。

参考

- workbuddy2api-hub —— 多账号池、熔断退避与看板形态的参考。
- dsh-workbuddy-connect —— WorkBuddy 上游协议与 pi-ai 适配路径的参考。

许可证

MIT
预览分享卡片长什么样 ↓ChaYeWuu/dsh-hyperworkbuddy
分享 · DeepSeek Harness Hub
ChaYeWuu/dsh-hyperworkbuddy

一个 DeepSeek Harness 插件:在 DSH 设置里直接管理 WorkBuddy 多账号,并把模型接进…

这是你的仓库?认领条目

回到顶部