WorkBuddy 桥接 dsh-plugin-lab/dsh-workbuddy-bridge
DeepSeek Harnessv0.5.5DSH 插件:把 WorkBuddy 桌面 App 里的模型接入 DeepSeek…
47.4/100
综合分
26
GitHub 星标
533
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-workbuddy-bridgenpm 源 · dsh-workbuddy-bridge 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-workbuddy-bridge @ 0.5.5
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 07:01:31
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 45 处,展示前 33 条)
- 读取本地文件lib/index.js:81
if (existsSync(this.path)) try { - 读取本地文件lib/index.js:82
const parsed = JSON.parse(readFileSync(this.path, "utf8")); - 读取本地文件lib/index.js:123
if (!existsSync(directory)) mkdirSync(directory, { recursive: true }); - 写入本地文件lib/index.js:123
if (!existsSync(directory)) mkdirSync(directory, { recursive: true }); - 写入本地文件lib/index.js:129
writeFileSync(temporary, `${JSON.stringify(document, null, 2)}\n`, { mode: 384 }); - 写入本地文件lib/index.js:130
renameSync(temporary, this.path); - 读取本地文件lib/index.js:217
if (existsSync(this.path)) try { - 读取本地文件lib/index.js:218
const parsed = JSON.parse(readFileSync(this.path, "utf8")); - 读取本地文件lib/index.js:258
if (!existsSync(directory)) mkdirSync(directory, { recursive: true }); - 写入本地文件lib/index.js:258
if (!existsSync(directory)) mkdirSync(directory, { recursive: true }); - 写入本地文件lib/index.js:264
writeFileSync(temporary, `${JSON.stringify(document, null, 2)}\n`, { mode: 384 }); - 写入本地文件lib/index.js:265
renameSync(temporary, this.path); - 读取本地文件lib/heartbeat-DYtNMdMm.js:63
text = await readFile(plistPath, "utf8"); - 读取本地文件lib/heartbeat-DYtNMdMm.js:124
const saved = JSON.parse(await readFile(path, "utf8")); - 读取本地文件lib/heartbeat-DYtNMdMm.js:218
document = JSON.parse(await readFile(cliPackagePath(bundle), "utf8")); - 读取本地文件lib/heartbeat-DYtNMdMm.js:319
const saved = JSON.parse(await readFile(savedPath, "utf8")); - 发起网络请求lib/heartbeat-DYtNMdMm.js:1258
response = await fetch(`${chatBase(credential)}/v2/chat/completions`, { - 发起网络请求lib/heartbeat-DYtNMdMm.js:1289
const response = await fetch(`${chatBase(credential)}/v2/plugin/auth/token/refresh`, { - 发起网络请求lib/heartbeat-DYtNMdMm.js:1336
const response = await fetch(`${chatBase(credential)}/v3/config`, { - 发起网络请求lib/heartbeat-DYtNMdMm.js:1376
const response = await fetch(`${chatBase(credential)}/console/enterprises/personal/models`, { - 发起网络请求lib/heartbeat-DYtNMdMm.js:1432
const response = await fetch(`${billingBase(credential)}/v2/billing/meter/get-user-resource`, { - 发起网络请求lib/heartbeat-DYtNMdMm.js:1495
const response = await fetch(`${CN_BILLING_BASE}/v2/billing/meter/get-enterprise-user-usage`, { - 执行外部命令来自配置/变量lib/heartbeat-DYtNMdMm.js:2287
execFile(REG_BIN, [ - 执行外部命令来自配置/变量lib/heartbeat-DYtNMdMm.js:2327
const child = execFile(bin, [...args], { - 读取本地文件lib/heartbeat-DYtNMdMm.js:2520
statSync(candidate); - 执行外部命令来自配置/变量lib/heartbeat-DYtNMdMm.js:2614
execFile(electronPath, [HELPER_SCRIPT_ARGUMENT_FLAG, HELPER_SCRIPT], { - 读取本地文件lib/heartbeat-DYtNMdMm.js:2640
accessSync(path, constants.X_OK); - 删除本地文件lib/heartbeat-DYtNMdMm.js:3107
await rm(this.ownPath, { force: true }); - 删除本地文件lib/heartbeat-DYtNMdMm.js:3108
await rm(`${this.ownPath}.lock`, { force: true }); - 写入本地文件lib/heartbeat-DYtNMdMm.js:4061
await writeFile(workbuddyHostHeartbeatPath(), JSON.stringify(document), "utf8"); - 删除本地文件lib/heartbeat-DYtNMdMm.js:4067
await rm(workbuddyHostHeartbeatPath(), { force: true }); - 执行外部命令固定命令lib/heartbeat-DYtNMdMm.js:4135
const token = execFileSync("wmic", [ - 执行外部命令固定命令lib/heartbeat-DYtNMdMm.js:4148
const out = execFileSync("ps", [
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-client-ui-plugin-manager@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
6 张 · 点击查看大图功能亮点
- 接入桌面App模型
- 零配置使用
- 原生嵌入插件配置
展开完整介绍(75 字)↓
DSH 插件:把 WorkBuddy 桌面 App 里的模型接入 DeepSeek Harness,零配置直接用。(原生嵌入"设置-插件-插件配置")
最近更新
在 GitHub 查看全部 →v0.5.52026-10-29
· Changes
· chore(deps): bump fast-uri from 3.1.8 to 3.1.9 (#23) @[dependabot[bot]](
· Bug Fixes
· fix(wire): 11-128 按真实请求体重写指纹,零宽方案退役 (#26) @zlZayn
· Compatibility
· fix(wire): 11-128 按真实请求体重写指纹,零宽方案退役 (#26) @zlZayn
v0.5.42026-10-26
· Changes
· fix(wire): 国际版聊天注入 X-Trace-ID/X-Conversation-\* 身份头组,通过 11128 渠道校验 (#22) @monesyilya3-Niko
v0.5.32026-10-22
· Changes
· Bug Fixes
· fix(wire): 签名清洗扩到 assistant 回显;user/tool 保持逐字节不变 (#20) @zlZayn
· Compatibility
· fix(wire): 签名清洗扩到 assistant 回显;user/tool 保持逐字节不变 (#20) @zlZayn
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-workbuddy-bridge
把 WorkBuddy 桌面 App 的模型接进 DSH 对话窗口 WorkBuddy desktop models in DeepSeek Harness
各版本改动 → Releases(与 npm 版本一一对应)
简体中文 · English
[!NOTE]
凭据不出本机:登录状态取自 WorkBuddy 桌面 App 自己的凭据文件,插件只在本机留一份加密副本;浏览器半边拿不到令牌,界面里也永远不出现凭据原文。
国内版 WorkBuddy 与国际版 WorkBuddy AI 并存:装哪个 App 就出现哪个模型分组,两个都装就两组并排,各自用自己的账号与积分。模型直接出现在 DSH 的模型选择器里,不必为它单独配一个 provider。
中文界面截图:国内版在模型选择器中自成一组,模型名后直接跟积分倍率与促销徽章;装国际版则出现「WorkBuddy AI」组。
能力
- 开箱即用 —— 装完启用,模型分组自己出现。
- 两版隔离 —— 国内版与国际版各自分组,模型、账号、积分互不混用,只跟随各自 App 的登录状态。
- 推理档位 —— 上游声明了档位的模型直接可选;没声明的可在插件页手动检测。
灯泡表示能切档位;上游已声明的模型也亮着,只是不需要检测。
展开完整文档(README 剩余 1 节)
dsh-workbuddy-bridge 把 WorkBuddy 桌面 App 的模型接进 DSH 对话窗口 WorkBuddy desktop models in DeepSeek Harness 各版本改动 → Releases(与 npm 版本一一对应) 简体中文 · English [!NOTE] 凭据不出本机:登录状态取自 WorkBuddy 桌面 App 自己的凭据文件,插件只在本机留一份加密副本;浏览器半边拿不到令牌,界面里也永远不出现凭据原文。 国内版 WorkBuddy 与国际版 WorkBuddy AI 并存:装哪个 App 就出现哪个模型分组,两个都装就两组并排,各自用自己的账号与积分。模型直接出现在 DSH 的模型选择器里,不必为它单独配一个 provider。 中文界面截图:国内版在模型选择器中自成一组,模型名后直接跟积分倍率与促销徽章;装国际版则出现「WorkBuddy AI」组。 能力 - 开箱即用 —— 装完启用,模型分组自己出现。 - 两版隔离 —— 国内版与国际版各自分组,模型、账号、积分互不混用,只跟随各自 App 的登录状态。 - 推理档位 —— 上游声明了档位的模型直接可选;没声明的可在插件页手动检测。 灯泡表示能切档位;上游已声明的模型也亮着,只是不需要检测。 能切档位的模型会带一个默认档位(上游声明了就按声明,否则取 high),因此选择器里不再出现「Default」这一项。 档位里的 Off 表示「不发送档位参数」:两个接口都不接受这个字面量,所以插件不会把它发出去;实际是否关闭思考由上游决定,插件不做保证。 - 积分可见 —— 每条回复下方显示本次消耗,模型选择器旁常驻剩余积分。拿不到数字时不显示。 - 模型显隐 —— 卡片「模型」标签里勾选哪些模型出现在选择器里,按登录账号分别保存。 - 图片输入 —— 多数模型可直接粘贴或拖入图片;纯文字模型会明确说明。 - 三种界面 —— Web / Desktop / TUI;仅 TUI 无手动检测。 中文界面截图:对话窗口里每天看到的样子:币图标与余额、推理档位灯泡,再往右是模型名——都排在同一行。 中文界面截图:插件页:上面是配置表单,下面两张卡片各跟随自己 App 的登录状态。 安装 前置只有一条:已安装并登录 WorkBuddy 桌面 App(国际版为 WorkBuddy AI App)—— 插件复用 App 的登录状态。 dsh plugin --profile web add dsh-workbuddy-bridge dsh web Desktop 与 TUI 把 --profile web 换成 desktop / dsh-tui(TUI 需较新版本的终端插件 @deepseek-harness-tui/dsh-tui,版本要求见其文档)。 也可以从源码安装: bash git clone https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge.git cd dsh-workbuddy-bridge pnpm install && pnpm build dsh plugin --profile web add "$PWD" ⚠️ 上面那步 pnpm install 不能省:按路径挂载时,依赖要由仓库自己装好(见本地开发装法),漏装则插件显示「未运行」(ERR_MODULE_NOT_FOUND)。 插件页 侧边栏 插件(Plugins) → 已安装 → 点 DSH WorkBuddy Bridge。配置区在描述下面,保存即生效: - 登录文件路径(国内版 / 国际版)—— 留空即用 App 自己的位置。 - 允许推理档位检测、使用上游声明的最大上下文窗口 —— 两个开关。 中文界面截图:「模型」标签:勾选哪些模型出现在选择器里,同时看窗口与倍率。 中文界面截图:左「检测」:每个推理模型一行,点按钮确认它接受哪些推理档位;右「积分」:总余额,下面是各套餐的余量条。 为什么是手动检测 WorkBuddy 接口不保证档位信息可靠——有的模型接受 reasoning_effort 却忽略未知值。所以插件不猜:按需对单个模型发少量真实请求确认;结果只表示上游当前接受该档位,不承诺它改变推理行为。已声明档位的模型跳过这一步,直接用声明值。机制与取舍见 docs/ARCHITECTURE.md。 中文界面截图:已声明档位的模型:灯泡点亮、档位直接可选,检测按钮禁用。 兼容与限制 无凭据的分组不显示。宿主版本下限、平台支持、模型清单从哪来与已知缺口 → docs/COMPATIBILITY.md。 设计取舍 → docs/ARCHITECTURE.md;发版流程 → docs/PUBLISHING.md;维护者文档地图 → AGENTS.md。 免责声明 - 本项目仅供个人学习和研究使用,仅驱动使用者自己的 WorkBuddy 账号在本机调用,请勿用于商业用途。 - 使用者需遵守 WorkBuddy 的服务条款;因使用本项目产生的任何后果,由使用者自行承担。 - 本项目与腾讯、WorkBuddy、DeepSeek 均无关联,未获其授权或认可;文中出现的名称仅用于描述兼容关系,其商标权利归各自所有。 致谢 - Sliverkiss/workbuddy2api(MIT)— WorkBuddy 上游协议的参照实现。 - franksong2702/dsh-codex-connect(Apache-2.0)— DSH 插件结构与 provider 注册的参照。 许可 MIT。 贡献 缺陷与需求走仓库 Issues。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
dsh-plugin-lab/dsh-workbuddy-bridge
DSH 插件:把 WorkBuddy 桌面 App 里的模型接入 DeepSeek…
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,462已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,848已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,246已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 4,717已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,711已汉化DSH
71.1