本项目遵循 Keep a Changelog 格式。
- 插件注册重入:
channel.ts中将monitorWeixinProvider改为在startAccount内部懒加载(await import(...)),避免插件注册阶段提前拉取 monitor → process-message → command-auth 依赖链,导致 plugin/provider registry 重入。 - 初始化副作用:
process-message.ts中将resolveSenderCommandAuthorizationWithRuntime/resolveDirectDmAuthorizationOutcome改为懒加载,避免模块初始化时触发宿主的ensureContextWindowCacheLoaded副作用,进而导致loadOpenClawPlugins重入。
- tool-call 外发路径:
sendWeixinOutbound现在对发送文本应用StreamingMarkdownFilter,与process-message中的 model-output 路径保持一致。
- 扫码登录: 移除
get_bot_qrcode的客户端超时,请求不再因固定时限被 abort(仍受服务端与网络栈限制)。
StreamingMarkdownFilter(src/messaging/markdown-filter.ts):外发文本由原先markdownToPlainText整段剥离 Markdown,改为流式逐字符过滤;对 Markdown 从完全不支持变为部分支持。
- 外发文本:
process-message在每次deliver时用StreamingMarkdownFilter(feed/flush)处理回复,替代markdownToPlainText。
- 从
src/messaging/send.ts删除markdownToPlainText(相关用例从send.test.ts迁至markdown-filter.test.ts)。
- 登录后配置刷新: 每次微信登录成功后,在
openclaw.json中更新channels.openclaw-weixin.channelConfigUpdatedAt(ISO 8601),让网关从磁盘重新加载配置;不再写入空的accounts: {}占位。 - 扫码登录:
get_bot_qrcode客户端超时由 5s 调整为 10s。 - 文档: 卸载说明改为使用
openclaw plugins uninstall @tencent-weixin/openclaw-weixin,与插件 CLI 一致。 - 日志:
debug-check日志不再输出stateDir/OPENCLAW_STATE_DIR。
openclaw-weixin子命令(删除src/weixin-cli.ts及index.ts中的注册)。请使用宿主自带的openclaw plugins uninstall …卸载流程。
- 解决在 OpenClaw 2026.3.31 及更新版本上安装插件时出现的 dangerous code pattern 提示(宿主插件安装 / 静态检查)。