跳转至

富消息

OpenClaw 附加到 Matrix 事件上的结构化内容,以及基于它构建的审批提示。

回复控件与展示

代理回复中的按钮和选择列表包含可读的回退文本,以及位于 com.openclaw.presentation 下的结构化内容。标准 Matrix 客户端会显示文本;支持 OpenClaw 的客户端可以渲染结构化控件。仅包含控件的回复仍会生成房间消息。

对于包含多个附件的回复,第一个事件携带控件。流式回复会在定稿编辑中保留它们。当表格或图表无法原生渲染时,会保留已编写的文本回退。

审批元数据

Matrix 原生审批提示是普通的 m.room.message 事件,其中在 com.openclaw.approval 键下包含 OpenClaw 特定内容。标准客户端仍会渲染文本正文;支持 OpenClaw 的客户端可以读取结构化审批 ID、类型、状态、决策以及 exec/插件详情。

当提示过长而无法放入单个 Matrix 事件时,OpenClaw 会将可见文本分块,并仅将 com.openclaw.approval 附加到第一个块。允许/拒绝反应绑定到该第一个事件,因此长提示与单事件提示保持相同的审批目标。

静默定稿预览的自托管推送规则

streaming.mode: "quiet" 仅在块或回合定稿后通知接收者 - 按用户的推送规则必须匹配定稿预览标记。有关完整配置方案,请参阅 静默预览的 Matrix 推送规则。

Exec 审批

Matrix 可以作为原生审批客户端。在 channels.matrix.execApprovals 下配置(或为按账号覆盖使用 channels.matrix.accounts.<account>.execApprovals):

  • enabled:通过 Matrix 原生提示投递审批。未设置或为 "auto" 时,一旦可解析出至少一个审批人,就会自动启用;显式设置为 false 可禁用。
  • approvers:允许批准 exec 请求的 Matrix 用户 ID(@owner:example.org)。回退到 channels.matrix.dm.allowFrom。
  • target:提示发送位置。"dm"(默认)发送到审批人私聊;"channel" 发送到来源房间或私聊;"both" 发送到两者。
  • agentFilter / sessionFilter:可选允许列表,用于指定哪些代理/会话触发 Matrix 投递。

不同审批类型的授权略有不同:

  • Exec 与 system-agent 审批 使用 execApprovals.approvers,回退到 dm.allowFrom。
  • 插件审批 仅通过 dm.allowFrom 授权。

这三种类型共享 Matrix 反应快捷方式和消息更新,包括从持久化状态恢复的反应目标。审批人会在主审批消息上看到反应快捷方式:

  • ✅ 允许一次
  • ❌ 拒绝
  • ♾️ 始终允许(当有效 exec 策略允许时)

回退斜杠命令:/approve <id> allow-once、/approve <id> allow-always、/approve <id> deny。

仅已解析的审批人可以批准或拒绝。exec 审批的频道投递包含命令文本 - 仅在受信任的房间中启用 channel 或 both。

相关:Exec 审批。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw