mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-07 22:09:57 +00:00
Session: split stable group ids from labels
This commit is contained in:
@@ -61,7 +61,7 @@ Wizard behavior that matters:
|
||||
- When you add another Matrix account interactively, the entered account name is normalized into the account ID used in config and env vars. For example, `Ops Bot` becomes `ops-bot`.
|
||||
- DM allowlist prompts accept full `@user:server` values immediately. Display names only work when live directory lookup finds one exact match; otherwise the wizard asks you to retry with a full Matrix ID.
|
||||
- Room allowlist prompts accept room IDs and aliases directly. They can also resolve joined-room names live, but unresolved names are only kept as typed during setup and are ignored later by runtime allowlist resolution. Prefer `!room:server` or `#alias:server`.
|
||||
- Runtime room/session identity uses the stable Matrix room ID. Room-declared aliases are only used as lookup inputs, not as the long-term session key or group channel identifier.
|
||||
- Runtime room/session identity uses the stable Matrix room ID. Room-declared aliases are only used as lookup inputs, not as the long-term session key or stable group identity.
|
||||
- To resolve room names before saving them, use `openclaw channels resolve --channel matrix "Project Room"`.
|
||||
|
||||
Minimal token-based setup:
|
||||
@@ -580,6 +580,6 @@ Live directory lookup uses the logged-in Matrix account:
|
||||
- `dm`: DM policy block (`enabled`, `policy`, `allowFrom`).
|
||||
- `dm.allowFrom` entries should be full Matrix user IDs unless you already resolved them through live directory lookup.
|
||||
- `accounts`: named per-account overrides. Top-level `channels.matrix` values act as defaults for these entries.
|
||||
- `groups`: per-room policy map. Prefer room IDs or aliases; unresolved room names are ignored at runtime. Session/group metadata uses the stable room ID after resolution.
|
||||
- `groups`: per-room policy map. Prefer room IDs or aliases; unresolved room names are ignored at runtime. Session/group identity uses the stable room ID after resolution, while human-readable labels still come from room names.
|
||||
- `rooms`: legacy alias for `groups`.
|
||||
- `actions`: per-action tool gating (`messages`, `reactions`, `pins`, `memberInfo`, `channelInfo`, `verification`).
|
||||
|
||||
@@ -305,8 +305,10 @@ Each session entry records where it came from (best-effort) in `origin`:
|
||||
connector only updates delivery routing (for example, to keep a DM main session
|
||||
fresh), it should still provide inbound context so the session keeps its
|
||||
explainer metadata. Extensions can do this by sending `ConversationLabel`,
|
||||
`GroupSubject`, `GroupChannel`, `GroupSpace`, and `SenderName` in the inbound
|
||||
context and calling `recordSessionMetaFromInbound` (or passing the same context
|
||||
to `updateLastRoute`).
|
||||
`GroupChannel` should carry the stable provider-side channel identity when one
|
||||
exists. For example, Matrix now uses the room ID instead of room-declared aliases.
|
||||
`GroupSubject`, `GroupId`, `GroupChannel`, `GroupSpace`, and `SenderName` in
|
||||
the inbound context and calling `recordSessionMetaFromInbound` (or passing the
|
||||
same context to `updateLastRoute`).
|
||||
`GroupId` should carry the stable provider-side group/channel identity when one
|
||||
exists. `GroupChannel` remains the human-readable channel label. For example,
|
||||
Matrix now uses the room ID in `GroupId` and keeps room labels separate from
|
||||
that stable identity.
|
||||
|
||||
@@ -164,7 +164,7 @@ E2EE 配置(启用端到端加密):
|
||||
- 每个房间的 `users` 允许列表可以进一步限制特定房间内的发送者(需完整 Matrix 用户 ID)。
|
||||
- 配置向导会提示输入房间允许列表(房间 ID、别名或名称),仅在精确且唯一匹配时解析名称。
|
||||
- 启动时,OpenClaw 将允许列表中的房间/用户名称解析为 ID 并记录映射;未解析的条目不会参与允许列表匹配。
|
||||
- 运行时的房间/会话标识使用稳定的 Matrix 房间 ID。房间自行声明的别名只作为查找输入,不作为长期会话键或群组频道标识。
|
||||
- 运行时的房间/会话标识使用稳定的 Matrix 房间 ID。房间自行声明的别名只作为查找输入,不作为长期会话键或稳定的群组标识。
|
||||
- 默认**不**自动加入邀请;使用 `channels.matrix.autoJoin` 和 `channels.matrix.autoJoinAllowlist` 控制。
|
||||
- 要**禁止所有房间**,设置 `channels.matrix.groupPolicy: "disabled"`(或保持空的允许列表)。
|
||||
- 旧版键名:`channels.matrix.rooms`(与 `groups` 相同的结构)。
|
||||
@@ -213,7 +213,7 @@ E2EE 配置(启用端到端加密):
|
||||
- `channels.matrix.groupPolicy`:`allowlist | open | disabled`(默认:allowlist)。
|
||||
- `channels.matrix.groupAllowFrom`:群组消息的允许发送者列表(需完整 Matrix 用户 ID)。
|
||||
- `channels.matrix.allowlistOnly`:强制私信 + 房间使用允许列表规则。
|
||||
- `channels.matrix.groups`:群组允许列表 + 每个房间的设置映射。运行时解析后,会话/群组元数据使用稳定的房间 ID。
|
||||
- `channels.matrix.groups`:群组允许列表 + 每个房间的设置映射。运行时解析后,会话/群组身份使用稳定的房间 ID,而人类可读标签仍来自房间名称。
|
||||
- `channels.matrix.rooms`:旧版群组允许列表/配置。
|
||||
- `channels.matrix.replyToMode`:话题/标签的 reply-to 模式。
|
||||
- `channels.matrix.mediaMaxMb`:入站/出站媒体上限(MB)。
|
||||
|
||||
@@ -163,4 +163,4 @@ OpenClaw 将**每个智能体的一个直接聊天会话**视为主会话。直
|
||||
- `from`/`to`:入站信封中的原始路由 ID
|
||||
- `accountId`:提供商账户 ID(多账户时)
|
||||
- `threadId`:渠道支持时的线程/话题 ID
|
||||
来源字段为私信、频道和群组填充。如果连接器仅更新投递路由(例如,保持私信主会话新鲜),它仍应提供入站上下文,以便会话保留其解释器元数据。扩展可以通过在入站上下文中发送 `ConversationLabel`、`GroupSubject`、`GroupChannel`、`GroupSpace` 和 `SenderName` 并调用 `recordSessionMetaFromInbound`(或将相同上下文传递给 `updateLastRoute`)来实现。`GroupChannel` 在提供商有稳定频道标识时应携带该稳定标识。例如,Matrix 现在使用房间 ID,而不是房间自行声明的别名。
|
||||
来源字段为私信、频道和群组填充。如果连接器仅更新投递路由(例如,保持私信主会话新鲜),它仍应提供入站上下文,以便会话保留其解释器元数据。扩展可以通过在入站上下文中发送 `ConversationLabel`、`GroupSubject`、`GroupId`、`GroupChannel`、`GroupSpace` 和 `SenderName` 并调用 `recordSessionMetaFromInbound`(或将相同上下文传递给 `updateLastRoute`)来实现。`GroupId` 在提供商有稳定群组/频道标识时应携带该稳定标识。`GroupChannel` 继续表示人类可读的频道标签。例如,Matrix 现在把房间 ID 放在 `GroupId` 中,并将房间标签与该稳定标识分开。
|
||||
|
||||
Reference in New Issue
Block a user