dsh-chatnode-wechat

by Jesse-njx

1 通知与集成github 检测到 manifest package.json#dsh 社区精选 收录于 08-14

通过 iLink 网关在微信里与 DSH agent 聊天、监控与审批:双向文本、会话切换、进度摘要与编号审批提示。

Chat with, monitor, and approve your DSH agents from WeChat via the iLink gateway: text both ways, session targeting, digest heartbeats, and numbered approval prompts.

安装

dsh plugin --profile web add github:Jesse-njx/dsh-chatnode-wechat

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

在微信里与你的 DSH agent 对话、监控、审批。

一个 DeepSeek Harness bundle,通过腾讯非官方 iLink bot 网关(ilinkai.weixin.qq.com)把 DSH profile 接到微信个人账号 —— 与 hermes-agent、OpenClaw 同机制。文字双向收发, 支持 /sessions /use /new /stop /status 会话管理,权限请求直接在聊天里用 /yes / /no 回答,进度以摘要形式推送而不是刷屏式工具调用。

你 (微信)  ⇄  iLink  ⇄  wechat-gateway  ⇄  wechat-conversation-node  ⇄  DSH agent 会话

Bundle 内含两个可分离的 Cordis 插件:

插件 职责
wechat-gateway(WechatGateway) iLink 服务(ctx.wechat):扫码登录、鉴权长轮询、断线重连/退避、发送重试 + 限流熔断、正在输入指示、加密 CDN 媒体下载。
wechat-conversation-node 微信 ⇄ DSH 桥:allowlist 白名单闸门、会话定位、命令、摘要式出站(分块 + 限速)、审批。

⚠️ 先读这里

  • 一个账号一个轮询者。 iLink 每个 bot token 只允许一个鉴权轮询者。如果 你在同一个微信账号上还跑 hermes-agent 或 OpenClaw,其中一方会收到 HTTP 403 并丢消息。请为 agent 使用专用微信账号,并且绝不要用同一个 token 跑两个本 bundle 实例。
  • 非官方网关。 与 hermes/openclaw 同机制,腾讯可能限制该账号。再次建议: 使用可以接受的专用账号。
  • 非官方协议。 iLink 细节是从 hermes-agent 源码逆向的,而非腾讯文档。 录制好的转录样本在 test/fixtures/inbound.ndjson,CI 不需要真实账号。

安装

git clone https://github.com/Jesse-njx/dsh-chatnode-wechat.git
cd dsh-chatnode-wechat
pnpm install && pnpm build
dsh plugin --profile <your-profile> add .

凭据通过 dsh credentials 服务保存 —— 绝不写在 patch 文件里。先配对一次:

pnpm login          # 打印二维码链接,用微信扫码并确认

这会向 $DSH_HOME/.credentials.yaml 写入 WEIXIN_ACCOUNT_ID / WEIXIN_BOT_TOKEN / WEIXIN_BASE_URL(经 dsh-credentials-local)。bundle 启动时解析并自动开始轮询。

配置

# profile patch(cordis.patch.yml)
plugins:
  dsh-chatnode-wechat:
    allowFrom: ["<your-wechat-id>"]   # 硬白名单,必填,无默认值
    digestIntervalSec: 300            # 运行中每 N 秒发一条进度摘要
    approvalTimeoutSec: 600           # 审批超时 → 默认拒绝
    maxMessageChars: 2000             # 微信单条气泡上限(协议限制)
    sendChunkDelayMs: 1500            # 出站气泡间隔限速
    # cwd: /path/to/workspace         # `/new` 会话的工作目录
    # agentPreset: <preset-name>      # `/new` 会话使用的 agent preset
    # agentProvider / agentModel: ... # `/new` agent 的模型路由

allowFrom 必填且没有宽松默认值:接受任意微信联系人的指令等于把 prompt 注入的大门敞开。白名单外的消息只记日志、直接忽略,永远不会喂给模型。

用法

给机器人发文字即可。只要存在至少一个会话就是零配置 —— 默认目标是 最近的一个会话。

命令 作用
(普通文字) 路由到当前 agent(agent.followup)
/sessions 编号会话列表(最近优先)
/use N 切换活动会话
/new <prompt> 新建 agent+会话并开始
/stop 取消当前任务
/status agent 状态 + 会话摘要
/yes /no(仅一条待确认时也可 1/2) 回答权限请求
/help 命令列表

出站是摘要式的,绝不刷屏:

  • 回合开始时 ⏳ 收到,开始处理…
  • 每 digestIntervalSec 一条 🔄 仍在处理中… 心跳
  • assistant 的实际文字(按 maxMessageChars 分块、限速)
  • 回合结束时 ❌ 出错… / ⏹ 已停止 / ⚠️ 输出截断
  • 🔐 #N 需要你的确认 权限提示,聊天内直接回答

审批

微信个人账号没有按钮。DSH 权限请求触发时,桥接层渲染成编号文本提示并等待:

🔐 #1 需要你的确认
工具: bash
原因: run a destructive command
回复 /yes 同意,/no 拒绝(仅一条待确认时也可回复 1/2)
10 分钟内未回复将自动拒绝。

/yes(仅一条待确认时 1)授予 allowed-once;/no(2)拒绝;超时回退到 DSH 默认拒绝。桥接层只回答当前微信用户驱动的 agent 的请求,其余请求沿 answerer 链继续委托。

开发

pnpm install
pnpm -r build
pnpm --filter @dsh-cowork/chatnode-wechat test   # 35 个测试,无需微信账号
  • test/fake-ilink-server.ts 实现了 iLink 端点(getupdates 长轮询、 sendmessage、sendtyping、getconfig、扫码登录、加密 CDN),回放 test/fixtures/inbound.ndjson;完整的 入站→会话→出站 循环在 CI 中运行。
  • pnpm smoke 是手动真机脚本(设置 WEIXIN_ALLOW_FROM)。
  • 锁定 dsh-base 家族版本(本仓库 @deepseek-ai/* 为 0.1.0-rc.6)—— DSH 是开发者预览版,上游可能有破坏性变更。

风险

风险 对策
iLink 独占锁 — 同一 token 两个轮询者 → 403 + 丢消息 专用账号;遇 403 大声报错并停止轮询;文档中明确共存警告
账号风险 — 非官方网关 专用账号;本 README 明示
DSH v0.1 变更 锁定 @deepseek-ai/* 依赖;CI 针对锁定版本
协议不透明 协议移植自 hermes-agent;已录制样本,重构无需真实账号

Roadmap

  • v0.1(本包):扫码登录、双向文字、会话定位、命令、审批、摘要、白名单。
  • v0.2:双向图片/文件(网关已内置入站媒体下载)、出站语音回复。
  • v0.3:群聊(高风险)、多账号、hermesclaw 式共享轮询代理(与 hermes/openclaw 共存)。
  • 后续:复用 node/ 层的企业微信 / 钉钉 / 飞书 bundle。

License

MIT —— 见 LICENSE。

原始 README: https://github.com/Jesse-njx/dsh-chatnode-wechat/blob/main/README.zh.md ↗

同类插件

查看全部 →
通知与集成alvinunreal

dsh

将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

查看详情
1081github+08-21
通知与集成tencent-connect

dsh-qqbot

让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

查看详情
55github+08-17
通知与集成omdsh-dev

dsh-open-in-vscode

从 Web GUI 一键在 VS Code 中打开工作区目录。

查看详情
39github+08-13
通知与集成omdsh-dev

dsh-notification

回合完成桌面通知,按结果分控 + 关键词过滤。

查看详情
38github+08-13
通知与集成THEWOLFWALKER

dsh-notifier

DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

查看详情
27github+08-16
通知与集成wzj998

chatccc

飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent

查看详情
22github+08-23