跳转至

通知

OpenClaw 可以在需要您关注时向您发送提醒,包括 exec 或插件审批请求。该提醒会出现在运行 Control UI 的浏览器中。当您使用 OpenClaw macOS 应用时,它也可以通过原生 macOS 通知到达。您首次发送聊天消息时可能会自动请求权限。设置 → 通知 仍然是启用或修复当前设备的位置。使用同一页面检查其状态并向自己发送测试。

本页涵盖这两个界面。它不控制频道反应通知、Android 通知转发或 iOS 后台推送。移动应用通过各自的节点路径注册推送。参见 iOS 和 节点。

你获得的界面

通知页面控制的内容取决于您在哪里打开它:

设置打开的位置 传输方式 您可以执行的操作
受支持的 Web 浏览器或已安装的 Control UI PWA 通过 Control UI 服务工作者使用的浏览器 Push API 接收审批和已启用的关注类别,管理此浏览器的订阅,并发送测试
OpenClaw macOS 应用 原生 macOS 通知 授予应用权限,被阻止时跳转到系统设置,发送本地测试
不支持 Push API 的浏览器 无 仅状态。启用和测试保持不可用

macOS 应用有意使用原生权限流程,而不是浏览器推送。这是您的 Mac 已经遵循的通知系统。

启用浏览器通知

Control UI 在您首次发送聊天消息时会自动请求通知权限。这包括从 新建会话 或 在后台启动 发送的消息。提示每个浏览器和源仅出现一次。设置 → 通知 仍然是启用或修复通知的手动路径,包括在您拒绝自动提示之后。

  1. 在支持服务工作者、PushManager 和通知的浏览器中打开 Control UI。
  2. 确保 Control UI 已连接到 Gateway。
  3. 打开 设置 → 通知 并选择 启用通知。
  4. 当浏览器询问时,允许通知。
  5. 选择 发送测试 — 测试通知应在几秒内到达。

在后台,启用操作会在此浏览器中创建一个推送订阅,并将其端点和密钥注册到 Gateway。Gateway 会将该订阅绑定到浏览器配对的设备,并在启用操作员角色时绑定其经过身份验证的用户资料。Gateway 将浏览器订阅及其 VAPID 签名密钥保存在 state/openclaw.sqlite 中——没有可编辑的 openclaw.json 键。当 Control UI 重新连接时,现有订阅会自动与 Gateway 进行协调。

浏览器注册和通知设置读取不会等待后台通知加载会话访问数据。Gateway 在发送每条通知前仍会重新检查当前访问权限。

审批通知使用通用的锁屏文本。命令、工作目录、Prompt 和插件详情不会进入推送负载。选择该通知会打开经过身份验证的 /approve/<approvalId> 页面。在每次发送前,Gateway 会重新检查配对设备的当前审批范围、操作员角色、用户资料和审批可见性。已吊销或降级权限的浏览器无需先取消订阅即可停止接收审批推送。

选择到达每个设备的内容

订阅后,设置 → 通知 会提供两个偏好层:

  • 账户默认设置 会跨设备跟随持久的经过身份验证的用户资料。它们控制审批请求和更新、智能体完成、智能体问题以及人类提及。它们还控制计划任务失败、后台任务失败、锁屏详情、免打扰时段、时区以及可选的智能体允许列表。
  • 此浏览器或应用 可以静音一个浏览器配置文件或已安装的主屏幕应用。它还可以添加来源标签或覆盖单个类别。账户默认设置保持不变。原生 OpenClaw 应用通知单独配置。

单用户 Gateway 使用其持久的所有者资料作为账户默认设置,因此这些偏好会跨设备跟随所有者。没有资料的连接会保留这些控件,但仅将偏好与当前浏览器订阅一起存储。偏好从不授予访问权限:每次投递仍会重新检查配对设备、当前角色和范围、经过身份验证的资料以及会话可见性。没有权威会话所有者的多用户事件会被抑制,而不是广播给每个操作员。

默认情况下,审批请求和解决通知已启用,其他所有关注类别均为选择加入。免打扰时段会抑制匹配的发送,而不是将过期提醒排队以便稍后投递。

选择关注通知会在产生它的 Gateway 上打开其问题、会话或自动化运行。智能体已完成 会等待完成。等待子智能体的父智能体不算已完成。自动化失败使用 计划任务失败,而不会为同一运行同时生成 后台任务失败 提醒。

详情级别如下:

  • 私有 — 仅通用关注文本。
  • 仅名称 — 可能包含已清理的人员、会话、设备、智能体、任务或自动化标签。
  • 详细 — 当前使用相同的有界、已清理的生产者拥有的标签。消息摘录、原始 Prompt、命令参数、输出、环境值和错误永远不会进入推送负载。

On iPhone 和 iPad 上,Web Push 仅在完成两个步骤后可用。首先,通过 共享 → 添加到主屏幕 安装 Control UI。然后打开该已安装的应用。普通 Safari 标签页仍可用于 Control UI。在该标签页中,通知页面会报告安装要求。它不会尝试解引用不可用的 PushManager。

发送测试 会请求 Gateway 向每个已注册的浏览器订阅推送一条测试消息。测试仅有意检查传输层。审批请求仅针对已授权的设备绑定。取消订阅 仅在当前浏览器配对的设备和用户资料仍拥有该订阅时,才会从 Gateway 中移除当前浏览器的端点。随后在本地取消订阅。以另一个资料重新连接时,只能凭其现有订阅密钥转移浏览器订阅。仅知道端点无法更改其所有者或将其移除。

Gateway 会直接向浏览器厂商的推送服务发送 Web Push。这在自托管 Gateway 上可用,并且不使用 OpenClaw 托管的 iOS 中继。

接收人工提及提醒

在受支持的浏览器或已安装的 Control UI PWA 中订阅后,请在 设置 → 通知 下开启 有人提及我。该类别 默认关闭,并且需要已登录的 Gateway 资料。账户默认设置可以在你的所有设备上启用它。当前浏览器可以覆盖或静音它。这些类别控件会显示在已订阅的 Web 客户端中,而不是原生 macOS 通知设置中。

只有绑定到被提及资料的浏览器才会收到提醒。每次投递都会重新检查设备、当前资料和角色、读取范围以及会话可见性。然后应用类别设置、免打扰时段和代理过滤器。不要求在线。使用 私密 详情时,提醒仅说明有人在对话中提及了你。仅名称 和 详细 可能包含已脱敏的发送者和会话标签,但绝不会包含消息摘录。选择它会通过正常的已认证 Control UI 路由打开该会话。

你的提及收件箱不依赖 Web Push 权限或此设置。其条目和忽略操作在七天的保留窗口内可经受 Gateway 重启。打开收件箱、重新连接或重启 Gateway 都不会将旧条目重新发送为浏览器通知。服务工作者显示浏览器提醒。实时收件箱更新不会创建第二个操作系统通知。人工提及提醒不通过原生 macOS 或 iOS/Android 推送路径实现。

要检查目标定位,请让另一位符合条件的已登录人员从聊天 @ 选择器中选择你,并发送一条普通消息。检查 收件箱 → 提及,然后检查已启用的浏览器提醒。发送测试 仅检查浏览器推送传输,并且可以到达每个已注册的订阅。它不能证明已选择、提交或指向你资料的人工提及。投递是尽力而为,不是精确一次保证。

在一部手机上使用多个 Gateway

推荐的自托管设置是每个 Gateway 一个 Control UI 服务工作者作用域。从各自的 HTTPS 源或基础路径打开或安装每个 Gateway 的 PWA。在那里启用通知。升级后重新连接一次。然后每个作用域都拥有独立的浏览器订阅,并且审批链接会返回到创建它们的 Gateway。

单个已安装的 PWA 也可以在不同的远程 Gateway 之间切换。该 PWA 背后的每个 Gateway 都必须使用相同的 VAPID 密钥对。每个 Gateway 还必须将 gateway.publicOrigin 设置为其浏览器可访问的 HTTPS 源。将 PWA 重新连接到每个 Gateway 一次,以便每个 Gateway 都注册共享的浏览器订阅和当前设备/资料绑定。审批通知链接保持在已安装 PWA 的作用域内,并在其片段中携带所属 Gateway 的 URL。Control UI 会在认证前移除片段,并使用正常的远程 Gateway 交接。

浏览器 Push API 每个服务工作者注册只允许一个应用服务器密钥。如果 PWA 订阅属于不同的 VAPID 密钥,OpenClaw 会从当前 Gateway 中移除不可用的行。OpenClaw 还会显示 不可用 和 未订阅,并附带解释不匹配的错误。要将该 PWA 作用域切换到当前 Gateway,请选择 取消订阅,然后选择 启用通知 和 发送测试。取消订阅会停用通过该作用域注册的每个 Gateway 的共享浏览器订阅。重新启用后,重新连接到每个 Gateway 一次。

共享私有 VAPID 密钥和浏览器端点会使这些 Gateway 成为一个推送签名信任域。仅对你同等信任的 Gateway 使用该布局。通过每个 Gateway 进程的安全环境或密钥管理器配置 VAPID 值。不要将私钥放在 URL 或命令参数中。

在 macOS 应用中启用通知

macOS 应用也会在你的首次聊天发送时自动请求,但仅在权限为 未请求 时。拒绝后,它绝不会自动打开系统设置。使用 设置 → 通知 手动管理权限。

  1. 在 OpenClaw macOS 应用中打开 设置 → 通知。
  2. 在权限显示为 未请求 时选择 启用通知。
  3. 批准 macOS 权限提示。
  4. 选择 发送测试 以发布一条本地 OpenClaw 通知。

如果权限显示为 已拒绝,macOS 不会再次提示。选择 打开系统设置。在那里允许 OpenClaw 发送通知。然后切换回来。当应用重新获得焦点时,页面会重新检查权限。此权限属于 macOS,而不是 Gateway 配置。

后台会话完成

你可以从 新建会话 在后台启动一个会话。该运行结束后,macOS 应用会发布一条原生通知。这要求通知权限已经授予。运行期间请保持源仪表板处于加载状态。你可以最小化其窗口或在另一个应用中工作。应用内也会出现一条完成消息。在它结束前选择该会话会抑制其完成通知。

原生通知使用通用文本,不包含会话标题、Prompt 或响应。选择它可在其来源 Gateway 上打开该会话,即使该窗口之后已关闭。如果该 Gateway 连接已更改,请改为从正确 Gateway 的会话列表中打开该会话。如果通知在应用重启后过期,也请执行相同操作。

这是 新会话 后台启动流程,而不是针对每条聊天响应的原生通知。浏览器 Agent 已完成 偏好设置仍相互独立。完成后台运行永远不会打开新的权限提示。请先在设置中启用通知。

故障排除

无法启用

浏览器缺少所需的 Web Push API,或者 Control UI 未连接到 Gateway。请尝试使用较新的浏览器,检查 Gateway 连接,并重新加载页面。

浏览器权限被阻止

已拒绝的浏览器权限无法从页面重新打开。请在浏览器的站点设置中允许 Control UI 来源的通知,然后重新加载设置。

权限已授予但浏览器未订阅

浏览器权限和 Gateway 订阅是分开的。选择 启用通知 以注册此浏览器,然后启用你需要的类别,例如 有人提及我。重新加载或发送另一条消息不会自动订阅权限已授予的浏览器。这会保留有意取消订阅的状态。

Service worker 未就绪

Control UI 最多等待其 service worker 10 秒。如果更新后随即超时,请强制刷新页面。如果旧 worker 仍然存在,请清除 dashboard 来源的站点数据并重新连接。

Web Push 要求执行 Doctor 迁移

在 Gateway 停止时运行 openclaw doctor --fix。在 Doctor 将其导入 SQLite 之前,Web Push 拒绝使用已弃用的 JSON 存储。

测试到达但审批请求未到达

重新连接或重新加载一次 Control UI,以便将较早的订阅绑定到当前已配对的设备。该设备必须仍具有 operator.approvals 和 operator.read。当启用 Gateway 角色时,当前用户资料的角色也必须允许这些范围。审批可见性和会话共享规则可以有意排除同一 Gateway 发送给另一操作者的请求。

对于在多个 Gateway 之间切换的单个 PWA,还需检查两项内容。每个 Gateway 必须使用相同的 VAPID 密钥对。每个 Gateway 必须具有浏览器可访问的 gateway.publicOrigin。不同的 PWA 来源或基础路径范围无需共享 VAPID 密钥。

提及缺失或未触发浏览器提醒

检查发送者是否从选择器中选择了你的资料,而不是仅输入你的名字。检查原始消息是否已到达转录。使用同一资料登录,并检查你是否仍有权访问该会话。Incognito、Goal、catalog、suggestion-only 和 command-send 模式不支持人类提及。

如果该条目位于 收件箱 → 提及 中,请检查此浏览器的订阅和 有人提及我。同时检查免打扰时段、静音覆盖和 agent 过滤器。收件箱条目并不意味着有权限显示浏览器通知。如果条目消失,它可能已在另一个使用你资料的浏览器中被忽略。它也可能已过期、被驱逐,或在会话访问权限变更后无法访问。Gateway 重启会保留已保留的条目和忽略操作。已保留的聊天消息独立于收件箱条目。在引入持久存储之前已经丢失的条目不会从旧消息中恢复。

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