v3.6.7 发布说明
本次 patch 版本聚焦 ask-user 表单互动卡片的生命周期加固与 私信访问控制的安全收敛:前者补齐 ask-user 卡片在并发与重启场景下的持久状态机,后者让空的 DM allowlist 不再静默放行。
最新版本入口:latest.md
🛠 修复与稳定性
-
加固 ask-user 卡片生命周期与回答路由
PR #589(by @BenGuanRan)引入 account-scoped 的cards.ask-user.lifecycle状态机(reserved→pending→dispatching→ terminal tombstone),统一解决并发与重启场景下的卡片接管竞态。Fixes #588。- 新真实消息到达时,同 scope 未回答卡片立即失效,普通消息继续正常 dispatch;卡面更新改为 best-effort 异步任务,不再阻塞普通回复。
- gateway 重启时 fail-closed:未完成卡片转换为
restart_invalidated/restart_during_dispatch,仅更新卡面,不伪造用户回答。 - 回答按发卡时解析完成的 Agent/session 路由快照重新入栈,回调按
outTrackId优先 claim,重复、过期或晚到回调不再二次入栈。 - 定向
/stop失败时将卡片终止为pause_failed,工具返回失败并允许 Agent 继续输出普通回复,避免暂停失败吞掉本轮回复。 - 持久化仅保留最小化的已解析路由快照,不存储 webhook、token、完整配置或用户回答正文。
-
空 DM allowlist 改为 fail-closed
🤝 鸣谢
感谢本版本周期的所有贡献者:
发布页面:https://github.com/soimy/openclaw-channel-dingtalk/releases/tag/v3.6.7
Full Changelog: v3.6.6...v3.6.7