前言¶
在 DeepSeek Harness(DSH)里跑 Agent,常见入口是 Web 界面或本地 CLI。若希望在外出时用手机微信发一条文字或截图,就能触发同一套 Harness 任务并把最终文字回复收回到聊天里,就需要一条「渠道插件」把 iLink Bot API 和 DSH 的 Session、Agent 接起来。OpenClaw 生态里已有微信相关实现,但 DSH 侧若不想依赖 OpenClaw 独立启动器,仍缺少在 Cordis profile 内直接轮询、调度模型的做法。下面介绍社区维护的 qianhaoq/qh-dsh-weixin:通过微信 ClawBot 的 iLink Bot API,向本机 DSH 投递文字与图片任务,并回传分段文字回复。
这是什么¶
qh-dsh-weixin(npm 包名 @qianhaoq/qh-dsh-weixin)是 DeepSeek Harness 插件,维护者为 qianhaoq,许可证 MIT。当前版本 0.2.0,针对 DSH 0.2.1-rc.3 与 Node.js 24.9+ 开发。插件运行在 DSH 的 Cordis profile 中,不依赖 OpenClaw,也不提供独立应用启动器;凭据保存在 $DSH_HOME/weixin(默认 ~/.dsh/weixin),不会读取或迁移 OpenClaw 的微信凭据。项目由社区维护,并非腾讯或 DeepSeek 官方插件。
SkillHub 目录页将其归类为「模型推理」;GitHub 简介为:通过 iLink bot API 实现 WeChat ClawBot 与 DeepSeek Harness 的直接消息通道。
核心功能¶
经过上面的定位,可以把已文档化的能力概括为以下几点。
- 入站任务:在微信 ClawBot 私聊中发送文字或图片(MVP1);配文与多图按原顺序合并为一条 DSH user message,图片经宿主
attachments.saveImages注入原生 image parts。语音、视频、文件与引用消息在当前阶段不支持或仅部分保留并提示缺失项。 - 模型与 Session:每个微信用户使用独立持久 DSH Session,连续消息续接同一会话;Session 附加到配置的工作区,可在 Web 界面查看,不会接管原有 Web 聊天会话。看图需当前模型明确声明支持图片输入。
- 渠道命令(仅纯文字消息识别):
/help、/new、/stop、/status、/retry,行为见官方 README 命令表;控制命令不占模型执行槽。 - 出站回复:最终文字按段发送,段号计入长度限制;发送失败或进程中断时段状态记为
unknown,可用/retry续发已保存正文,不重跑模型。 - 安全与权限:默认
permissionPreset: read-only,Agent 审批策略固定为never;API 主机与 CDN 主机白名单、凭据与日志脱敏策略在 README 中有说明。
安装与启用¶
先安装可用的 dsh;源码安装方法见 DSH README。私有仓库请使用已登录 GitHub 的 gh 克隆并本地安装插件:
gh repo clone qianhaoq/qh-dsh-weixin
cd qh-dsh-weixin
pnpm install --frozen-lockfile
pnpm test
# 安装到日常使用的 Web profile,默认处于 disabled 状态。
dsh plugin --profile web add "$PWD"
# 扫码登录使用独立的 base-backed profile,避免占用现有 Web 端口。
dsh plugin --profile weixin-login add "$PWD"
dsh --profile weixin-login --patch "$PWD/examples/login.patch.yml"
使用微信扫一扫终端二维码并在手机确认;若需输入数字验证码,在终端输入。二维码失效后重新执行登录命令。登录成功后凭据只保存在 $DSH_HOME/weixin/credentials.json。请为 DSH 单独绑定 bot,不要让两个程序同时轮询同一个 bot。
复制 examples/run.patch.yml,将 workspaceRoot 改为允许微信操作的绝对目录,再启动 Web:
dsh web --patch /absolute/path/to/your/run.patch.yml
已有 dsh web 需重启并带上该 patch 才会启用微信连接;仅安装插件不会开始收消息。默认只接受扫码微信用户的私聊;开放其他用户需配置 allowedUsers 为 iLink user ID 列表(非空时完全替代默认扫码账号)。群聊与 bot 消息会被忽略。
典型用法¶
- 完成登录与
runpatch 启动后,在微信 ClawBot 私聊中直接发送问题或图片,等待 DSH Agent 执行并收到分段文字回复。 - 长任务期间可用
/status查看运行与排队情况;需要新上下文时用/new;发送结果不明时用/retry(可能重复,不重跑已确认段)。 - 在未启动 Web 的独立 profile 中查看本机状态(与运行实例共用排他锁):
dsh --profile weixin-login --patch /absolute/path/to/qh-dsh-weixin/examples/status.patch.yml
若提示锁已占用,可在微信里发 /status 或查看运行实例日志。
weixin entry 的 patch 会替换完整配置对象;provider 与 model 须同时设置或省略以使用 DSH 当前默认模型。常用字段默认值见 README 配置表(如 mode 默认 disabled,maxPendingMessages 默认 100,historyRetentionDays 默认 30 等)。图片入站边界与 CDN 白名单见仓库 docs/media-mvp1.md。
适用场景与注意¶
适合已在本地或服务器长期运行 DSH Web、并愿意用微信 ClawBot 作为轻量触达通道的开发者或团队。电脑需联网并持续运行 DSH;断网时轮询有上限退避,已接收任务保存在本机 SQLite 与状态目录(含 inbound/ 图片原件),应按聊天记录与凭据级别备份。
务必注意:插件以当前 dsh 进程的用户权限运行,安装前应阅读源码与 MIT 许可证;iLink 接口可能变化,自动化测试使用协议 fixture,真实微信收发需扫码后人工验收。不要公开分享终端二维码链接;日志不会输出 bot token 或模型回复原文。仅为消除错误而提高 permissionPreset 不可取。
结尾¶
qh-dsh-weixin 把微信 ClawBot 的 iLink API 接到 DSH 的 Agent 与会话体系,在 Cordis 内完成登录、轮询、排队与分段回复,适合需要「手机微信 ↔ 本机 Harness」闭环的场景。更多设计与升级说明见仓库 docs/architecture.md、docs/upgrade-0.2.md。
- 目录页:https://www.skillhub.cn/plugins/qianhaoq/qh-dsh-weixin
- GitHub:https://github.com/qianhaoq/qh-dsh-weixin