Skip to content

Releases: zgat/dsh-wechat

v0.3.5 — 文档与上架契约对齐

Choose a tag to compare

@zgat zgat released this 20 Oct 05:52

文档

  • 修正已删除机制的文档残留:扫码页 / loginPagePort / 一次性令牌 / login-page.url / --page / openInBrowser。
  • docs/side-effects.md:改为"零个自开监听端口",补全真实状态文件清单与 8 条断言。
  • verify-profile-boot.sh:启动验证改探卡片接口 /dsh-wechat/api/status(200 且含 bots)与已删除扫码页(404)。
    实测:{"status":"passed","dsh":"0.2.1-rc.2","install":true,"boot":true,"hostHttp":303,"cardApi":200,"scanPage":404,"uninstall":true}。
  • README:权限自评去掉"子进程";一次性 profile 证据改为"安装/组合/卸载 + 独立启动脚本";兼容性补 0.2.1-rc.2;STORE 状态更新为 2026-10-20 实测(三类信号、无可执行面、官方预检 passed、仅缺固定来源审阅记录)。

升级

安装后重启 DSH 生效。

v0.3.4 — 兼容声明补充 0.2.1-rc.2

Choose a tag to compare

@zgat zgat released this 20 Oct 05:17

仅声明 DSH 0.2.1-rc.2 兼容(依据:一次性 profile 的安装/合成/卸载证据,且插件正在该版本上运行)。

v0.3.3 — 修:改名与等待动画

Choose a tag to compare

@zgat zgat released this 20 Oct 03:31

修复

  • 「改名」点了没反应:处理函数用了 window.prompt,而 Electron 不实现 prompt,调用直接失效。现在改成卡片里的内联输入框(保存/取消,Enter 保存、Esc 取消);「解绑」也改为两步确认,不再依赖 window.confirm。并加了一条测试:bundle 里若再出现 window.prompt(/window.confirm( 直接失败。
  • 「添加绑定」后有 1–2 秒空白才出现二维码:转圈此前只在"已有码但 SVG 未到"时显示。现在从点击那一刻就转圈(申请期间显示「正在申请二维码…」,取图期间显示「正在获取二维码…」),并且登录进行中把轮询从 4 秒收紧到 600 毫秒,二维码一生成就出现。

升级

安装后重启 DSH 生效。

v0.3.2 — 本地昵称(官方无昵称字段)

Choose a tag to compare

@zgat zgat released this 20 Oct 02:58

新增

  • 可读的 bot 昵称:官方接口(Clawbot 相关接口)的扫码状态只返回 ilink_bot_id / ilink_user_id,没有任何昵称字段,因此昵称改为本地:设置页卡片每只 bot 有「改名」,按 bot 持久化、重新扫码不会丢;默认显示 微信机器人 <id 尾 4 位>,原始 id 以小字保留。
  • /status 与 dsh-wechat --status 也显示昵称。

升级

安装后重启 DSH 生效。

v0.3.1 — 加载转圈 + 设置页解绑

Choose a tag to compare

@zgat zgat released this 20 Oct 02:55

新增

  • 二维码加载时的转圈:卡片取 SVG 期间显示与原二维码同尺寸的转圈占位(下方一行「正在获取二维码…」),码到了不会跳版。
  • 设置页可直接解绑:每只 bot 一行带「解绑」按钮 → 宿主先停掉这只 bot 的长轮询、再删除它的凭据,其它 bot 不受影响(点击前会弹确认)。接口 POST /dsh-wechat/api/logout?bot=<id>:错误方法 405、未知 bot 404。

升级

安装后重启 DSH 生效。

v0.3.0 — 删除独立扫码页,二维码只在卡片/终端

Choose a tag to compare

@zgat zgat released this 20 Oct 02:47

破坏性变更

  • 删除了独立扫码页(本机回环 HTTP 服务、页面 HTML、一次性令牌、/state.json、login-page.url,以及「打开扫码页」按钮)。二维码现在只由设置页卡片内联绘制(GET /dsh-wechat/api/qr 返回 {version, svg}),或由 dsh-wechat login 打印在终端。
  • CLI 去掉 --page / --no-open / --port:login 只输出终端二维码;未知参数现在会直接报错而不是被忽略。
  • 配置改名:loginPage → qrInCard(旧名仍接受);loginPagePort 已删除。

其它

  • 插件不再自开任何监听端口(副作用测试已按此断言,顺带修掉了测试里"正则剥注释吞掉半个 index.js"的隐患)。
  • 卡片、/api/add、错误日志页与 /api/errors 不受影响。

升级

安装后重启 DSH 生效。

v0.2.10 — 二维码内联绘制(含文档修正)

Choose a tag to compare

@zgat zgat released this 20 Oct 02:39

修复

  • 二维码改为在卡片里内联绘制(0.2.9 的功能,此前文档用例数写错,这里一并修正):卡片从 GET /dsh-wechat/api/qr 取 { version, svg }(与扫码页同一渲染器)直接插入 DOM,不再依赖 <img> 加载、样式表或主题。/api/qr.svg 保留给浏览器直接访问。
  • 文档与测试数量对齐(251)。

升级

安装后重启 DSH 生效。

v0.2.9 — 二维码在卡片内联绘制

Choose a tag to compare

@zgat zgat released this 20 Oct 02:38

改进

  • 二维码改为在卡片里内联绘制:卡片从 GET /dsh-wechat/api/qr 取 { version, svg }(与扫码页同一渲染器)并直接插入 DOM,不再依赖 <img> 加载、样式表或主题——真正做到"直接显示在插件上"。/api/qr.svg 保留给浏览器直接访问。

升级

安装后重启 DSH 生效。

v0.2.8 — 按 bot 判定所有者

Choose a tag to compare

@zgat zgat released this 19 Oct 08:50

修复

  • 按 bot 判定所有者:此前所有者取自第一只 bot 的凭据,默认 allowlist 策略下,第二只 bot 如果由另一个微信号扫码绑定,那个账号会被当成陌生人拒掉(⛔ 不在白名单)。现在访问判断、/status 的"是否所有者"、欢迎语与 maySendTo 都按该会话所属 bot 的所有者计算,配置里的 ownerUserId 只作兜底。

测试

  • 新增:bot B 的所有者发给 bot B 被接受(并真的进入 agent);同一发送者经 bot A 判定被拒;陌生人两种都拒。

升级

安装后重启 DSH 生效。

v0.2.7 — 修:添加绑定时二维码不显示

Choose a tag to compare

@zgat zgat released this 19 Oct 08:48

修复

  • 「添加绑定」时二维码不显示:扫码页把"任意一只 bot 已登录"当成了"没有待扫的码",于是在已连接状态下点「添加绑定」时,接口返回 hasQr: false,卡片写着"用微信扫下方二维码"却没有码、扫码页还显示"登录成功"——从界面上根本没法添加第二只 bot。现在只有没有扫码进行中时才认为已登录,登录进行期间二维码照常出现。
  • 验收脚本 scripts/verify-multibot.sh 增加每只 bot 的活动证据(游标、去重条数、令牌数、出站条数与最近发送时间)以及会话键按 bot 的分布统计。

升级

安装后重启 DSH 生效。