前言¶
DeepSeek Harness(DSH)把 Agent 会话、工具和任务编排收在一个进程里,日常开发却常卡在「人不在电脑前怎么发指令、结果怎么回到手机」。邮件、Webhook 或自建 Bot 都能接,但要么链路长,要么不是微信生态。若你已经在用 DSH,又希望在自己绑定的微信账号里和 Bot 单聊、收发文字与媒体,就需要一条不改动 DSH 核心、走官方接口的通道插件。
下面介绍社区维护的 dsh-wechat-channel(GitHub:iris-mei614/dsh-wechat-channel),它在 DSH 与腾讯 iLink Bot API(ClawBot)之间做双向桥接。
这是什么¶
dsh-wechat-channel 是 DeepSeek Harness 的微信双向通道插件:在微信单聊里给 Bot 发指令,驱动已有 DSH 会话;DSH 完成任务后,把文字、图片、音频、视频和文件发回微信。
维护者为 iris-mei614,在 SkillHub 插件目录 中归类为客户端。当前 npm 包版本为 0.2.1(MIT),协议实现依赖 wechat-ilink-client(MIT)。插件以 Cordis 形态运行,通过 DSH 公开的 agents、sessionQuery、tools、credentials 等接口工作,不修改 DSH 核心,也不依赖社区里的非官方微信方案。
核心功能¶
入站与出站¶
入站侧使用 iLink 的 getupdates 长轮询(35 秒超时),文本与语音转写文本会投递给 DSH;图片、视频、文件会下载到会话目录 wechat-inbox/,路径交给 Agent,并在有附件时写入 DSH 附件。出站侧通过 sendmessage 发送文本(须携带入站下发的 context_token),以及图片、视频、音频与其他文件(路径受工作区 / mediaRoots 限制)。
会话与命令¶
支持 defaultSessionId 配置,以及微信内的 /bind、/new、/list、/switch 等命令绑定或切换 DSH 会话;新建会话可用首条消息命名为 [微信会话] …。另有 /status、/stop、/steer、/clear、/model、/retry 等本地命令(不消耗模型额度),中文别名如 /帮助、/新建 也可用。普通文本以 followup 模式投递,新建独立 turn。
任务回传与长任务¶
插件监听 DSH session/event 的 turn/end,在任务结束时把最终文本与 present 工具交付的文件推回微信;长任务默认每 3 分钟向微信发送「仍在处理…」,并尽量附带当前步骤说明。
Agent 工具与登录¶
向 Agent 暴露 wechat_login、wechat_send、wechat_status。扫码登录时可在本地打开 http://127.0.0.1:19876/ 查看二维码与健康状态;Bot Token 经 DSH 凭据服务保存(默认引用名 WECHAT_ILINK_BOT_TOKEN),日志与错误信息对 Token 脱敏。
明确边界¶
只处理单聊,带 group_id 的消息会忽略。用户从未给 Bot 发过消息时,没有 context_token,无法主动发出第一条。微信 24 小时窗口由服务端约束,超过约 20 小时不主动推送,摘要暂存、下次入站补发。README 强调:走官方 iLink Bot API 仍不能保证永不封号,请只服务自己绑定的账号、保持默认限速(约 10 条/分钟),勿用于群发或违规内容。
环境要求¶
安装前请核对:
- DeepSeek Harness 0.2.1-rc.2(插件按该版本公开接口实现并验证)。
- Node.js 22.19+ 或 24.x。
- 微信 8.0.70+,且账号已灰度到 ClawBot / 机器人插件入口(「我 → 设置 → 插件」);这是腾讯账号侧开通范围,插件无法绕过。
- 运行 DSH 的机器可访问
*.weixin.qq.com与*.cdn.weixin.qq.com。
安装与启用¶
推荐从 npm 安装并重启 DSH Web 配置档:
dsh plugin --profile web add dsh-wechat-channel
dsh web
若未全局安装 CLI,可使用:
npx @deepseek-ai/dsh plugin --profile web add dsh-wechat-channel
dsh web
也可在 DSH 界面:设置 → 插件 → 添加插件,填写 dsh-wechat-channel 后安装并重启。安装后可用下面命令确认配置是否加载:
dsh --profile web --dump-config | grep -A5 wechat
卸载示例:
dsh plugin --profile web remove dsh-wechat-channel
dsh web
插件以当前 dsh 进程的用户权限运行,安装前建议阅读 仓库源码 与 MIT 许可证,自行评估凭据与出站媒体路径风险。
典型用法¶
30 秒上手¶
- 按上一节安装插件并执行
dsh web重启。 - 在 DSH 会话中对 Agent 说:调用
wechat_login,按提示扫码确认。 - 在微信给 Bot 发任意一句(如「你好」)完成激活;默认会自动建会话。
- 之后直接发文字或图片;发
/help查看命令。
最小配置¶
在 profile 的 cordis.patch.yml(或 --patch 覆盖层)中可写入:
- id: wechat-channel
config:
defaultSessionId: 'session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
botTokenRef: WECHAT_ILINK_BOT_TOKEN
ownerUserId: ''
newSessionCwd: ''
stateDir: ''
defaultSessionId 用于绑定已有 DSH 会话;Token 值由扫码或环境变量 WECHAT_ILINK_BOT_TOKEN 提供,不要写进 YAML 或代码。
就绪阶段¶
用 /status 或 wechat_status 查看状态。常见阶段:need-login(需扫码)、need-first-message(需在微信发首条消息)、need-session(需 /new 或 /bind)、ready(可正常对话)。
Agent 也可主动调用 wechat_send 发送文本与本地文件路径;任务结束时若使用 present 交付产物,插件会在 turn/end 时自动推到微信。
适用场景与注意¶
适合已在 DSH 0.2.1-rc.2 上跑 Agent、且个人微信账号已开通 ClawBot 入口的开发者:在手机上续聊同一 DSH 会话、收代码或媒体结果,而不必长期开着 Web UI。
不适合群聊协作、营销群发,或期望 Bot 在用户从未发言时主动冷启动的场景。网络需稳定访问微信域名;Token 失效(如 errcode -14)时需重新 wechat_login 扫码。
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。更细的扫码、排障与完整配置项见仓库 README 与 安装与使用教程.md。
结尾¶
dsh-wechat-channel 把微信单聊与 DSH 会话绑在一起:官方 iLink 长轮询入站、任务结束自动回传、凭据与限速按 README 约定处理。若你需要在客户端分类里找微信通道实现,可从目录页 iris-mei614/dsh-wechat-channel 进入,源码与 issue 在 GitHub。