用 dsh-wechat-bridge 把本机 DeepSeek Harness 接到微信

前言

DeepSeek Harness(dsh)把智能体跑在本机:查资料、改代码、处理文件,都在你自己的电脑上完成。官方把这件事概括成「Everything is a plugin」——模型、工具、会话、沙箱和界面都可以拆成插件来组合。开发者预览版仍在演进,社区也在往外接通道上补能力。

本机跑得通之后,下一个常见需求是:人在外面,只拿得出手机微信,能不能把同一套 DSH 当移动终端用。常见做法是再搭一层网关、公网入口,或者把 OpenClaw 全家桶拉进来。维护成本会跟着上来,而你真正要的往往只是一条管道:微信发消息,家里或办公室那台已经能跑 dsh web 的机器干活,结果再回微信。

dsh-wechat-bridge 做的就是这条管道。它走腾讯官方 iLink 机器人通道(微信里「ClawBot / 龙虾」同款),扫码配对后长轮询收消息,再调用本机 DSH 发回回复。社区插件目录 deepseek-harness-plugin.com 把它归在「会话与消息」类。需要说明:该目录是独立站点,和 DeepSeek / 幻方没有官方从属关系,不是官方应用商店。

本文按目录详情页、GitHub 仓库 README / package.json / LICENSE,以及 DeepSeek Harness 官方仓库核对后整理。

这是什么

dsh-wechat-bridge 是一款把 DeepSeek Harness 接到微信的传输插件,由 gtaifu 维护,托管在 GitHub 仓库 gtaifu/dsh-wechat-bridge,许可证为 MIT。package.json 当前版本是 1.1.0,要求 Node.js >= 18。截至 2026 年 8 月 18 日,仓库有 7 颗星。

它解决的问题很具体:把微信变成 DSH 的移动终端。仓库 README 把数据路径画成:

手机微信 ──► 腾讯 iLink 官方通道 (ilinkai.weixin.qq.com) ──► weixin-bot.mjs ──► 本机 DSH
    ▲                                                              │
    └────────────────────────── 回复 ──────────────────────────────┘

协议对照的是腾讯官方开源 SDK @tencent-weixin/openclaw-weixin 2.4.6。官方 OpenClaw 微信插件本身也只是这套协议的客户端,AI 后端可以自选;腾讯侧按仓库的说法只是管道。因此这里不需要 OpenClaw 运行时,也不需要公网服务器或额外网关。

适合已经会装 DSH、并且希望「随时在微信里」用私有助理的人。仓库声明的验证基线是:Node.js >= 18dsh@0.1.0-rc.6(npm)、iLink 对照 SDK 2.4.6,操作系统覆盖 Windows / macOS / Linux,最后验证日期为 2026-08-14。新版本 DSH 一般向后兼容(桥接只调用 dsh 的 headless 子命令),但升级 DSH 或官方 SDK 之后,README 要求先跑本地闭环测试,再连真实微信。

核心功能

零运行时依赖,扫码即用

实现只用 Node 内建模块,不装 npm 运行时依赖,也不起独立 daemon。个人微信免申请、免白名单:终端打印二维码链接,手机微信打开并确认即可配对。登录凭证会自动续期;收到腾讯 errcode -14(token 失效)会自动重新扫码。凭证有效期由腾讯服务器决定,社区实测大约 24 小时,官方没有承诺时长。

微信侧需要在「我 → 设置 → 插件」里添加「ClawBot / 龙虾」插件。这是腾讯官方通道,和逆向个人微信协议不是同一类方案。

一人一上下文,会话可命名

每个微信联系人(from_user_id)有独立的 DSH 对话记忆和工作目录,默认落在 data/workspaces/ 下。跨轮次的文件操作结果会保留;记忆按条数和字符双上限滚动裁剪。

同一联系人还可以有多个命名会话:默认会话叫 main。微信里用斜杠指令切换:

指令 作用
/help 指令列表
/status 连接剩余时间、当前会话与记忆条数
/time 本次连接剩余时间
/sessions 列出会话(记忆轮数 + 当前标记)
/new <名字> 新建命名会话并切换过去
/switch <名字> 切换会话
/clear [名字] 清除当前或指定会话的对话记忆(工作目录文件保留)
/reconnect 手动重新连接
/send <文件路径> [说明] 把电脑上的文件发到微信

/send 的绝对路径直接用;相对路径按当前会话的工作目录计算。图片、视频按媒体发送,其余按文件发送。微信发来的图片、文件、视频会自动下载解密,落到 data/media/。语音保存为官方原始 .silk,仓库当前不做转码。

可审计,也能指定工作目录

聊天记录、DSH 完整运行轨迹、运行日志分三层可查。对话原文在 data/history/(本地明文 JSON);DSH 轨迹仍由 DSH 自己写在 ~/.dsh/sessions/。命令入口包括:

node weixin-bot.mjs chats
node weixin-bot.mjs history --chat <ID> --last 20
node weixin-bot.mjs sessions --chat <ID>

<ID> 可以用完整 chatId、用户 ID,或 chats 列出的 hash 键。

如果希望某个会话直接跑在代码仓库根目录,而不是默认的 data/workspaces/,可以在数据目录放 workspace-overrides.json。值可以是路径字符串,也可以是带权限的对象:

{
  "0bf36b275c23e653": {
    "dir": "D:\\path\\to\\your\\workspace",
    "permission": "danger-full-access"
  }
}

键是该会话默认工作目录名(safeKey(chatId) 的前 16 位,可用 node weixin-bot.mjs chats 的「键」列查看)。permission 可选 read-onlyworkspace-writedanger-full-access;不设则跟随 DSH 全局设置。danger-full-access 表示不限制文件读写、不弹审批。改完后要重启 dsh-weixin run 才生效。

仓库里还有通用桥接 bridge.mjs,提供 serve 子命令(HTTP 壳,默认端口 8317、绑定 127.0.0.1,可选 --token 鉴权),给 OpenClaw exec、wechaty 等外部程序调用。日常连微信走的是 weixin-bot.mjs / dsh-weixin

仓库已声明的限制

  • 单条回复超过 --reply-max-chars(默认 3800)会截断,完整结果在 DSH 工作目录或终端里。
  • 群聊:官方插件当前声明仅 direct chat,群消息不保证。
  • 同一时刻只有一条 DSH 任务在跑,不同联系人串行排队。
  • 腾讯可能变更协议端点或字段;失效属于协议漂移,升级本仓库再验证即可。

安装与启用

插件以当前 dsh 进程的权限运行,安装时可能执行代码。安装前请检查源代码仓库和许可证;如需可复现安装,请固定 commit 哈希。

社区目录页给出的安装命令是(以页面原文为准):

dsh plugin add github:gtaifu/dsh-wechat-bridge

固定到某个 commit 时写成:

dsh plugin add github:gtaifu/dsh-wechat-bridge#<commit>

<commit> 换成仓库里的真实哈希。

仓库 README 把日常使用建立在全局命令 dsh-weixin 上。当前可用的源码安装方式:

git clone https://github.com/gtaifu/dsh-wechat-bridge.git
cd dsh-wechat-bridge
npm install -g .

国内也可以用 README 标明的 Gitee 镜像:https://gitee.com/gtaifu/dsh-wechat-bridge。Windows 下可以不安装,直接运行仓库里的 dsh-weixin.cmd,或 node weixin-bot.mjs <子命令>

README 另写了一种 npm install -g dsh-wechat-bridge,并注明「npm 发布后可用」;仓库验证清单里,按包名安装这一项仍标为待复跑。因此目前不要把 npm 包名安装当成已经走通的路径。

卸载命令、清除凭证和删除本地 data/ 的做法见仓库 README。DSH 自己的运行轨迹在 ~/.dsh/sessions/,与本插件的数据目录相互独立。

典型用法

环境:Node 18+;本机已安装 DSH,且 dsh web 能跑。

连真实微信

dsh-weixin login
dsh-weixin run
  1. login 时终端会打印二维码链接,用手机微信打开该链接并确认。
  2. 在微信「我 → 设置 → 插件」中添加「ClawBot / 龙虾」。
  3. 配对成功后,给 Bot 发消息即可。run 需要保持终端开着。

强烈建议加上 --allow-from,只响应指定用户 ID(逗号分隔)。仓库写得很明确:任何能给你微信发消息的人,都能触发本机 DSH 执行任务,权限等价于你本机账号。登录凭证在 --auth-file(默认 weixin-auth.json)里,含 bot token,不要提交到版本控制或外传。

常用命令行选项(均有 DSH_WXBOT_* / DSH_BRIDGE_* 环境变量等价项):

选项 默认 说明
--base-url https://ilinkai.weixin.qq.com iLink 端点
--data-dir ./data 凭证、记忆、工作目录根
--allow-from 全部 只响应指定用户 ID
--reply-max-chars 3800 单条回复截断上限
--dsh-bin 自动解析 找不到 dsh 时指定可执行文件
--no-typing 不发「正在输入」状态

停接收消息:在 dsh-weixin run 的终端按 Ctrl+C。清除本机登录凭证:dsh-weixin logout。历史数据默认不删,重新 login 可以恢复。

本地闭环(不连真实微信)

仓库提供 mock iLink 服务器,用来验证协议头和收发流程,不消耗模型:

# 终端 A
node test-mock-ilink.mjs --port 8899

# 终端 B(Linux / macOS)
export DSH_BRIDGE_MOCK_DSH=1
node weixin-bot.mjs login --base-url http://127.0.0.1:8899 --data-dir ./test-data
export DSH_WXBOT_MAX_MSGS=2
node weixin-bot.mjs run --base-url http://127.0.0.1:8899 --data-dir ./test-data

Windows PowerShell 把 export 换成 $env:DSH_BRIDGE_MOCK_DSH="1" 即可,命令与 README 一致。

对腾讯真实端点做冒烟(只取真实二维码,不登录):

node weixin-bot.mjs probe

适用场景与注意事项

适合这些情况:

  • 本机已经在跑 DSH,希望用手机微信远程下任务、收回复。
  • 不想额外部署公网服务器、ngrok 或 OpenClaw。
  • 需要按联系人隔离记忆和工作目录,或者同一人切换多个命名会话。
  • 需要把本机文件发到微信,或把微信发来的图片/文件落到本地再交给 DSH。

使用前把这几条当作硬约束:

  1. 权限。插件以当前 dsh 进程权限运行。微信消息会触发本机 DSH 执行,--allow-from 只放行自己,并维持 DSH 自身的沙箱和审批配置。workspace-overrides.json 里的 danger-full-access 会关掉文件限制和审批弹窗,只在你明确需要时使用。
  2. 许可证与源码。项目是 MIT 社区开源,安装前应阅读仓库源码和 LICENSE。社区目录不是 DeepSeek 官方应用商店。
  3. 通道条款。这是腾讯官方 iLink 通道,受《微信 ClawBot 功能使用条款》约束:腾讯可以限速、过滤或中止服务,不得用于营销、客服、高频群发。
  4. 凭证weixin-auth.json 等于「以你的微信身份收发消息」。网络访问范围按 README 是 HTTPS 访问 ilinkai.weixin.qq.com 与腾讯 CDN,闭环测试时指向本地 mock。往来消息原文以明文 JSON 存在 data/history/
  5. 稳定性。群聊不保证;任务串行;回复可能截断;协议可能漂移。二维码过期、扫了没反应时,重新 dsh-weixin login,并确认打开的是最新打印的链接。出现 dsh: command not found 时先安装 DSH,或用 --dsh-bin 指定路径。

安全问题请按仓库 SECURITY.md 私下报告(GitHub Security Advisory,或标题带 [SECURITY] 的 issue),不要在公开 issue 里贴 token 或复现细节。

小结

dsh-wechat-bridge 把本机 DSH 接到微信官方 iLink 通道:扫码登录、零运行时依赖、不经过 OpenClaw,一个好友对应一套常驻会话。目录页安装入口是 dsh plugin add github:gtaifu/dsh-wechat-bridge;日常收发靠 dsh-weixin logindsh-weixin run。先看源码和许可证,加上 --allow-from,再把它当成你口袋里的 DSH 终端。

  • 目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-wechat-bridge/
  • GitHub:https://github.com/gtaifu/dsh-wechat-bridge
  • DeepSeek Harness:https://github.com/deepseek-ai/deepseek-harness
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜