多用户模式
多用户模式允许多位受信任的人员操作同一个 OpenClaw 代理。它增加了会话所有权、参与者历史记录、实时在线状态和所有者筛选。团队因此可以知道谁启动了工作、当前谁负责,以及谁曾参与过。
信任边界¶
任何能够操作某个代理的人,都可以让该代理执行它所能执行的一切操作。会话所有权、侧边栏中的可见性以及在线状态指示器都是可用性功能,而不是安全边界。
如果人员之间不得访问彼此的会话、工具、凭据或文件,请为他们提供独立的代理或独立的 Gateway/host 信任边界。不要依赖所有者头像或筛选器来实现隔离。
拥有 operator.admin 的已认证 Control UI 管理员可以在该 Gateway 上以对话方式管理任何自动化,包括从其他渠道创建或由其他人创建的任务。此权限来自已获准的管理员对话轮次,而无需将渠道身份与 Gateway 配置文件匹配。它不会转移任务的创建者归属或计划执行策略。
公开可读的会话链接¶
对已认证人员的可见性与公开转录访问是分开的。 将会话在 共享、只读、建议 和 草稿 之间切换 控制的是已登录人员。这些设置中的任何一项都不会创建公开链接。
会话创建者或 Gateway 管理员可以显式启用 公开访问。 拥有由此生成的 bearer URL 的任何人都可以在不登录的情况下读取现有和未来的对话 文本,而工具、推理、文件、图像、小部件、隐藏 消息和内部元数据仍被排除。分配不同的所有者不会 转移此权限。禁用公开访问可撤销该 发布的所有 URL,请记住已下载的副本无法召回。参见 公开共享会话 了解用户流程,以及公开会话转录 了解安全和部署约定。
三个所有权层¶
每个会话最多携带三个归属层:
- 创建者(不可变):当创建路径能够证明是谁触发创建时,新会话会记录一次性写入的
createdActor。人类创建者保留其来源:已验证的 Gateway 配置文件、渠道发送者,或未知的历史归属。只有配置文件创建者才能获得隐式创建者访问权限,包括通过已验证的配置文件合并。匹配的渠道、代理或系统 ID 不足以识别该人员。共享和可见性权限始终锚定在创建者上,即使所有者发生变化。 - 所有者(可分配):当前负责该会话的人员或代理,类似于 GitHub issue 负责人。它默认为创建者,并且可以随时重新分配。分配会记录谁重新分配了它以及时间。侧边栏头像、所有者筛选器和人员排序都跟随当前所有者。
- 参与者(历史记录):其已接受的输入指向该会话的已认证人员、渠道发送者和请求代理。会话自身的代理和被动查看者永远不会被记录。新身份准入每个会话限制为 32 条记录。修复可以保留更大的现有历史。参与记录在后台尽力而为,因此永远不会延迟一个对话轮次。
当返回会话行时,Gateway 配置文件的显示名称和头像会从当前配置文件解析。代理行为者从已配置的代理身份解析。参与者聚合不存储显示标签,因此重命名配置文件或代理会更新所有权 UI,而无需重写参与者历史。
分配所有者¶
在 Control UI 中,会话上下文菜单(侧边栏行上的 kebab 菜单或右键单击,以及聊天标题上的相同菜单)提供:
- 分配给我:由你自己承担该会话的责任。
- 分配给…:选择任何已注册人员或已配置代理,包括离线人员以及从未拥有过会话的人员。打开菜单时选项会刷新,且不依赖于会话筛选器或归档状态。
代理可以使用 sessions 工具 重新分配所有权。使用 action: "assign_owner",并指定 ownerType("human" 或 "agent")和 ownerId。它默认指向当前会话,也可以通过 sessionKey 指向另一个可见会话。
两条路径都会调用 Gateway 方法 sessions.assignOwner(operator.write)。分配需要已识别的调用者——已认证的 Gateway 配置文件或受信任的代理身份——并由会话可见性授权。代理所有者 ID 必须指定一个已配置的代理。分配后,头像工具提示会从“由…创建”切换为“由…拥有”。
重新分配所有者只会改变责任和显示。它不会转移共享权限(共享权限仍保留在创建者处),也不会授予或移除任何访问权限。
创建者来源遵循计划任务和继承的创建策略。必需的沙箱是一种限制,而不是配置文件身份的证据。丢失创建者来源的历史自动化保留其归属和内容,但不会获得推测的配置文件授权。管理员可以管理其共享,或创建一个新的、明确归属的会话。分配所有者不会修复创建者权限。升级前请参见创建者命名空间迁移。
每人模型账户¶
每个人都可以为其 Gateway 配置文件登录一个模型账户。他们启动的新会话会优先使用该账户,而不是 Gateway 默认账户。可用的提供商和登录方法来自 Gateway 的提供商插件。选择某个账户并不保证每个对话轮次都计费到该账户。
有两种登录:Gateway 识别你,然后提供商授权你的模型账户。CLI 和 web UI 在所选 Gateway 上使用相同的个人账户存储。共享服务器不会将个人登录变成共享凭据。系统/代理凭据是单独的作用域,通过运行该 OpenClaw 安装所在机器上的 models auth 进行管理。
账户概念¶
有四个独立的部分:
| 部分 | 含义 |
|---|---|
| 已保存账户 | 由您的 Gateway 个人资料拥有的凭据。您可以为某个提供商保留多个账户。 |
| 新聊天默认值 | 您的新聊天为该提供商优先使用的已保存账户。更改它不会重新固定现有聊天。 |
| 聊天选择 | 某个聊天中已选择的账户。其他人员和分支会保留该选择。 |
| 登录尝试 | 临时且可取消的操作。在登录成功之前,不会保存任何账户。 |
添加账户¶
打开 设置 → 个人资料 → 已连接账户,选择 添加账户,然后选择提供商和登录方式。添加账户需要一个具有 operator.write 的已识别连接。
- Anthropic 接受用于个人设置的 API key,而不是 Claude 订阅 token。
- OpenAI 提供 API key、ChatGPT/Codex 浏览器登录和设备代码登录。
- Grok (xAI) 提供 API key 和设备登录。
选择器仅显示在该 Gateway 上为个人账户启用的提供商方法。请遵循其说明,并使用受保护的输入框填写凭据或授权代码。浏览器回调可能在输入框打开时完成。请保持个人资料连接打开,直到其报告结果。保存凭据与验证成功的模型请求是分开的。
在添加账户之前,请检查 Gateway、人员 和 范围:个人 行。账户所有权遵循 Gateway 分配的个人资料,而不是未保存的显示名称编辑。单用户连接可以使用持久的 所有者 个人资料。使用该个人资料的所有设备都会共享其账户。要在共享服务器上区分人员,请使用 Gateway 的携带身份信息的端点。如果未分配个人资料,该部分会说明缺少什么,并链接到 连接设置,而不是显示凭据输入框。浏览器身份不会转移到 CLI。参见 个人账户 CLI 设置。
该页面以易读标签列出已保存账户,并标记新聊天默认账户。选择另一个已保存账户即可更改该默认设置,而无需再次登录。加载更多会继续显示更大的账户列表。新聊天使用 Gateway 默认设置会清除个人默认设置。已保存账户仍保持可用。
该页面会将确切的登录操作报告为待处理、已连接、已取消、已过期或失败。取消会请求 Gateway 终止该操作,包括已在进行中的交换。断开连接、失去权限或重启 Gateway 可防止未完成的登录启动另一个提供商请求或保存凭据。重新连接后,开始新的登录。刷新个人资料身份不会中断账户控制。
为聊天选择账户¶
在 新会话 或现有聊天中打开模型菜单。展开 账户 类别,为所选提供商选择您的一个已保存账户。当 自动 没有符合条件的模型时,账户选择器仍可用。在新会话中,选择账户会在您的第一条消息之前预览符合条件的模型。该选择适用于您创建的会话,也可在按下开始之前用于 草稿标题准备。它不会更改您的新聊天默认设置或已保存的模型偏好。更改账户会丢弃旧的标题建议。在现有聊天中,它会更改该聊天的选择。
账户控件会为他人的个人账户显示人员级标签,而不是其私人邮箱、提供商账户标签或账户 ID。该标签描述的是选择,而不是账单收据:已配置的共享故障转移账户仍可使用。
聊天状态和模型列表会将所选的个人凭据标识为 个人账户,而不会暴露其私人标签、邮箱或账户 ID。
CLI 与 Custodian¶
CLI 通过 openclaw models accounts 使用相同的 Gateway 操作。运行 openclaw models accounts login 以选择提供商和方法,或直接提供 login <provider> --method <id>。使用 list 检查已保存账户。每个命令都会显示所选 Gateway、已验证人员和 个人范围。它针对该人员,而不是 --agent 或操作系统用户名。
询问 OpenClaw(Custodian)需要管理员访问权限和可正常工作的已配置推理路由。请它管理您的个人模型账户,或输入 model accounts。在 Control UI 中,它会打开 设置 → 个人资料 → 已连接账户。在终端中,它会提供 CLI 命令。如果 Custodian 不可用,请打开 已连接账户 或直接使用 CLI。交接本身不会做出任何更改。请在受保护的控件或隐藏终端提示中完成登录,切勿在对话中完成。委托的代理请求无法打开或完成人工登录流程。
凭据存储位置¶
凭据和所选链接一起保存在共享状态数据库(Gateway 状态目录下的 state/openclaw.sqlite)中的私有、身份范围记录中。没有第二个账户数据库或 JSON 边车。待处理的登录操作仅存在于 Gateway 内存中。凭据不会被添加到共享或代理本地身份验证存储中,不会被复制到全局运行时快照中,也不会包含在自动账户轮换中。重新连接只会替换由该人员拥有的凭据。对于 ChatGPT,仅匹配工作区是不够的:提供商还必须识别同一用户。由管理员关联的共享账户永远不会被个人重新连接覆盖。
管理员仍可通过 CLI 创建共享个人资料(openclaw models auth login --provider openai --profile-id openai:alice,参见 OAuth),并使用 users.linkAuthProfile 将它们关联起来。附加现有共享凭据是管理员的决定。users.unlinkAuthProfile 仍为本人或管理员,users.listAuthLinks 返回不含机密的链接元数据。个人凭据不能关联到他人的个人资料。
固定与默认规则¶
使用 operator.sessions.write 创建您自己的会话时,如果可用,会应用您已保存的新聊天默认设置;否则使用 Gateway 的配置选择。显式个人账户选择和更改您的新聊天默认设置仍需要 operator.write。两种创建路径都保留当前的连接、配置文件和角色检查。
当已关联人员创建会话时,OpenClaw 会将其默认值捕获为该会话的身份验证选择。该选择与 /model ...@profile 固定具有相同强度。这发生在初始消息分发之前,包括创建和第一条消息是单独请求的情况。首次由轮次准入创建的会话会在该准入时捕获默认值。该固定为会话粘性:其他人员进入该会话时会使用其已选择的账户,分叉也会继承它。显式 /model ...@profile -s 固定的优先级高于关联。新的个人选择必须属于执行该操作的已认证用户。知道其他人的账户 ID 并不构成选择它的权限。由 Agent 或渠道发起的轮次不会创建个人关联。对于使用 OpenClaw 身份验证回退规划器的运行时,如果固定账户失败,同一提供商的有序共享配置文件仍保持为故障转移候选项。这与显式固定的行为一致。Claude CLI 要求使用其已选择的账户,并且当该账户无法使用时,不会替换为共享配置文件或其原生登录。
新聊天使用 Gateway 默认设置、CLI clear-default 和 API users.unlinkAuthProfile 仅影响未来会话。更改默认设置不会重新固定现有聊天,包括使用共享凭据的未固定聊天。采用或分叉现有聊天不会应用当前参与者的默认设置,更改提供商也不会静默选择其个人账户。展开模型菜单中的账户类别以进行该明确选择。清除默认设置既不会删除已保存的凭据,也不会吊销提供商令牌。如果现有会话必须停止使用它,请在提供商处吊销它。关联和现有会话凭据会遵循已验证的配置文件合并,但在幸存配置文件上的显式取消关联不会被合并撤销。
这是同一信任域内的账户选择便利功能,并非与管理员或以 Gateway OS 用户身份运行的代码隔离。在兼容降级时,旧版本不会将个人凭据发现为共享默认值。在恢复支持版本之前,个人账户选择不可用。
按所有者查找会话¶
当所有权可见时,侧边栏的会话筛选菜单会新增所有者部分:
- 所有所有者显示全部内容(默认)。
- 特定人员或 Agent 显示其当前拥有的会话。
- 涉及我显示您拥有的、已提示过或已被明确提及的会话。发送的提及会立即添加该会话,即使您离线也是如此;收件箱的忽略和过期不会移除它。此筛选由 Gateway 针对完整参与者历史进行评估。它仅匹配您已认证的配置文件身份。渠道原生发送者 ID 仅用于显示且从不匹配,因此数字渠道 ID 不会与您的配置文件冲突。
在会话菜单中使用从“涉及我”中隐藏,仅将该会话从您自己的筛选列表中隐藏。普通活动不会使其恢复,但新的明确提及会。该会话仍可在所有所有者下发现,其中在“涉及我”中显示会恢复它。这些选择会跟随您已登录的配置文件,跨浏览器和 Gateway 重启保持;它们不会归档会话,也不会更改任何人的列表。
涉及我需要已登录的 Gateway 配置文件。当加载的会话具有多个所有者时,按人员分组会为每个当前所有者创建一个部分。所有者排序模式会按名称对这些所有者组排序。
查看头像¶
Control UI 在视觉上区分所有权和在线状态:
- 会话行上的实心所有者头像在该会话生命周期内是永久性的,并始终显示当前所有者。当所有者未连接时,它会略微变暗。
- 当其他人员或 Agent 已提示该会话时,行头像会变成双堆叠。所有者保持在前面。要么单个其他参与者从后面露出,要么用 +N 计数概括多个。聊天标题显示所有者徽章,以及最多四个头像的参与者头像堆叠。所有者不包含在参与者显示中。
- 带环或半透明的在线状态头像显示当前已连接或正在观看的人员。它们来自实时在线状态,而非所有权,并在这些观看者离开时消失。已由所有者或参与者头像显示的人员不会在该界面的实时观看者中重复出现。由 +N 计数概括的参与者仍可以单独作为实时观看者出现。
- 在按人员分组下,部分标题中的所有者头像会在该人员连接时显示一个小绿点。当他们闲置几分钟后会淡出,并在他们离开时消失。您自己的部分从不显示它。
当多个人观看同一会话时,消息记录还会在输入框上方显示实时输入指示器。在 Control UI 中输入的人员会将其草稿文本流式传输到其已发送消息气泡的较柔和版本中,具有相同的发送者身份、一个光标以及正在输入 · 未发送标签。其他输入者显示一个三点气泡,并带有相同的未发送标签。草稿是临时在线状态。它们永远不会持久化。它们永远不会进入会话消息记录或模型上下文。在输入者暂停或发送后片刻,它们会淡出。
当加载的会话列表包含少于两个不同的所有者身份,且没有任何会话记录外部参与者时,OpenClaw 会隐藏所有所有权和所有者筛选界面元素。因此,单用户 Gateway 看起来没有变化。
人员卡片¶
点击或轻点侧边栏在线部分中的人员,打开其活动页面。将鼠标悬停或聚焦该行以打开其信息卡片。卡片中的查看活动会打开同一页面。未认证观看者没有配置文件活动页面,因此点击或轻点其行只会打开卡片,其中包含连接详情和可见的已观看会话。
在按人员分组下,其他人分区标题中的头像和姓名会打开同一信息卡。chevron 图标仍可折叠该分区。未连接的拥有者会看到标记为离线的信息卡,其中仅包含其最近会话和 Activity 链接。
该信息卡显示此人持续连接了多长时间、其报告的应用程序/设备上下文和时区,以及在此在线期间最后观察到的活动。打开另一个会话、输入文字和发送新消息都算作活动。连接心跳和代理响应不算。尚未观察到活动表示尚未记录到符合条件的活动,而不是此人处于非活动状态。这些时间信息是临时的,会在此人的最后一个连接关闭或 Gateway 重启后重置。
人员在线状态会共享给具有读取权限的操作员(operator.read,operator.write 或 operator.admin 也隐含该权限)。这些读取者可以看到其他人的在线状态、活动时间和报告时区,无论此人是否正在观看会话。节点连接和仅配对连接既不会收到在线状态清单,也不会收到其由活动驱动的事件。这不会改变跨读取者的 IP 可见性,也不会为所有 Gateway 元数据提供隔离。请参阅谁能看到在线状态。
正在查看和最近会话仅链接到已加载会话列表中可用的会话。最近会话要求查看者与拥有者或创建者具有相同的已记录配置文件身份。仅有原始 ID 匹配是不够的。它们并不是此人所做贡献的完整历史。会话更新时间描述的是会话本身,而不是此人最后操作的时间。连接描述和时区是客户端报告的信息提示,并非经实际验证的物理位置。
Gateway 还会使用 sessions.list 可见性规则,对每个接收者的已观看会话引用进行过滤,涵盖连接快照、在线状态 RPC 响应和事件。隐藏或缺失的引用会被省略,不显示计数或占位符。打开某人的信息卡绝不会借用该人的会话访问权限。
提及人员¶
在记录(transcript)中,选中的提及会在原始姓名旁边显示一个小型内联头像。缺少照片时使用姓名首字母。徽章省略可见的 @,而复制文本中仍保留 @。
在常规的 Control UI 聊天中,输入 @,然后按人员的显示名称(可包含空格)或任何已关联的已验证 GitHub 用户名进行搜索,再从选择器中选择该人员。输入框会显示将通知,并列出你选中的接收者。每条消息最多可选择十个提及。输入或粘贴 @name 而不选择人员,会作为普通文本发送,不会通知任何人。移除提及会清除选中的接收者,同时保留消息文本。
使用 Up/Down 在人员之间移动,Home/End 跳到第一个或最后一个结果,
Enter 或 Tab 插入选中的提及。Escape 关闭选择器。在 @ 后立即输入空格也会关闭它,
因此单独的 @ 及其后的正文仍为普通文本。将光标移出活动提及时也会关闭选择器。
在输入的姓名中带有空格时,仍会搜索该完整姓名。过滤会在选中人员仍然匹配时继续保留该人员。
选择器会在同一输入框中复用同一搜索的最近结果,包括关闭选择器或开始另一次提及之后。
五分钟后,它会在后台刷新缓存结果,而不会隐藏你已可选择的人员。切换会话、配置文件
或连接会清除该缓存。超过 30 分钟的结果会被丢弃。选择器对未缓存的搜索显示占位符,在无匹配时显示空消息,
如果没有可用缓存结果的搜索失败,则显示重试。将通知会复用所选人员的照片,在加载期间或照片不可用时显示姓名首字母。
选中的提及在记录中呈现为不同的人员引用。悬停、聚焦或点击某个引用,会打开侧边栏中使用的同一信息卡:当前姓名和头像、观察到的在线状态和连接详细信息、可见的已观看及最近会话,以及 Activity 链接。原始消息标签和复制文本保持不变。信息卡遵循显式的配置文件合并;普通未被选中的 @name 文本不会成为人员引用。
选择器包含已知且有资格读取会话的 Gateway 配置文件,包括离线人员。其在线指示器只是连接提示,不是资格要求。请使用持久的 Gateway 配置文件登录,才能使用人员提及。提及表示个人被发现参与其中,并不代表作者参与或 Git 贡献者归属。它绝不会添加会话成员身份、更改可见性或授予访问权限。Gateway 在创建和显示提及时会重新检查接收者当前的访问权限。
提及适用于普通消息、排队或引导输入,以及新会话的第一条消息,包括远程发起的会话。在隐身模式、Goal、catalog、仅建议、命令发送或终端启动模式中,提及不可用。如果切换到不支持的模式后仍有选中的提及,输入框会阻止发送。它会要求你移除这些提及,或返回普通聊天。它不会静默丢弃已选中的接收者。
提及收件箱¶
打开收件箱 → 提及,即可查看跨所有可访问代理发送给你已登录配置文件的消息。打开一条提及会打开其所在会话,但不会将其设为已忽略。选择忽略即可从收件箱中移除该条目。此更改会跟随同一配置文件同步到所有已连接的浏览器,但不会删除聊天消息。
提及和忽略操作在 Gateway 重启和升级后仍然保留。条目会保留其原始标识符和过期时间:最多七天,每个配置文件最多100 个条目,整个 Gateway 最多10,000 个条目。较旧的条目可能因容量限制而被提前淘汰。刷新或重新连接会重新加载保留的收件箱,但不会重新发送旧的浏览器提醒。不会扫描旧的记录消息来重建缺失的条目。
个人参与状态和隐藏/显示选择保存在逻辑会话节点的私有元数据中,与 Inbox 保留策略相互独立。重置和会话迁移会保留这些数据;删除会话会移除它们,分支(fork)不会继承它们。不会扫描现有转录消息来回填参与状态。最后提交的提及位置可防止旧消息重放撤销之后的隐藏选择,即使在 Inbox 条目过期之后也是如此。
Inbox 及其重放记账使用共享数据库中现有的机器状态记录,无需更改 SQLite schema。提及注解保留在现有消息 JSON 中,通知偏好使用现有偏好记录。参见 Inbox 存储与保留。
Inbox 无需浏览器通知权限即可工作。若希望在离开 Control UI 时收到可选提醒,请在 通知 中启用 有人提及我。发送和重试契约参见 WebChat。
代理生成的会话¶
在由多人引导的回合中,sessions_spawn 要求提供 user(请求者经过验证的 requester_profile.id),子会话以该人员保留的权限行事。此选择不会改变会话的模型账户,也不会改变下文中的创建者和所有者规则。
代理通过 sessions_spawn(visible: true)创建的会话通常将请求代理保留为不可变创建者。若要求沙箱,则作为隔离策略保留父会话的创建者溯源。如果当前人类请求者与请求会话的已验证人类所有者匹配,新的可见子会话会将该人员指定为初始所有者。不同的所有者、未关联的请求者或系统触发的 spawn 会明确将请求代理指定为所有者,即使沙箱策略保留了人类创建者溯源。侧边栏显示当前所有者的个人资料或已配置的代理身份,而不是内部会话密钥。此指定仅改变责任归属和显示;共享和可见性权限仍锚定于创建者。
被接受的 spawn 结果兼作回执。它包含子会话密钥、run id、直接的 Control UI sessionUrl,以及一个记录存储所有者的 owner 字段。禁用 Control UI 时省略 sessionUrl。当代理在聊天频道中确认 spawn 时,它会在第一行放置会话 URL,第二行放置 Owner: <label>。随后你可以打开会话并一目了然地看到负责者。仅在责任需要再次转移时使用 分配给我 或 sessions 工具。有关 spawn 生命周期,参见 子代理。
身份范围的便捷状态¶
当连接具有持久的 Gateway profile 时,新会话偏好和选择器最近项会随该用户跨浏览器保留。偏好仍按代理分别保存,而最近项仅从该用户创建的会话中派生。没有持久身份的连接将偏好保存在浏览器本地,并从已加载的会话名册中派生最近项。
单用户 Gateway 为未识别身份的操作员提供一个共享的所有者 profile,包括设备令牌重连。配置 gateway.roles 后,这仅适用于令牌/密码连接。使用该 profile 的设备共享其身份和偏好。若要区分不同人员,请使用按人登录。参见 Gateway profiles。
此状态提高了连续性,但它不是授权或隔离边界。操作员作用域仍控制操作,共享 Gateway 仍然是会话、工具、凭据和文件的一个信任域。
草稿¶
将会话以草稿形式开始,可让进行中的工作在其他人的侧边栏中保持不可见,直到你发布它。草稿永远不会对管理员隐藏;管理员会以淡化的幽灵标记看到他人的草稿。这是一个协调功能,不是安全边界。
目录列表和进度更新会为每个接收者重新检查当前会话的可见性。缓存的提供者结果不会保留对已变为草稿或隐身状态的会话的访问权限。被采用的线程仍绑定到其原始会话实例和插件所有权。删除并重新创建会话密钥不会将旧线程转移给新创建者。目录读取和变更也会在提供者枚举后重新检查存储的会话。
回合归属¶
回合发送者归属是尽力而为的。引导(steering)可将输入合并到活动回合中,因此转录并不总能将每个人的贡献表示为单独回合。参与者历史记录的是某个操作者提示了会话,而不是哪些词属于该操作者。
参与者身份与显示名称、授权相互分离。经过身份验证的 Gateway profile、OpenClaw 代理和远程发送者即使 ID 相同,也依然保持不同。频道插件在能够证明时提供远程身份域和标识符类型。否则,OpenClaw 会保留一个未解析的观察结果。它不会根据发送者 ID、本地账户标签或 UUID 形状来猜测 profile。Profile 合并通过现有 profile 别名解决。被接受的输入会更新已保留的当前 profile 行;如果没有当前行,则更新已保留的别名,即使在 32 条记录的准入边界上也是如此。历史行保留其原始 ID。这不会重写转录或其他代理数据库。
Profile 参与记录会收录被接受的外部作者输入,包括被接受并引导至活动回合的输入,以及面向会话的交互式输入。合成运行、内部消息以及机器人或后台工作不会形成个人 profile 活动。参与者记录是一个聚合值,不是精确的、可防重放的终身输入计数。重置会保留逻辑会话的参与者。删除会话会移除它们,即使转录存档被保留。
正常准入限制是每个逻辑会话 32 个身份。已有身份在该限制下仍可继续贡献。修复会保留已经保存的更大历史,而不是丢弃它们。四头像头部只是预览:Gateway 会在分页和预览截断之前评估人员过滤器。活动报告关联会话,包括经过验证的创建或被分配的责任,而不是声称会话近期活动是某人的最后输入。受限历史和截断结果会被标识为不完整。
schema-18 迁移首次随 v2026.8.1 发布,它会保留历史成员资格和已记录的贡献聚合。早期写入器可能合并个人资料和频道时间戳,因此模糊的首次和最后输入时间变为未知。后续被接受的输入会建立新的已记录最后时间,但无法恢复最早一次输入时间。不会运行基于转录、显示名称或 UUID 的回填。参见 数据库架构。
新的转录消息将合格的发送者身份与显示名称分开。只有合格的个人资料发送者才会获得个人资料头像、人员活动链接,或被识别为已登录人员,并且只有他们的消息会清除该个人资料的输入指示器。仅匹配的频道发送者 ID 并不足够。写入钩子可以隐去发送者身份,但不能将其替换为另一个受信任身份。建议归属标识建议的作者,而不是接受该建议的操作者。
较旧或其他不合格的消息保留其已保存的文本和发送者标签,使用首字母代替推断的个人资料头像,并且没有人员活动链接。当未记录发送者或来源标签时,聊天和回复预览使用标签“消息”,并且不显示头像,而不是显示当前查看者的名称或头像。Markdown 导出同样从不假定未归属的输入是由查看者编写的。这适用于现有历史记录,且不更改其已存储的消息。OpenClaw 不会重写这些消息,也不会从 UUID、个人资料查找或参与者历史中重建其作者。这可能会移除一条确实由个人资料创建的旧消息的个人资料展示,因为它没有记录足够的证据来确立该事实。转录归属、参与者聚合和基于创建者的访问决策仍然是独立的契约。归属和参与从不授予会话访问权限。
通过 Cloudflare Access 或 Tailscale Serve 进行的基于 GitHub 的登录会在 设置 → 个人资料 → 身份 下自动验证该人员的 GitHub 账户。公开的 Co-authored-by 署名仍是一个独立的 Git 共同作者署名 开关,对已验证账户默认开启。归属使用该偏好设置,加上持久的个人资料参与以及工作委派时捕获的贡献者快照。继承的署名不会确立子级参与、个人活动、所有权或访问权限。显示名称和四人头像堆叠投影不是身份证据。有关隐私、资格、边界、账户变更以及禁用未来署名的信息,请参见 用户模型。
相关¶
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw