--- summary: "DM 和房间策略、允许列表、机器人到机器人流量和命令授权" read_when: - "决定谁可以与机器人 DM 或在 Matrix 房间中与其交谈" - "调试 Matrix 机器人保持沉默的房间" - "允许两个 OpenClaw Matrix 帐户之间的流量" title: "Matrix门禁" sidebarTitle: "访问控制" --- 谁可以通过 Matrix 到达 OpenClaw,它保留哪些补充上下文,以及哪些发送者可以运行命令。 ## Bot 到 Bot 房间 默认情况下,来自其他配置的 OpenClaw Matrix 帐户的 Matrix 消息将被忽略。使用 `allowBots` 有意允许代理间流量: ```json5 { channels: { matrix: { allowBots: "mentions", // true | "mentions" groups: { "!roomid:example.org": { requireMention: true, }, }, }, }, } ``` - `allowBots: true` 接受来自允许的房间和 DM 中其他配置的 Matrix 机器人帐户的消息。 - `allowBots: "mentions"` 仅当他们在房间中明显提到此机器人时才接受这些消息;无论如何,DM 仍然是允许的。 - `groups..allowBots` 会覆盖单个房间的账号级设置。 - 被接受的已配置机器人消息会使用共享的 [bot loop protection](/channels/bot-loop-protection)。先配置 `channels.defaults.botLoopProtection`,然后通过 `channels.matrix.botLoopProtection` 按账号覆盖,或通过 `channels.matrix.groups..botLoopProtection` 按房间覆盖。 - OpenClaw 仍会忽略来自同一个 Matrix 用户 ID 的消息,以避免自我回复循环。 - Matrix 没有本机机器人标志; OpenClaw 将“机器人编写”视为“由此 OpenClaw 网关上另一个配置的 Matrix 帐户发送”。 在共享房间中启用 bot-to-bot 流量时,请使用严格的房间允许列表和提及要求。 ## 上下文可见性 Matrix 支持通过共享的 `contextVisibility` 控制来管理额外的房间上下文,例如获取的回复文本、线程根消息和待处理历史记录。 - `contextVisibility: "all"` 是默认值。附加上下文会按接收时的内容保留。 - `contextVisibility: "allowlist"` 筛选活动 room/user 白名单检查允许的发件人的补充上下文。 - `contextVisibility: "allowlist_quote"` 的行为类似于 `allowlist`,但仍会保留明确引用的回复。 这只会影响补充上下文的可见性,不会影响传入消息本身是否可以触发回复。触发授权仍来自 `groupPolicy`、`groups`、`groupAllowFrom` 和 DM 策略设置。 ## Tool上下文读取 当从 npm 或 ClawHub 捆绑或安装时,官方 Matrix 插件支持消息工具读取消息、反应、引脚、自定义表情、成员个人资料和房间详细信息。这些读取使用所选帐户的房间和 DM 范围检查及其 `actions` 设置。会员资料需要所请求房间的会员资格;自定义表情包括该房间的包和帐户的个人包。 ## DM 和房间策略 ```json5 { channels: { matrix: { dm: { policy: "allowlist", allowFrom: ["@admin:example.org"], threadReplies: "off", }, groupPolicy: "allowlist", groupAllowFrom: ["@admin:example.org"], groups: { "!roomid:example.org": { requireMention: true }, }, }, }, } ``` 要在保持房间正常工作的同时完全静音 DM,请设置 `dm.enabled: false`: ```json5 { channels: { matrix: { dm: { enabled: false }, groupPolicy: "allowlist", groupAllowFrom: ["@admin:example.org"], }, }, } ``` 有关提及门控和允许名单行为,请参阅 [群组](/channels/groups)。 Matrix DM 的配对示例: ```bash openclaw pairing list matrix openclaw pairing approve matrix ``` 如果未获批准的 Matrix 用户在批准前持续发消息,OpenClaw 会复用相同的待处理配对代码,并且在较短的冷却时间后可能发送一条提醒回复,而不是生成新的代码。 有关共享 DM 配对流程和存储布局,请参阅 [配对](/channels/pairing)。 ## 斜杠命令 斜线命令(`/new`、`/reset`、`/model`、`/agents`、`/session`、`/acp`、`/approve` 等)直接在 DM 中工作。在房间中,OpenClaw 还可以识别以机器人自己的 Matrix 提及为前缀的命令,因此 `@bot:server /new` 会在没有自定义提及正则表达式的情况下触发命令路径 - 这可以使机器人响应房间风格的 `@mention /command` 帖子,当用户在键入命令之前通过选项卡完成机器人时,Element 和类似客户端会发出这些帖子。 授权规则仍然适用:命令发送者必须满足与普通消息相同的 DM 或房间 allowlist/owner 策略。