DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Wxbridge — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@zmainer/wxbridge

Wxbridge

DSH 插件:将 WeChat(官方 iLink/ClawBot)连接到 DeepSeek Harness——设置页面提供实时桥接状态、二维码设备配对,以及内置的 bridge + keeper kernel。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @zmainer/wxbridge@1.0.6
README兼容性版本

兼容性与来源证明

Wxbridge 以 @zmainer/wxbridge 发布,当前版本为 1.0.6。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/21

版本

1.0.6stable
2026/9/21
1.0.3stable
2026/9/21
1.0.2stable
2026/9/21
查看其余 5 个版本收起版本
1.0.1stable
2026/9/21
0.0.16stable
2026/9/21
0.0.15stable
2026/9/21
0.0.11stable
2026/9/21
0.0.5stable
2026/9/21

相关插件

正在加载相关插件…

最新版
1.0.6
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
287.7 kB
文件数
44
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

@zmainer/wxbridge

DSH(DeepSeek Harness)插件:把手机微信接到本机 DSH,让微信消息驱动本机执行任务。

  • 宿主半:注册独立前缀路由 /wxbridge/*,托管桥进程(启动/停止/重启/体检),向设置页提供实时状态与预设下拉。
  • 客户端半:设置 → 微信连接 面板(React),显示桥的真实状态、启停按钮、扫码配对,以及手机通道预设选择。
  • 内核:lib/kernel/ 内置零依赖的 bridge.mjs(iLink 长轮询收发 + ACP 会话执行)与 keeper.mjs(存活自检 + 脱树重启)。路径、工作区、知识库、预设全部可配置,无硬编码。

执行路径(1.0 起:ACP 原生会话)

手机消息不再由插件拼接上下文,而是交给 DSH 自己的会话:

微信 → iLink → bridge(内核) → 常驻 `dsh --profile acp`(Agent Client Protocol v1,stdio)
                              → DSH 原生会话($DSH_HOME/sessions/…,可 list / resume)
  • 每个微信联系人一条会话:会话 id 存在桥状态里;桥或宿主重启后 session/resume 续接,上下文不丢。
  • 每个「档位」一条独立会话:档位 = 通道预设(见下),切档不串上下文。
  • 执行优先级:① ACP 原生会话 → ② 宿主内执行 → ③ 一次性 headless(兜底,仍用「固定提示词 + 历史」拼接)。
  • 模型/推理强度可切(/model、/effort),选择按 peer 记忆;每次 new/resume 后重新施加(ACP 的会话配置不随会话日志持久化)。

安装

dsh plugin --profile <profile> add @zmainer/wxbridge

装完确认 profile 的 package.json 里 dsh.profile.bundles 含 @zmainer/wxbridge(pnpm 因被忽略的构建脚本非零退出时,这一步会被跳过,需手工追加)。

预设(agent preset)

手机通道的身份 = 你选定的全局预设(工具 + 提示词 + 技能都来自它)。

  • 面板:设置 → 微信连接 → 「手机通道预设」下拉(列表来自 DSH 名册:$DSH_HOME/.agent-presets/ 用户预设 + 运行时出厂预设),点「保存预设」写入 $DSH_HOME/wxbridge/config.json 的 acp.preset。
  • 手机:/预设 列清单并切换;/预设 自检 回报当前档是否真的按预设组装(system 长度 + 关键标记 + 会话头 agentPreset)。
  • 不指定时按 config.json 的 acp.preset → 宿主 settings.yaml 的 agent-presets.default → 插件自带「普通对话」。
  • 「普通对话」是插件自带的收窄档:不注入技能目录,人格为对话助手,不会主动读写工作区/知识库。

预设补丁(compat shim,临时)

@deepseek-ai/dsh-acp 目前不会把会话加入预设(其 create/resume 的 setup 只装模型选择与 MCP, 没有 agentPresets.mount()),因此选定预设不会生效。插件内置一个幂等补丁(lib/kernel/acp-preset-shim.mjs), 在启用预设时给已装的 dsh-acp 补上这一调用:

  • 已支持 / 已打过 → 直接跳过;锚点对不上(上游改版)→ 拒绝打补丁,一个字节都不写;
  • 写前备份 index.js.wxbridge-bak-<时间戳>,写后先过 node --check 才落盘;
  • 应用升级覆盖后,下一次启用预设时会自动重打(自愈);
  • 关掉它:config.json 里 "acp": { "patchAcp": false }(此时预设不生效,通道退回宿主组合)。

上游支持 Config.preset 后,本补丁会自动让位(检测到原生支持即不再改动文件)。

配置

配置优先级:插件 config → 配置文件 → 环境变量 → 默认值。

配置文件位置:$DSH_HOME/wxbridge/config.json

{
  "dataDir": "<你的数据目录,留空则用 $DSH_HOME/wxbridge>",
  "cwd": "<默认工作区,留空则用宿主启动目录>",
  "vault": "<可选:Obsidian 知识库绝对路径>",
  "intervalMs": 300000,
  "staleMs": 300000,
  "acp": { "preset": "<预设 id,留空跟随 DSH 默认预设>", "enabled": true, "permPolicy": "allow" }
}
键说明默认
dataDir桥的状态/日志/工作目录$DSH_HOME/wxbridge
cwd微信任务的默认工作目录宿主启动目录
vaultObsidian 知识库绝对路径(可选,供提示词模板占位符使用)空
intervalMs / staleMs自检间隔 / 心跳判新阈值300000
prompt手机任务的固定前置提示词(兜底路径用;留空 = 不加任何前缀)空
acp.enabled关掉 ACP 路径(退回一次性 headless)true
acp.preset手机通道预设 id宿主默认预设
acp.homeACP 子进程的 DSH_HOME(决定会话写进哪个仓库)宿主 home
acp.dshBinACP 用的 dsh 入口(默认跟随宿主运行时,schema 才一致)自动
acp.patch覆盖叠层文件路径(预设档自动生成)插件内置
acp.permPolicy权限请求策略:allow / rejectallow
acp.patchAcp是否允许给已装 dsh-acp 打预设补丁true

环境变量:WXBRIDGE_DATA、BRIDGE_CWD、BRAIN_VAULT、DSH_BIN、BRIDGE_HOST_HOME、WXBRIDGE_ACP=off; WXBRIDGE_NO_AUTOSTART=1 / WXBRIDGE_NO_SUPERVISE=1 可关掉自动拉起与自动守护。

配对(首台设备)

  1. 宿主启动后,桥会在 dataDir/auth-token.txt 生成一次性登记 token(ACL 限本人)。
  2. 在手机微信里把该 token 发给机器人(例如 <token> /help)完成登记;之后该设备免 token。
  3. 未登记的发送者会被静默丢弃并写审计日志。
  4. 面板「扫码配对」可直接出二维码(需本机 qrcode 可用;扫码会重新绑定 ClawBot)。

HTTP 接口(宿主半)

方法路径说明
GET/wxbridge/status桥实时状态(phase/polls/pid/心跳年龄/会话数/任务数)+ 数据目录
GET/wxbridge/info数据目录、登记 token、已装 profile
GET/wxbridge/log宿主半操作日志(最近 60 条)
GET/wxbridge/presets预设名册(id/name/description)+ 当前选中值
POST/wxbridge/preset写入预设选择(`{ "preset": "<id
POST/wxbridge/start · /stop · /restart · /tick桥生命周期(tick = 立即体检并按需自愈)
POST/wxbridge/config写配置文件(dataDir/cwd/vault/intervalMs/staleMs/prompt)
POST/wxbridge/task · /scan · /attach宿主内执行 / 会话归组

安全基线

  • 发送者白名单(TOFU)+ 一次性登记 token;未登记静默丢弃。
  • 子进程使用专用 DSH_HOME(dataDir/dsh-home),权限 workspace-write,只拿模型密钥、不含微信 token。
  • 状态文件原子写 + SHA256 校验,校验失败即隔离为 .tampered-*。
  • 输出审计:密钥形态脱敏、外发命令阻断、超大输出截断。
  • 任务超时/取消走 taskkill /T /F 终止整棵进程树;ACP 轮次走协议 session/cancel。
  • 常驻进程重启时清理遗留 running 任务,避免并发闸被永久占死。

数据经腾讯 iLink 通道,不得用于涉密内容。状态与凭据文件为明文,仅靠 ACL 保护。

微信侧指令

指令说明
/预设 [序号|id]列通道预设 / 切换(含插件自带「普通对话」)
/预设 自检验证当前档是否真按预设组装(system 长度 + 关键标记 + 会话头 agentPreset)
/model [序号|provider/model]列模型 / 切换(按会话)
/effort [序号|值]推理强度(off/low/high/max)
/sessions [序号]列出 / 接上 DSH 已有会话(可用于接桌面端开着的会话)
/new开新会话(当前档)
/ws [序号|路径]列/切工作区(换工作区即换会话)
/status桥状态、档位、原生会话 id、模型与强度
/task · /cancel任务与排队 / 取消运行中任务
/help /ping /approve /reject帮助 / 探活 / 审批记录

其余任意文本 → 交给 DSH 执行。

最近变更

  • 1.0.6:日志不再误导 —— bridge-standalone.log 是追加写的,以前面板直接 tail, 会把上一次尝试的崩溃当成这一次的问题(用户实测:"为什么还有 error 日志")。 现在每次启动前由 keeper 写一条分隔线(时间 + kernel 版本 + data/cwd/detached 参数), 面板 /bridge-log 只显示最后一次启动之后的段落并注明省略了多少行历史。 (顺带修掉分隔线里一个未定义常量导致的静默失败:写日志失败现在会打到 keeper 控制台。)
  • 1.0.5:首次使用不再"启动不了" —— 新用户还没有微信凭据时,桥此前会在启动阶段直接抛错退出; 现在改为照常启动、进入 wait-credentials 状态并提示「先在面板扫码配对」,配对写入凭据后自动接手、 无需重启(实测:无凭据启动 → 写凭据 → 12 秒内 phase 转 poll)。另:删掉包内写死某台机器路径的 bridge-watchdog.ps1(无运行时引用),并把 README 的配置示例改成中性占位。
  • 1.0.4:修「启动了却没起来」的三个沉默原因 —— ① 被拉起的桥的 stdout/stderr 以前被丢弃 (现在落 <dataDir>/bridge-standalone.log);② 单实例锁只看 pid 存在,Windows pid 复用会让新实例 静默退出(现在要求「pid 活着 且 心跳新鲜 120s」,否则接管并打印原因); ③ 新增 GET /wxbridge/bridge-log,面板「启动/重启」后会自动回读桥的启动输出。 (另:宿主内嵌 keeper 是只观测,不会自愈;要"死了自动拉起"需装独立 keeper。)
  • 1.0.3:配对二维码不再依赖用户环境 —— 此前宿主半靠 require.resolve('qrcode') 在用户 profile 里 找那个包(本包 dependencies 为空),干净安装的机器渲染不出二维码、只剩"备用链接"; 现在把 qrcode@1.5.4 的编码核心与 dijkstrajs@1.0.3(均 MIT)vendored 进 lib/vendor/, 并用自带渲染器输出 SVG data URL(自带优先,profile 里的 qrcode 退为兜底)。
  • 1.0.2:设置页「微信连接」面板换微信风格视觉(微信绿头卡 + 内联 SVG 双气泡 logo + 状态胶囊/呼吸点、 四张数据卡、胶囊按钮、扫码卡片、聊天气泡样式的登记 token);修复新面板里「保存预设」会把值清空的问题; 面板版本号改为从 package.json 读取(不再写死)。
  • 1.0.1:ACP 原生会话成为默认路径(上下文归 DSH、可 list/resume); 预设选择(面板下拉 + /预设 + /预设 自检);dsh-acp 预设补丁(幂等、可关闭、升级自愈); 模型/推理强度可切;面板「提示词输入框」改为预设下拉;原生控件的皮肤适配修复。

许可

MIT

本包内还原样包含以下第三方代码(均为 MIT,用于不依赖用户环境地渲染配对二维码):

位置来源许可
lib/vendor/qrcode-core/qrcode@1.5.4 的 lib/core/*(编码核心,零外部依赖)MIT © 2012 Ryan Day,见该目录 LICENSE
lib/vendor/qrcode-core/dijkstrajs.jsdijkstrajs@1.0.3 的 dijkstra.jsMIT,见 dijkstrajs.LICENSE
lib/vendor/qr-svg.cjs本插件自带(用上面的核心产出模块矩阵,自绘 SVG)MIT

对 vendored 代码的唯一改动:segments.js 里 require('dijkstrajs') → require('./dijkstrajs') (npm 打包默认忽略 node_modules/,改相对路径才能保证发布包里不缺文件)。详见 lib/vendor/qrcode-core/NOTICE.md。

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Ab Publishdsh-ab-publish浏览器自动化发布工具,可登录任意网站并发布内容,整合为一个可发布的插件包Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "树外 wechat_scrape 工具:获取微信公众号文章,过滤推广区块,并将每篇文章保存为 Markdown 文件,供此机器的 dsh 配置文件维护者使用。" kind: "package-reference" ---Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 r