Channels 导读

Access 大家一起的房间s:消息从哪扇门跑进来

Access 大家一起的房间s 像一扇接消息的门。你要看清门铃装在哪、钥匙交给谁、什么人能进来,以及门口最容易被绊一跤的是哪块砖。原文最响的一记鼓点,其实是:Access 大家一起的房间s are named sender lists you define once and reference from 消息通道 allowlis…。

先听这页的人话版

Access groups

这一页不是在堆术语,它像把“Access 大家一起的房间s”这台小机器搬到桌上,当着你的面拆开给你看。你先不用全记住,先抓住它到底在忙什么:Access 大家一起的房间s are named sender lists you define once and reference from 消息通道 allowlists with…。

如果把这页当成“给普通人看的版本”,你最应该带走的是:它到底在教你一件什么事、什么时候要这样做、以及哪里最容易踩坑。

原始路径:/channels/access-groups 章节数量:8 查看原文

第 1 站

Start Here

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Access 大家一起的房间s are named sender lists you define once and reference from 消息通道 allowlists with access大家一起的房间:<name>. Us…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Access 大家一起的房间s are named sender lists you define once and reference from 消息通道 allowlists with access大家一起的房间:<name>.

原文小纸条

Access groups are named sender lists you define once and reference from channel allowlists with accessGroup:<name>.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use them when the same people should be allowed across several 小纸条消息 消息通道s, or when one trusted set should apply to bot…。

原文小纸条

Use them when the same people should be allowed across several message channels, or when one trusted set should apply to both DMs and group sender authorization.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Access 大家一起的房间s do not grant access by themselves. A 大家一起的房间 only matters when an allowlist field references it.

原文小纸条

Access groups do not grant access by themselves. A group only matters when an allowlist field references it.

第 2 站

Static 小纸条消息 sender 大家一起的房间s

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Static sender 大家一起的房间s use type: "小纸条消息.senders". Member lists are keyed by 小纸条消息-消息通道 id: Entries are matched with the…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Static sender 大家一起的房间s use type: "小纸条消息.senders".

原文小纸条

Static sender groups use type: "message.senders".

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“accessGroups”挂牌子,告诉系统它该指向“{”。
  • 这里在给“operators”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  accessGroups: {
    operators: {
      type: "message.senders",
      members: {
        "*": ["global-owner-id"],
        discord: ["discord:123456789012345678"],
        telegram: ["987654321"],
        whatsapp: ["+15551234567"],
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Member lists are keyed by 小纸条消息-消息通道 id:。

原文小纸条

Member lists are keyed by message-channel id:

像整理表格

这段是在把几种选项排成表格,左边像标签,右边像说明。手机上可以横向滑动原文表格。

原文表格
KeyMeaning
"*"Shared entries checked for every message channel that references group.
discordEntries checked only for Discord allowlist matching.
telegramEntries checked only for Telegram allowlist matching.
whatsappEntries checked only for WhatsApp allowlist matching.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Entries are matched with the destination 消息通道's normal allowFrom rules. OpenClaw does not translate sender ids between…。

原文小纸条

Entries are matched with the destination channel's normal allowFrom rules. OpenClaw does not translate sender ids between channels. If Alice has a Telegram id and a Discord id, list both ids under the appropriate keys.

第 3 站

Reference 大家一起的房间s from allowlists

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Reference a 大家一起的房间 with access大家一起的房间:<name> anywhere the 小纸条消息 消息通道 path supports sender allowlists. DM allowlist exa…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Reference a 大家一起的房间 with access大家一起的房间:<name> anywhere the 小纸条消息 消息通道 path supports sender allowlists.

原文小纸条

Reference a group with accessGroup:<name> anywhere the message channel path supports sender allowlists.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:DM allowlist example:。

原文小纸条

DM allowlist example:

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“accessGroups”挂牌子,告诉系统它该指向“{”。
  • 这里在给“operators”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  accessGroups: {
    operators: {
      type: "message.senders",
      members: {
        discord: ["discord:123456789012345678"],
        telegram: ["987654321"],
      },
    },
  },
  channels: {
    discord: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:operators"],
    },
    telegram: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:operators"],
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:大家一起的房间 sender allowlist example:。

原文小纸条

Group sender allowlist example:

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“accessGroups”挂牌子,告诉系统它该指向“{”。
  • 这里在给“oncall”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  accessGroups: {
    oncall: {
      type: "message.senders",
      members: {
        whatsapp: ["+15551234567"],
        googlechat: ["users/1234567890"],
      },
    },
  },
  channels: {
    whatsapp: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["accessGroup:oncall"],
    },
    googlechat: {
      spaces: {
        "spaces/AAA": {
          users: ["accessGroup:oncall"],
        },
      },
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:You can mix 大家一起的房间s and direct entries:。

原文小纸条

You can mix groups and direct entries:

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“channels”挂牌子,告诉系统它该指向“{”。
  • 这里在给“discord”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  channels: {
    discord: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:operators", "discord:123456789012345678"],
    },
  },
}

第 4 站

Supported 小纸条消息-消息通道 paths

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Access 大家一起的房间s are available in shared 小纸条消息-消息通道 authorization paths, including: 消息通道 support depends on whether that…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Access 大家一起的房间s are available in shared 小纸条消息-消息通道 authorization paths, including:。

原文小纸条

Access groups are available in shared message-channel authorization paths, including:

像准备清单

这一串条目别硬背,把它当成“Supported message-channel paths”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:DM sender allowlists such as 消息通道s.<消息通道>…、大家一起的房间 sender allowlists such as 消息通道s.<…、消息通道-specific per-room sender allowlists…、魔法口令 authorization paths that reuse 小纸条消息…。

原文小纸条
  • DM sender allowlists such as channels.<channel>.allowFrom
  • group sender allowlists such as channels.<channel>.groupAllowFrom
  • channel-specific per-room sender allowlists that use the same sender matching rules
  • command authorization paths that reuse message-channel sender allowlists
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:消息通道 support depends on whether that 消息通道 is wired through the shared OpenClaw sender-authorization helpers. Current bu…。

原文小纸条

Channel support depends on whether that channel is wired through the shared OpenClaw sender-authorization helpers. Current bundled support includes Discord, Feishu, Google Chat, iMessage, LINE, Mattermost, Microsoft Teams, Nextcloud Talk, Nostr, QQBot, Signal, WhatsApp, Zalo, and Zalo Personal. Static message.senders groups are designed to be channel-agnostic, so new message channels should support them by using the shared plugin SDK helpers instead of custom allowlist expansion.

第 5 站

新本领插件 diagnostics

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:新本领插件 authors can inspect structured access-大家一起的房间 state without expanding it back into a flat allowlist: The result r…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:新本领插件 authors can inspect structured access-大家一起的房间 state without expanding it back into a flat allowlist:。

原文小纸条

Plugin authors can inspect structured access-group state without expanding it back into a flat allowlist:

像魔法口令拆解

这段像放在桌上的操作卡,谁来照着做,现场就会动起来。

  • 这一行“const state = await resolveAccessGroupAllowFromState({”是在给电脑递一张小纸条,告诉它眼下该做哪一步。
  • 这里在给“accessGroups”挂牌子,告诉系统它该指向“cfg.accessGroups”。
  • 这里在给“allowFrom”挂牌子,告诉系统它该指向“channelConfig.allowFrom”。
原文代码块

const state = await resolveAccessGroupAllowFromState({
  accessGroups: cfg.accessGroups,
  allowFrom: channelConfig.allowFrom,
  channel: "my-channel",
  accountId: "default",
  senderId,
  isSenderAllowed,
});
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:The result reports referenced, matched, missing, unsupported, and failed 大家一起的房间s. Use this when you need diagnostics o…。

原文小纸条

The result reports referenced, matched, missing, unsupported, and failed groups. Use this when you need diagnostics or conformance tests. Use expandAllowFromWithAccessGroups(...) only for compatibility paths that still expect a flat allowFrom array.

第 6 站

Discord 消息通道 audiences

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Discord also supports a dynamic access 大家一起的房间 type: discord.消息通道Audience means "allow Discord DM senders who can curre…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Discord also supports a dynamic access 大家一起的房间 type:。

原文小纸条

Discord also supports a dynamic access group type:

像魔法口令拆解

这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。

  • 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
  • 这里在给“accessGroups”挂牌子,告诉系统它该指向“{”。
  • 这里在给“maintainers”挂牌子,告诉系统它该指向“{”。
原文代码块
{
  accessGroups: {
    maintainers: {
      type: "discord.channelAudience",
      guildId: "1456350064065904867",
      channelId: "1456744319972282449",
      membership: "canViewChannel",
    },
  },
  channels: {
    discord: {
      dmPolicy: "allowlist",
      allowFrom: ["accessGroup:maintainers"],
    },
  },
}
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:discord.消息通道Audience means "allow Discord DM senders who can currently view this guild 消息通道." OpenClaw resolves the sen…。

原文小纸条

discord.channelAudience means "allow Discord DM senders who can currently view this guild channel." OpenClaw resolves the sender through Discord at authorization time and applies Discord ViewChannel permission rules.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use this when a Discord 消息通道 is already the source of truth for a team, such as #maintainers or #on-call.

原文小纸条

Use this when a Discord channel is already the source of truth for a team, such as #maintainers or #on-call.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Requirements and failure behavior:。

原文小纸条

Requirements and failure behavior:

像准备清单

这一串条目别硬背,把它当成“Discord channel audiences”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:The bot needs access to the guild and 消息通…、The bot needs the Discord Developer Porta…、The access 大家一起的房间 fails closed when Disc…。

原文小纸条
  • The bot needs access to the guild and channel.
  • The bot needs the Discord Developer Portal **Server Members Intent**.
  • The access group fails closed when Discord returns Missing Access, the sender cannot be resolved as a guild member, or the channel belongs to another guild.
像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:More Discord-specific examples: Discord access control。

原文小纸条

More Discord-specific examples: Discord access control

第 7 站

安全守门员 notes

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

这一小段像旁白,在提醒我们镜头已经切到下一站。

像准备清单

这一串条目别硬背,把它当成“Security notes”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:Access 大家一起的房间s are allowlist aliases, no…、dmPolicy: "open" still requires "*" in th…、Missing 大家一起的房间 names fail closed. If all…、Keep 消息通道 ids stable. Prefer numeric/user…。

原文小纸条
  • Access groups are allowlist aliases, not roles. They do not create owners, approve pairing requests, or grant tool permissions by themselves.
  • dmPolicy: "open" still requires "*" in the effective DM allowlist. Referencing an access group is not the same as public access.
  • Missing group names fail closed. If allowFrom contains accessGroup:operators and accessGroups.operators is absent, that entry authorizes nobody.
  • Keep channel ids stable. Prefer numeric/user ids over display names when the channel supports both.

第 8 站

Troubleshooting

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

这段在解决什么

这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。

为什么值得看

这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。

真要动手时

你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。

先别急着背术语

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If a sender should match but is blocked: 1. Confirm the allowlist field contains the exact access大家一起的房间:<name> referen…。

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If a sender should match but is blocked:。

原文小纸条

If a sender should match but is blocked:

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:1. Confirm the allowlist field contains the exact access大家一起的房间:<name> reference. 2. Confirm access大家一起的房间s.<name>.type…。

原文小纸条

1. Confirm the allowlist field contains the exact accessGroup:<name> reference. 2. Confirm accessGroups.<name>.type is correct. 3. Confirm the sender id is listed under the matching channel key, or under "*". 4. Confirm the entry uses that channel's normal allowlist syntax. 5. For Discord channel audiences, confirm the bot can see the guild channel and has Server Members Intent enabled.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Run openclaw doctor after editing access-control 设置说明书. It catches many invalid allowlist and policy combinations befor…。

原文小纸条

Run openclaw doctor after editing access-control config. It catches many invalid allowlist and policy combinations before runtime.

像讲绘本

如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。

原文小纸条

---

AdSense 连接验证已经放在页面头部;广告单元等站点审批通过后再启用。

google-adsense-account: ca-pub-3833673520933536