dsh-channel-wechat:把微信接入 DeepSeek Harness 的通道插件

前言

在 DeepSeek Harness(DSH)里跑智能体时,常见做法是在本机或 Web GUI 里对话。若希望从微信直接收发消息、让回复回到微信会话,需要自己接通道层:登录态、消息格式、与 DSH 的 session/event 对齐,工作量不小。社区插件 dsh-channel-wechat(维护者 wangx-wx)面向腾讯 iLink / ClawBot 微信侧,以 npm 包形式同时提供 Harness bundle 和 GUI 浏览器端,运行在 Harness 进程内,把微信与 DSH 串成一条可配置的通道。

这是什么

dsh-channel-wechat 是 DSH 的通道插件,分类为联网工具。它不负责替代 DSH 本体,而是在已有 profile 与工作目录前提下,让微信文本、图片、文件等与 DSH 双向收发;微信消息进入 DSH 会话,模型与工具产生的回复经 session/event 再回到微信。插件当前版本为 0.2.5(见仓库 package.json),许可证为 MIT;协议实现参考腾讯 openclaw-weixin。在 SkillHub 插件目录 可查看条目;源码与文档在 GitHub。

群聊、运行期多账号、主动推送和独立权限系统不在当前范围内,选型时需对照 README 中的能力边界。

核心功能

下面按 README 已列能力归纳,便于对照是否满足你的场景。

消息与会话

  • 微信文本、图片、文件等消息与 DSH 双向收发。
  • 微信消息进入 DSH 会话;回复从 session/event 回到微信。
  • 长轮询与会话处理解耦;诊断写入终端和插件日志。

微信内交互

  • 内置命令(含 /models、/model、/help)、/stop、审批卡和提问卡。
  • 审批卡可直接把当前会话切到完全权限;生成期间微信侧可显示「对方正在输入」。

GUI 与配置

  • 插件页支持扫码登录、退出登录,以及配置工作目录、卡片投递方式、模型和权限。
  • 全部配置可在 GUI 编辑,也可写入 profile 的 cordis.patch.yml(见下文示例)。

环境要求

安装前确认宿主与工具链满足仓库声明(package.json 的 engines):

组件 要求
Node.js ^22.19.0 或 >=24.0.0
pnpm 11(仓库声明 pnpm@11.7.0)
DeepSeek Harness >=0.2.0-rc.1

已验证版本与未验证范围见仓库 兼容性说明。

安装与启用

  1. 确认 profile 已有一个你希望用于微信会话的工作目录(后续配置中的 cwd 须为绝对路径,且在会话创建时写入后不可变,修改只影响之后的新会话)。
  2. 安装插件并完全退出后重启 DSH(宿主需重启才能发现浏览器端配置页):
dsh plugin --profile <你的 profile> add dsh-channel-wechat

若刚发布版本被 pnpm 观察期跳过,可使用:

dsh plugin --profile <你的 profile> add dsh-channel-wechat@latest --config.minimumReleaseAge=0
  1. 打开 GUI 的 Plugins → dsh-channel-wechat,点击登录微信,手机扫码;需要验证码时在页面输入。
  2. 从微信向 bot 发一条消息,确认 DSH 回复返回微信。

没有 web app 的 profile 可用终端登录(web/desktop profile 的启动器会拒绝 login 位置参数,请改用 GUI):

dsh <profile> login
dsh <profile> status
dsh <profile> logout

典型配置

GUI 可编辑全部配置。也可在 profile 的 cordis.patch.yml 中写入示例片段(字段默认值与权限边界见 配置参考):

- id: channel-wechat
  config:
    cwd: /你的/工作目录
    cards: wechat
    provider: ''
    model: ''
    permission: workspace-write

cwd 必须是绝对路径。provider、model 留空时行为以配置文档为准。

数据与排障

聊天记录由 DSH 持久化;/new 只创建新的会话代次,不删除旧记录。常见路径如下:

内容 位置
会话记录 ~/.dsh/sessions/<cwd 转义>/channel-wechat-<peerId>[~g<N>]/session.v4.jsonl.zstd
插件状态 ~/.dsh/channel-wechat/
诊断日志 ~/.dsh/channel-wechat/log/channel-wechat-YYYY-MM-DD.log(保留 7 天)
登录凭证 ~/.dsh/.credentials.yaml

排障时不要分享 token、Cookie 或凭证文件内容。插件页没有配置区时,先完全退出并重新打开 DSH;消息无回复时查插件日志、账号状态和 cwd 是否为绝对路径。更多条目见 故障排查。

适用场景与注意

适合:已在 DSH 上跑 agent,希望用个人微信(iLink / ClawBot 通道)作为日常入口,并愿意在 GUI 或 cordis.patch.yml 里固定工作目录、模型与权限边界的使用者。

注意:

  • 插件在 当前 DSH 进程权限 下运行,安装前请自行审阅 源码 与 MIT 许可证及 THIRD_PARTY_NOTICES。
  • DSH 生态强调「一切皆插件」;SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系,本文事实以仓库 README 与 package.json 为准。
  • 引用或媒体降级为文本等限制已在 README 与故障排查文档中记录,上线前建议通读 微信内命令 与 架构概览。

结尾

dsh-channel-wechat 把微信消息流接到 DSH 会话与事件回路上,并配套 GUI 登录与配置,适合需要「微信进、Harness 算、微信出」的通道集成。目录页:SkillHub — dsh-channel-wechat;仓库:github.com/wangx-wx/dsh-channel-wechat。问题可先查故障排查与插件日志,仍未解决时在 GitHub Issues 提供 DSH 版本、插件版本、profile 类型与脱敏复现步骤。

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

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

小夜