github soimy/openclaw-channel-dingtalk v3.6.7

7 hours ago

v3.6.7 发布说明

本次 patch 版本聚焦 ask-user 表单互动卡片的生命周期加固私信访问控制的安全收敛:前者补齐 ask-user 卡片在并发与重启场景下的持久状态机,后者让空的 DM allowlist 不再静默放行。

最新版本入口latest.md

🛠 修复与稳定性

  • 加固 ask-user 卡片生命周期与回答路由

    • PR #589(by @BenGuanRan)引入 account-scoped 的 cards.ask-user.lifecycle 状态机(reservedpendingdispatching → 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

    • PR #582(by @vuyua9)将 dmPolicy: "allowlist" 下显式空 allowFrom 的行为由 fail-open(放行所有发送者)改为 deny-all,与群聊路径已有的 fail-closed 语义对齐。
    • 通配符 allowlist(allowFrom: ["*"])对私信仍然放行,不受影响;补充了空 allowlist 与通配符两条 DM 集成回归用例。

🤝 鸣谢

感谢本版本周期的所有贡献者:


发布页面https://github.com/soimy/openclaw-channel-dingtalk/releases/tag/v3.6.7

Full Changelog: v3.6.6...v3.6.7

Don't miss a new openclaw-channel-dingtalk release

NewReleases is sending notifications on new releases.