DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

QIC-9821 /

QIC-9821/dsh-wechat-pad

Verified

Connect personal WeChat, through a self-hosted iPad-protocol backend, to DeepSeek Harness. Experimental; unofficial protocol, use a secondary account. 把个人微信接进 DSH。

★ 0 Stars0 Forks2 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@7fd029d8

dsh-wechat-pad

npm CI License: MIT experimental

把个人微信接进 DeepSeek Harness:私聊随手回,群里被 @ 才说话。

它自己不含任何微信协议实现,而是连接一台自建的 iPad 协议端(目前适配 WeChatPadPro 的接口)。协议端负责登录、收发;本插件负责「谁在说、要不要答、交给哪个会话、怎么回」。

⚠️ 用非官方协议登录个人微信,违反微信软件许可及服务协议,有被封号的风险(轻则 1 天,重则永久)。请只在你自己的号、且你愿意承担后果时使用。本项目不提供协议端、不提供账号、不提供任何绕过风控的手段。

它做什么

  • 私聊:对方发来,就回(可关)。
  • 群聊:只有 @ 到它时才答,答的时候带 @对方 前缀;不在白名单的群一律不说话。
  • 每个群一个独立会话:群里聊的、私聊聊的不会串在一起,各自有上下文。
  • 控制面板:/wechat-pad 扫码登录、看连接状态、开关群白名单、看统计。
  • webhook 自动接好:装上、填好地址,插件启动时自己把回调地址写回协议端(也可手动关掉)。

工作原理

微信 ←→ 协议端(WeChatPadPro,跑在你自己的机器/云上)
                 │  webhook(消息)
                 ▼
        dsh-wechat-pad(Host 插件,跑在 DSH 里)
                 │  session/create · session/prompt · session/event
                 ▼
              DSH agent  ←→ 你的模型、你的工具、你的记忆
                 │  回答
                 ▼
        协议端 SendText → 微信

插件在 DSH 进程内运行,直接调宿主的会话服务,不走 HTTP 中转,所以不需要 launch token,也没有额外端口(除了面板和 webhook 都挂在 DSH 自己的 webServer 上)。

前置条件

  1. 一台能跑协议端的机器:Linux(推荐,Docker 也行)或 Windows;能 7×24 在线(协议端掉线 = 收不到消息)。
  2. 一个你愿意冒险的微信号(建议用小号)。
  3. 一个固定的出口 IP,以及一个能让协议端回调到的地址:如果协议端和 DSH 不在同一台机器,需要一个公网地址或隧道(cloudflared / frp / tailscale 都行),并且 webhook 路径能直通 DSH。
  4. DSH 0.2.x(桌面包或 dsh CLI 均可)。

安装

在 DSH 的 profile 里装(三选一):

# npm(推荐)
dsh plugin add dsh-wechat-pad

# 直接从 GitHub tag 装
dsh plugin add github:QIC-9821/dsh-wechat-pad#v0.1.0

# 从本地目录装(开发时)
dsh plugin add /path/to/dsh-wechat-pad

装完在「设置 → 插件」里启用 dsh-wechat-pad(或直接写进 profile 的 bundles)。启用后打开 http://127.0.0.1:<DSH 端口>/wechat-pad。

桌面版:设置里启用插件后刷新页面即可看到面板;改配置后需要重启 DSH 生效。

配置

配置项写在插件配置里(cordis.patch.yml 的 config,或设置页的表单)。必填只有两个:padUrl 和 token。

键 默认 说明
padUrl — 协议端地址,如 http://127.0.0.1:8080
padToken — 协议端 AuthKey(明文,不推荐长期用)
padTokenRef DSH_WECHAT_PAD_TOKEN 从凭据库/环境变量取 token 的键名(推荐)
hookPath /wechat-pad/hook 接收协议端回调的路径
webhookSecret 自动生成 回调密钥;不填则启动时生成并存进状态文件
autoConfigureWebhook true 启动时把回调地址写回协议端
selfWxid 自动探测 机器人自己的 wxid(判断「是不是我发的」和「@ 的是不是我」)
botNames [] 别名,比如 ["小助手"],用于识别 @小助手
answerDirectMessages true 私聊是否回
defaultTrigger mention 群默认触发方式:mention(被 @)或 all
groups [] 群白名单,见下
allowUnknownGroups false 不在白名单的群是否也回(不建议开)
timeoutSec 120 等 agent 回答的上限
timeoutReply 我想得有点久,等下再答你 超时兜底话术
maxReplyChars 4000 单条回答最多多少字
chunkChars 1500 超过就分段发
chunkDelayMs 1500 分段之间的间隔
ratePerMinPerGroup 5 每群每分钟最多回几条
ratePerMinGlobal 10 全局每分钟上限
queueLimit 5 每群排队上限,超了丢弃并记账
dedupeTtlSec 3600 同一条消息多久内不重复处理
stateDir ~/.dsh/wechat-pad 状态文件目录(会话绑定、去重、白名单)
workspaceDir ~/.dsh/wechat-pad/workspace 会话的工作目录
systemHint 空 拼在每条 prompt 前的固定提示,可写「你在微信群里,回答要短」之类

群白名单:

groups:
  - id: 12345678@chatroom      # 群 id(以 @chatroom 结尾)
    name: 技术交流群            # 选填,只用于显示
    enabled: true
    trigger: mention           # mention | all
    ratePerMin: 3

群 id 从协议端的 webhook 原始载荷里看:面板的「统计」里有最近消息,或者打开 logRawPayloads 后看 stateDir/raw/。

用起来

  1. 打开 http://127.0.0.1:<端口>/wechat-pad,点「扫码登录」,用手机微信扫。
  2. 等面板显示「在线」。
  3. 把机器人拉进群 —— 在群里 @ 它,它才会说话;私聊直接说。
  4. 想让它只对某些群/某些人说话,就填 groups 白名单。

安全与边界

  • 封号:非官方协议,风险自担。首次登录常掉线,按协议端文档处理(重扫、稳设备)。
  • 隐私:消息会经过你的协议端 → 你的 DSH → 你的模型服务商。别把不该给模型看的东西发进来。
  • 群聊:默认只在被 @ 时说话,且不主动引用历史;换群 = 换会话,不会把 A 群的话带到 B 群。
  • 权限:插件以宿主 owner 身份建会话,agent 能用的工具就是你在 DSH 里给它的工具。别把危险工具开给一个会对陌生人说话的号。
  • 密钥:padToken 用 padTokenRef 从环境变量/凭据库取,不要写进配置文件提交到 git。

兼容的协议端

只依赖「HTTP + webhook」这一层,见 docs/backends.md。当前实测:WeChatPadPro(/api/login/*、/api/v1/message/*、/v1/webhook/*)。换别的后端只要实现同样的几个端点,或改 lib/pad-client.js 里的路径表。

开发

npm test         # 11 个测试:解析、策略、去重、限速、分段、超时、e2e

测试不依赖真微信:test/mock-pad.mjs 是一个假的协议端,e2e 用它跑通「webhook → 会话 → 回复」。

许可

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 7fd029d8fe75

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout