通到微信(dsh-wechat-bridge):让 DSH 里的 AI 伙伴与微信双向聊天

前言

在 DeepSeek Harness(DSH)里跑 AI 伙伴时,常见做法是只在桌面客户端或 Web 里对话。微信仍是很多人日常收发的入口:朋友、群、文件传输助手都在那边,而 DSH 会话在另一边。若要把两边连起来,常见思路是第三方机器人或改客户端,往往涉及注入、hook 或独立 Bot 号,和「用自己微信号、朋友看到的就是本人在说话」不是同一条路。

下面介绍社区插件 dsh-wechat-bridge(维护仓库 thawline/dsh-wechat-bridge)。它在 DSH 侧挂宿主与会话,在本机跑 Python 桥接:只读微信 4.x 本地 SQLite 收消息,用 Windows UI Automation 和剪贴板把伙伴的回复真正发回微信。分类属于 DSH 插件目录里的「客户端」;上游为 Yuuyuko-uu/dsh-wechat-bridge(MIT),thawline 版在原版上补了一批日常使用中容易踩坑的行为(文末 README 有「相对原版的改动」列表)。

这是什么

一句话:微信里说的话进 DSH 默认会话(或可绑定的单独会话);伙伴说完一整轮后,最后一句(以及匹配到的表情包图片)发回微信。

不注入、不 hook、不改微信。 收消息依赖微信处于登录状态;发消息会驱动微信窗口完成输入,同一微信号不宜同时开两个桥。插件以当前 DSH 进程权限运行,安装前建议在 GitHub 查看源码与 MIT 许可证,并自行评估个人号自动化的封号等风险(README 明确建议先用小号或测试号)。

数据流示意(宿主与 Python 之间走本机 HTTP):

微信 ──读本地库──> 插件里的 Python 桥接 ──POST /dsh-wechat-bridge/receive──> DSH 会话
      <──UIA 发送── 插件里的 Python 桥接 <──GET /dsh-wechat-bridge/outbox──  DSH 会话

平台:仅 Windows(UI Automation 为 Windows 独有)。package.json 中版本为 1.3.4。

核心功能

收消息与发消息

  • 文本:外部消息经桥接 POST 到宿主,进入所选 DSH 会话。
  • 图片与表情包:桥接落盘后由宿主用视觉模型生成中文描述再转进会话;未配视觉密钥时标记「没看清」,不挡消息。语音、视频跳过。
  • 发送:从 outbox 队列取待发内容;伙伴回复里的 [表情: 描述] 会到 dsh-meme 表情库按 caption/关键词找图,以图片消息发到微信,描述文字本身不出现在正文;找不到则按原文文字发送。

权限与群聊

  • 主人(设置里填 wxid 或昵称,逗号分隔):聊天、读文件、跑命令、改设置均可。
  • 别人:若开启「外人只能聊天」,该轮对话在工具执行前被 tools.guard 硬拦,仅允许文字回复;需宿主提供 tools.guard(README 写明本版本 DSH 有),否则仅日志警告,约束变弱。
  • 群聊默认仅在被点名(默认别名写死在 bridge/wechat_bridge.py 的 DEFAULT_ALIASES)或主人说话时进入;可配置群上下文条数、回复间隔、每小时上限、群聊日记、屏蔽名单等。日记默认目录为 ~/.dsh/wechat-diary。

防回环与文件传输助手

自己发给自己的消息通常跳过;文件传输助手放行,便于自测。另有刚发出文本比对跳过、外发后 12 秒内不读文件传输助手等规则。

会话工具

插件向伙伴暴露两个工具,也可在设置页操作:

工具 作用
wechat_block 增删查「不回谁」屏蔽名单
wechat_bind 将指定微信聊天绑定到某间 DSH 会话

thawline 版相对原版的补充(摘要)

README 列举的改进包括:同会话发消息尽量不抢前台、发送前清空输入框防重复、发图以数据库校验是否成功、群名查不到时的兜底、同一轮多条回复拼接发送、临时目录不可写时的 tmp/ 兜底等。细节以仓库 README 为准。

安装与启用

DSH 生态是「一切皆插件」;社区目录在 skillhub.cn,与 DeepSeek / 幻方无官方从属关系。

安装命令(来自 README):

dsh plugin --profile desktop add github:thawline/dsh-wechat-bridge

或在 设置 → 插件 → 安装 中填写 github:thawline/dsh-wechat-bridge。装完后重启一次 DSH,打开 设置 → 通到微信。

第一次使用建议按 README 三步走:

  1. 装依赖:点「装依赖」;若已有装好 wechatauto-replica 的 Python 3.10+,可直接填「解释器」路径;否则用系统 Python 建虚拟环境(venv 默认在 ~/.dsh/wechat-bridge-venv)。
  2. 启动:点「启动」,日志出现「桥接已就绪」即可。
  3. 选会话:选择「默认会话」,打开「总开关」;可先保持「试运行」(只记日志不真发),确认无误后再关闭试运行。

不想自行装 Python 时,可使用 Release 中的 Windows x64 Python 3.12 绿色运行环境:解压 wechat-bridge-runtime-win64-py312.zip,将 python 文件夹放到 ~/.dsh/wechat-bridge-runtime/python(即存在 C:\Users\<你>\.dsh\wechat-bridge-runtime\python\python.exe),桥接会自动识别。

持久配置在 ~/.dsh/wechat-bridge-config.json;保存后桥接约 30 秒内自动生效,无需重启 DSH。

典型用法

  • 与 文件传输助手 对话,等价于与绑定的 DSH 伙伴对话;其他私聊、群消息也会按规则转入(群默认需点名或主人发言)。
  • 对伙伴说:「以后别理拼多多」(对应 wechat_block),或「把某某群接到主要聊天记忆那间」(对应 wechat_bind)。
  • 调试发送可走 HTTP:POST /dsh-wechat-bridge/test-send 真发测试句;完整接口列表见 README(receive、outbox、state、save、bridge/start 等)。

适用场景与注意

适合:已在 Windows 上使用 DSH desktop profile,希望用本人微信把日常聊天接到固定 DSH 会话,并需要群上下文、日记、外人仅聊天等约束的开发者或高级用户。

务必留意:

  • 发送可能抢微信窗口焦点;失败重试时可能把微信拉到前台。
  • 微信升级可能导致 UIA 控件路径失效,发不出去时先看设置页日志。
  • 图片处理依赖视觉模型配置;无密钥时描述为「没看清」。
  • 同一微信号不要同时运行两个桥接实例。
  • 个人号自动化非官方接口,存在封号风险;插件 README 建议小号验证。

结尾

dsh-wechat-bridge 用读库 + UIA 的方式,在不动微信客户端的前提下,把 DSH AI 伙伴和微信做成双向通道,并在一 fork 里加强了发送可靠性与群聊日常细节。目录与说明见 SkillHub 插件页,源码与完整配置表见 GitHub:thawline/dsh-wechat-bridge。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye