---
doc-schema-version: 1
summary: "Control UI 今天可以做什么,按其网关 RPC 名称的功能分组"
read_when:
- "检查Control UI是否存在能力"
- "查找 Control UI 功能后面的网关 RPC"
title: "功能和 RPC 参考"
sidebarTitle: "功能和 RPC 参考"
---
Control UI 功能按区域分组,每个功能背后都有网关 RPC 方法。
工作板侧边栏条目提供 pin/unpin,并且具有写入权限,可通过右键单击、**Shift+F10** 或上下文菜单键确认板删除 (`workboard.boards.delete`)。
## 功能和RPC参考
- 子代理记录在主聊天视图中隐藏作者头像。助理和同行发件人姓名仍然可见;当不知道其他人类参与者时,您的名字就会被隐藏。
- 通过 Gateway WS(`chat.history`、`chat.send`、`chat.abort`、`chat.inject`)与模型聊天。已归档的会话会保持输入框禁用,并在对话可以继续之前显示带有 **取消归档** 操作的横幅。
- Thinking 控件和 `/think` 使用所选模型的已发布选择和默认值。没有选择的模型不提供任何努力控制或默认值。缺失的能力元数据显示为未知,没有猜测的级别;显式命令仍然使用服务器验证。保存的覆盖和匹配的继承选择仍然与活动后备模型分开。
- 打开或刷新最多 80 条最近消息的聊天请求。仅当您将鼠标悬停或键盘聚焦在其导航条目上时,其他非活动对话才会升温,在呈现的聊天负载完成后,64 KiB 历史预算中最多有 20 条消息。导航意图使用短暂的延迟,无需等待浏览器空闲时间或另一个会话的冷却时间;预期会话自身的冷却时间仍然适用。向后滚动请求每页最多 1,000 条旧消息并预取下一页。每条消息的文本上限和响应字节限制可以减少这些计数。
- A 当聊天采用新的运行或历史记录确认较新的成功运行时,先前运行的错误横幅将被清除。停用横幅不会删除记录的诊断信息。来自同一运行的迟到错误可以在其提供的答案旁边保持可见;仅重新连接或刷新元数据并不能建立恢复。
- Run 错误横幅显示简短的说明和下一步。诊断文件路径保留在 **Details** 后面,并屏蔽凭据。展开 **Details** 以读取完整错误,并使用 **Copy error** 复制完整显示的诊断信息。重新打开聊天后,回复前记录的故障提供了其确切运行的诊断信息,而不是缩短的会话列表摘要。
- A 保存的助理答案会替换其实时流,而无需等待运行完成。在回复完成时刷新历史记录或重新连接不会添加已保存答案的另一个副本。后来的流媒体延续仍然可见。远程工作区对账可以在答案出现后保持工作指示器和停止控件处于活动状态;在答案旁边仍然可以看到后来的协调失败。
- 向上滚动以阅读较早的消息,而不跟随传入的输出。当您处于或接近结束时,无论回合从哪里开始,传入的消息和回复都会保留在视图中;键入预览会保留此跟随状态。从此窗格发送消息、提交转录命令(例如 `/help`)或使用向下箭头按钮返回到最新消息,包括何时调整编辑器或进度卡的大小。手动滚动会中断该移动或恢复的滚动位置;文本字段或媒体控件处理的键则不然。消息继续保留全文、图像和工具输出加载的空间。
- Session 和 GitHub 悬停卡在其源窗格隐藏或停用时关闭,包括当您使用浏览器后退或前进时。
- 在聊天消息(您的和代理的)中链接到 `github.com`,将问题和拉取请求引用显示为带有问题或拉取请求图标的紧凑芯片。裸项 URL 显示 `#number`,包括文件、提交、评论和差异锚点的链接;匹配`#number`或`owner/repo#number`标签也成为芯片。仅包含 GitHub、URL 的代码范围将被视为裸露的 URL,因此反引号引用的链接将获得相同的芯片、工具提示和悬停卡。工具提示会保留确切的目标,悬停卡会打开相同的链接。存储库文件 URL 显示文件名。嵌套树 URL 显示所有者、存储库和最终路径段,并用省略号表示省略的路径;这也涵盖了包含斜杠的分支名称,而无需猜测分支的结束位置。他们的完整目标保留在工具提示中。其他 GitHub 路径在其 URL 标签中保留所有者和存储库。全部保留 GitHub 标记,自定义标签保持不变。图标是捆绑在一起的,永远不会从网络中获取,并且仅具有装饰性:对于仅图像链接(例如徽章),它们会被跳过,永远不会出现在带有其他文本的代码块或代码范围内,不会被屏幕阅读器读取,也不是复制文本的一部分。
- 在助理消息中,结帐具有 GitHub 遥控器的会话还会将 `PR #141270`、`pull request #123`、`pull #123`、`issue #123` 和 `fixes`/`closes`/`resolves #123` 等引用转换为带有悬停卡的芯片。关键字及其数字之间的粗体和斜体格式(例如 `PR **#123**`)会保留项目类型。裸 `#N` 引用需要至少四位数字且没有前导零;代码内的引用、现有链接或标题保持不变。不合格的引用使用会话签出存储库。存储库限定的表单(例如 `owner/repo PR #123` 或 `PR owner/repo#123`)无需签出即可使用; `owner/repo#123` 使用问题链接。紧邻关键字之前的已知项目显示名称或存储库基本名称(例如 `Release Tools PR #123`)选择该存储库仅用于该引用。名称在标识符边界、bold/italic 格式以及周围的引号或标点符号中不区分大小写地匹配。 UI仅使用`projects.list`已经返回的注册项目和当前会话存储库;它不会搜索 GitHub 或猜测所有者。项目起源仍仅限于 `operator.write`。不明确的名称和缺失、隐藏或非 GitHub 来源的已知项目仍保留纯文本,而不是退回到结帐。未知的带引号的名称、显式的 `repo`/`repository`/`project` 限定符和 CamelCase 或内部 dot/underscore 标识符也保持不变;普通散文如`Original PR #123`和`Follow-up PR #123`仍然使用结帐。无法推断其他未知的自然语言名称。基于结帐的链接等待授权的项目目录加载;如果读取失败,它们会保持简单,而不是简单地将指定项目链接到错误的存储库。显式 `owner/repo` 引用和 URL 仍然有效。现有的显式链接始终保留其创作的目标。
- H 将公共 GitHub 问题或拉取请求链接悬停或键盘聚焦会显示其状态、标题、作者、最近活动、评论和更改统计信息。可见的聊天链接为每个已安装的对话和网关连接预热最多八个不同的预览,一次一个后台请求,因此卡片可以在打开时使用已缓存的数据。隐藏的对话、后台选项卡和断开连接的网关会暂停预热。取消的工作在再次可见时恢复,并且重新连接会为新连接启动新的变暖预算;其他链接仍会在悬停或键盘焦点时加载。加热和悬停共享相同的缓存和待处理请求。内联项芯片使用相同的获取状态:未知和草稿项保持中性,未清项为绿色,合并的拉取请求为紫色,关闭的拉取请求为红色。芯片状态的范围仅限于当前连接和代理下的确切存储库和项目;它永远不会解决不同工作空间的发布问题。连接的网关在不更改链接目标的情况下获取并缓存公共元数据,包括当 UI 使用远程网关时。卡片的标题和存储库引用会打开您悬停或聚焦的确切链接,包括评论片段和查询参数,即使指向同一项目的另一个链接已填充缓存也是如此。预览使用所选代理的已配置 GitHub 身份,在没有代理覆盖时继承系统身份。如果没有托管身份,它们将保留显式的 Control UI GitHub 凭据,然后是共享网关进程环境回退;公共预览仍然可以匿名进行,无需凭据。配置的托管身份永远不会默默地切换帐户,并且经过身份验证的预览仍然仅限于公共存储库。在浏览器中登录 GitHub 或连接个人 GitHub 帐户不会选择预览身份。预览请求将保持静默状态,直到一个预览成功出现在当前页面、网关连接和代理身份上下文中。这一成功是跨预览提供者共享的:稍后未缓存的链接可以显示加载框架。客户端、连接或身份更改会重置门,并且它不会在页面重新加载时持续存在。故障显示网关的解释,包括速率限制、身份验证或访问问题以及超时。缓存的会话详细信息在该通知中仍然可见;重新打开失败的预览会显示 30 秒退避期间缓存的失败,而无需其他请求。在请求挂起时留下链接会取消该激活,并且过时的响应无法在新上下文中启用加载程序。预览提供程序内受支持的链接会抑制初始悬停或焦点时的竞争标题工具提示,包括在预览运行时加载时。原始链接、其可访问名称以及浏览器的目标 URL 显示保持不变。
- 通过浏览器实时会话进行交谈。 OpenAI 支持浏览器 WebRTC 和网关中继提供商 WebSockets,Google Live 在 WebSocket 上使用受限的一次性浏览器令牌,仅后端实时语音插件使用网关中继。支持视频的浏览器会话可以在“设置”中选择设备本地摄像头,或从实时预览中翻转摄像头;浏览器为实时提供商捕获 JPEG 帧,而无需通过网关流式传输摄像机视频。客户拥有的提供商会话以 `talk.client.create` 开头;网关中继会话以 `talk.session.create` 开头。中继将提供商凭证保留在网关上,同时浏览器通过 `talk.session.appendAudio` 传输麦克风 PCM,通过网关策略和更大的配置 OpenClaw 模型转发提供商委托或 `openclaw_agent_consult` 工具调用,并通过 `talk.client.steer` 或 `talk.session.steer` 路由主动运行的语音引导。浏览器 WebRTC GPT-Live 在网关拥有的边带上进行委托,但每个委托使用浏览器拥有的 `talk.client.steer` 生命周期的普通工具权限和批准;新的口头任务也可以取代正在运行的代表团。网关中继 GPT-Live 使用正常的中继协商和引导路径。在 **Settings → Talk** 上配置实时提供商、模型和扬声器语音,其选择器来自 `talk.catalog`,并显示选择是否可以使用。
- Stream 工具调用和聊天中的实时工具输出卡(代理事件)。工具活动呈现为种类感知行:shell 命令显示带有终端样式输出的语法突出显示的命令;支持的编辑和写入调用显示有界内联差异,并具有源语法突出显示、可用行号和 `+added -removed` 统计信息;连续的调用会分解为有限的操作计数,例如“13 个命令·6 个读取·9 个编辑”,并指出失败、阻塞和未知结果。这些是操作计数,而不是不同文件计数或更改成功的声明。当运行处于实时状态时,最新运行的调用会命名组标头。展开一行以检查其剩余参数和原始输出。
- Tool 活动对不同的调用进行计数,而不是对 start/update/result 事件、重复历史记录或实时预测或网关观察 RPC 进行计数。嵌套调用独立计数,即使它们的名称和参数匹配也是如此。展开活动以查看每个调用;读取和编辑计数可以包括对同一文件的重复尝试。
- Tool 活动会自动显示由代理代理提供的简短目的描述(如果可用),并在下面可扩展命令和结果。没有描述的呼叫保留固定标签。查看活动不会进行额外的模型调用。以前的 `gateway.controlUi.toolTitles` 选项已停用; `openclaw doctor --fix` 将其从现有配置中删除。
- 启动或取消临时模型建议的后续任务。 **在新会话中启动** 在建议文件夹中打开建议的任务,无需 Git 或创建工作树。新会话在使用工作树之前询问用户该任务是否需要稍后使用。
- Activity 选项卡,包含来自现有 `session.tool`/工具事件传递的实时工具活动的本地浏览器有限摘要。
- 侧栏插件条目可以在其页面或子页面打开时展开以显示嵌套目标。使用 **Customize** 将子项固定为顶级条目,使其在其父页面之外可用,或删除其固定。插件目标使用自己的图标(如果可用),并且可以通过拖动对固定条目重新排序。
- Channels:内置 bundled/external 插件通道状态、QR 登录和每通道配置(`channels.status`、`web.login.*`、`config.patch`)。当网关接受配置更改时,包括在引导设置之后,通道卡会自动刷新;慢速检查不会延迟更新的运行时状态。
- 通道检查刷新在缓慢的提供程序检查完成时保持先前快照可见,并在检查或审核超出其 UI 预算时标记部分快照。
- Threads(位于 `/sessions` 的工作区页面,旁边有 **Worktrees** 选项卡):默认列出已配置的代理会话、固定频繁的根会话、重命名它们、存档或恢复会话、从过时的未配置代理会话密钥回退以及应用每个会话 model/thinking/fast/verbose/trace/reasoning 覆盖(`sessions.list`、`sessions.patch`)。侧边栏提供**Active/Snoozed/Archived/All**状态过滤器;所有这些都包括暂停的会话和带有显式标签的变暗存档行。合格会话的侧边栏菜单中的 **Snooze** 将其从活动侧边栏隐藏,而不会停止运行或阻止消息。选择预设的起床时间(一到三个小时内、今天晚上、明天或下周一);时间、新的用户消息或已完成的代理运行会将其唤醒。在“延后”下找到它并选择 **Wake session**,或在延后确认中使用 **Undo**。延后的行显示他们的起床时间。会话页面保留其活动/存档/所有生命周期视图。存档的会话保留其记录并保持搁置状态,直到明确取消存档或删除为止。当会话存储超出其磁盘预算时,按活动会话上限自动归档的会话也可以自动删除;手动存档和旧会话保持受保护。行显示自上次读取以来具有活动的活动会话的未读点,其中包含 mark-unread/mark-read 操作 (`sessions.patch { unread }`) 以及将转录本分支到新会话的 Fork 操作 (`sessions.create { parentSessionKey, fork: true }`)。表格上方的概述图块总结了加载的名册(会话计数、实时运行、未读会话、总令牌和存档计数(如果可用)),每行都带有一个带有实时运行点的字形,状态呈现为普通点加标签,令牌列在会话报告令牌和上下文大小时显示上下文窗口使用情况仪表。行管理操作位于每行菜单(kebab 按钮或右键单击)中,镜像侧边栏的会话菜单,行抽屉包含代理运行时间和运行持续时间以及其他会话详细信息。
- 原生 Claude 和 Codex 侧边栏目录会一次串流一个主机,然后在节点连接状态变化、页面获得焦点时,以及页面可见期间最多每 30 秒重新协调一次。目录变化会触发更快的后续检查,因此在原生工具中创建的会话无需重新加载 Control UI 即可显示。Claude Desktop 行在存在本地自定义分组标签时也会保留该标签;OpenClaw 从 Desktop 的本地存储读取该映射,但从不写入。
- 会话分组:“分组依据”控件会按自定义分组、频道、类型、代理或日期,将会话表格整理为不同区段。自定义分组通过 `sessions.patch`(`category`)按会话持久化,因此从消息频道(Discord、Telegram、WhatsApp 等)启动的会话也可以分类;可将行拖到某个区段上分配分组,或使用每行的分组选择器,并通过“新建分组”操作创建分组。
- Memory(代理页面上的选项卡,范围为所选代理):做梦状态、enable/disable 切换和梦日记阅读器(`doctor.memory.status`、`doctor.memory.dreamDiary`、`config.patch`)。启用 `memory-wiki` 插件后,日记视图会添加 **Imported Insights** 和 **Memory Wiki** 子选项卡,用于浏览导入的源聊天和已编译的 wiki — 集群综合、实体和概念页面以及带注释的源和报告(带有声明),打开问题、矛盾和内联页面预览(`wiki.importInsights`、`wiki.overview`、`wiki.get`)。
- 导入记忆(`/memory-import`,从代理页面的“记忆”选项卡进入):预览并将本地 Claude Code 自动记忆、Codex 合并记忆或 Hermes 记忆文件复制到选定代理的工作区(`migrations.memory.plan`、`migrations.memory.apply`)。
- Onboarding 内存报价:当 Control UI 在 [onboarding 模式 ](/web/urls#other-special-documents-and-startup-modes) 下打开时,一页对话框提供使用相同的 plan/apply 流程导入检测到的内存;跳过会将设置页面保留为稍后的入口点。
- Automations(cron 作业):Automations/Run 历史选项卡开关上方的统计卡(自动化计数、失败计数、调度程序状态、下次唤醒); “自动化”选项卡在可过滤表(All/Active/Paused、搜索、计划和上次运行过滤器、每行操作菜单)中列出了作业,并在下面提供了入门建议,“运行历史记录”选项卡显示了所有自动化的最近运行(`cron.*`)。
- Inbox 自动化警报会在初始库存加载后跟随 cron 作业事件。重新连接、返回隐藏选项卡或更改配置都会刷新清单;正常的作业活动不会重新加载每个页面。
- Plugins:浏览已安装的库存和精选商店、搜索 ClawHub、安装和删除插件代码以及启用或禁用已安装的插件 (`plugins.*`)。 **Install** 立即启动并接受暂存插件声明的功能,而无需更改您的挂钩和模型权限。配置的安装策略警告仍然需要明确确认。当您搜索时,目录类别仍然可用。 MCP 服务器行通过配置方法编辑 `mcp.servers`。
- 技能:状态、enable/disable、安装、API 密钥更新 (`skills.*`)。
- Devices:一份清单连接配对设备记录、节点目录和实时状态(`device.pair.list`、`node.list`、`system-presence`)。首先固定网关主机;配对的客户端显示连接状态、角色、令牌、功能和命令。重复的配对会折叠成一个可扩展的组,**Clean up N stale** 会批量删除管理员确认的、自动批准的脱机重复项(静默本地、可信 CIDR 或 SSH-verified)或早于批准来源。配对行有一个 **Actions** 菜单,用于复制其设备 ID、**编辑别名**(最多 64 个字符的非空操作员标签,保留设备 ID 和客户端报告的名称),删除其配对(`node.pair.remove`、`device.pair.remove`)或 approve/reject 待定节点重新批准(`node.pair.approve`/`reject`)。设备配对请求保留其可见的 **Approve** 和 **Reject** 按钮 (`device.pair.*`),并且可以从同一张卡创建移动设置代码。 **详细信息**将设备身份、IP、范围、令牌rotation/revocation和命令分组为标记事实。资源计量表显示来自 `system.info` 的网关主机负载、内存、磁盘和正常运行时间,节点计量表在节点报告 `hostStats` 时显示。具有保留快照的离线节点显示静音的最后已知计量表以及快照期限。连接的页面每 60 秒刷新一次主机统计信息,同时安静的节点重新加载;节点统计信息也会在 `node.hostStats` 事件上刷新。功能芯片解释了悬停时的每项功能。 **Desktop** 在独立桌面窗口中打开该计算机(停靠的桌面面板在设置路由上保持隐藏状态),并且仅在网关报告可用桌面环境时才显示。桌面共享开始在桌面节点上启用。在Mac上,在**设置→本机→功能→桌面共享**下进行更改;该应用程序会自动重新连接。 CLI 节点使用 `desktop.host.enabled`,并且在配置更改后需要重新启动。现有节点可能会重新连接,并等待新命令的重新批准,您可以从该行的 **Actions** 菜单或使用 `openclaw nodes approve ` 进行批准。无需额外的网关允许进入;显式拒绝仍然会阻止流式传输。该节点需要 macOS 屏幕共享或经过身份验证的环回 VNC 服务器。当仅公布该命令时,虚线桌面芯片解释了此设置。
- 执行审批:编辑 gateway 或 node 允许列表,并为 `exec host=gateway/node` 询问策略(`exec.approvals.*`)。
- View/edit `~/.openclaw/openclaw.json` (`config.get`, `config.set`).
- Settings 在控件和占位符中显示有效的默认值,而无需在每个字段下重复“使用默认值”。自定义字段保留其默认参考;重置行为不变。
- 设置导航从询问OpenClaw开始,配置文件、外观和通知位于顶部;连接(网关、通道、通信、通话、设备);代理和工具(代理、实验室、模型、MCP、内存、自动化);隐私和安全(安全、秘密、批准);和系统(基础结构、高级、调试、日志、关于)。语言位于外观页面,模型默认值位于模型上,网关主机详细信息位于网关上。
- 隐私和安全:针对网关身份验证、执行策略、浏览器启用、工具配置文件、设备身份验证和移动配对的精选行,位于架构支持的 `security`/`approvals` 部分之上。
- Secrets(`/settings/secrets`)通过 `secrets.store.*` 管理团队范围的机密和环境条目。环境值仍然可见,机密值保存后永不返回;批量添加接受带引号的多行 dotenv 值;当连接的 Gateway 未公布这些操作时,变更操作会被隐藏。
- Approvals 包含已解决的执行、插件和系统代理请求按最新优先排列的 30 天历史记录。按类型筛选,或翻阅较早的行,以查看 Gateway 记录的决定、原因、来源会话和处理者归属。
- Labs 公开了 Advisor、代码模式、所有模型的工具搜索、自定义插件 UI、主机桌面和云工作桌面。代码模式默认关闭;打开它会写入 `tools.codeMode.enabled: "auto"`,它仅适用于标记为首选代码模式执行者的模型。 Advisor 默认关闭;其配置按钮可打开插件的工具调用和运行时审查间隔。评论使用会话自己的模型并引导积极的工作,然后回到下一回合的建议。无需重新启动网关即可保存更改。代码模式和工具搜索适用于未来的代理运行;插件 UI 和连接页面中的桌面可用性更新。 Swarm 和 CLI 代理默认可用,并具有现有的配置选择退出和工具权限。
- Swarm 和工具循环检测位于 **Settings → Agent Defaults → Tools** 中。 CLI 代理位于 **设置 → 基础设施 → 网关** 中。消息审核元数据位于 **Settings → Advanced → Logging** 中,默认情况下保持关闭状态;更改后重新启动网关。精益本地模型模式仍然是 **设置 → 代理默认值 → Agents** 下的高级故障排除设置。
- Notifications:浏览器网络推送状态、subscribe/unsubscribe 和测试发送。
- Advanced:每个配置部分都没有策划的主页,加上原始的 JSON5 编辑器。
- **高级→设置**默认折叠。展开它以编辑发现访问和应用程序推荐同意或检查只读设置历史记录。表格中没有内部簿记字段;原始 JSON5 编辑器保持不变。
- 在**高级→通讯→频道**中,使用**频道设置**一次显示一个消息频道,包括自定义频道插件。 **Other** 对共享通道默认值和模型覆盖进行分组。切换组不会更改已保存的配置。
- **Models** (`/settings/model-providers`) 是模型默认值和提供商连接的主页。 **所有代理的默认值**将模型、实用模型、回退、思考和快速模式控件保留在一起。共享设置侧栏选择**提供商访问**中显示的代理,可以通过提供商名称进行过滤;全局默认值仍然不受范围限制。 **连接提供商** 打开一个可搜索的提供商优先对话框;保存凭据不会更改活动模型。其 **在此网关上的** 选项重用现有连接、本地准备、可安装插件和自定义端点的设置发现。使用模型显式更改所选代理,而不是全局默认值。首次运行引导保留其激活和恢复流程;保存的非首次运行的模型设置链接会在模型上打开连接提供程序。同一连接重新扫描使现有结果可见并报告刷新失败而不丢弃它们。激活等待网关应用验证的配置;如果无法应用到位,安装程序会显示需要重新启动。在保存的配置处于活动状态并且挂起的重新启动工作完成之前(包括重新连接或重新打开页面之后),验证将保持不可用。安装程序保留您选择的模型并显示网关的原因;重启后,使用**重试**或**如果页面没有自动继续,请验证并使用所选模型**。
- Agents:设置页面(**Settings → Agents**、`/settings/agents`),其中包含共享模板的 **Agent 默认值** 行以及每个代理选项卡(概述、文件、工具、技能、通道、自动化、记忆)。 “概览”选项卡可编辑客服人员的身份 - 显示名称、表情符号以及在 `agents.update` 之前在浏览器中缩小并限制尺寸的头像图像。它还设置代理的主要模型和模型目录中的有序后备链。后备是一个字段:所选模型按优先级顺序显示为可移动芯片,下拉列表列出了尚未在链中的目录模型,然后键入过滤器。 Enter 添加突出显示的选项。要使未列出的 `provider/model` 参考与键入的完全一致,请选择其 **Add** 行或按逗号。离开该字段或按 Escape 键会放弃未经确认的搜索文本。保存存储配置的身份字段并将其镜像到工作区`IDENTITY.md`;配置的值优先于对相同文件字段的手动编辑。 “工具”选项卡显示有效的 GitHub 执行帐户,并在高级管理设置下保留每个代理的覆盖,并具有设备授权和一次性 PAT 设置。常见的个人和系统连接存在于个人资料中。
- Profile:一个设置页面,其中包含默认代理的身份、经过身份验证的人员的可编辑配置文件和经过验证的登录身份、单独的 Git 共同作者同意以及我的 GitHub/System GitHub 连接。 **使用情况统计** 打开使用情况视图,而不是将所有使用情况统计信息加载到配置文件中。
- MCP 有一个专用设置页面,其中包含服务器行(传输、启用、OAuth/filter/parallel 摘要)、直接 add/enable/disable/remove 控件、常见操作员命令和范围 `mcp` 配置编辑器。插件页面仍然是一键连接器和发现的主页。
- Models 列出每个已配置的模型提供程序及其品牌图标、身份验证状态 (`models.authStatus`)、模型可用性 (`models.list`)、提供程序报告的实时 plan/quota/billing 数据 (`usage.status`) 以及过去 30 天的本地会话支出 (`sessions.usage`)。本地支出详细信息对带有使用记录的消息进行计数。该页面及其选择器会读取网关已发布的模型选择,而无需开始发现。登录后,入门选项仍然可用,同时“检查模型...”报告帐户发现;已完成的发现更新打开的选取器。 **Refresh** 在请求新的提供程序库存之前更新凭证状态,而 **Retry** 在失败后再次请求发现。使用独立加载。如果网关正在准备模型身份验证,页面会显示不可用状态警告,而不是将其视为连接丢失或注销。身份验证状态诊断不会阻止聊天引导。
- 代理、自动化和模型中的模型选择显示目录刷新失败,包括没有单个提供程序错误的失败。命令面板搜索忽略了提供商目录刷新警告;模型结果无需等待其他搜索类别即可显示,选择模型结果将打开模型设置。失败的模型搜索请求仍然报告模型搜索不可用。返回的选择仍然可用;返回的空列表不会从旧视图中恢复过时的选择。成功恢复会清除警告。目录更新保留未保存的设置和自动化草稿。
- 仅技能元数据更新保留缓存的模型选择和身份验证状态。目录发现结算刷新模型选择,无需重新读取未更改的身份验证; credential/configuration 更改、重新连接和凭证到期窗口仍会刷新受影响的事实。
- 当目录报告各个身份验证配置文件的结果时,一个就绪的配置文件优先于被拒绝或不可用的同级配置文件。提供商范围内的目录故障在提供商卡上仍然可见。
- Gateway:一个设置页面(在 **Connections** 下),拥有该浏览器自己的网关链接 — 网关 URL、一个用于令牌或密码的 **Gateway Secret** 字段,以及默认会话密钥 — 以及最新的握手快照(状态、正常运行时间、滴答间隔、上次通道刷新)。离线登录门处理断线情况;此页面在连接时编辑连接。成功的令牌模式连接后,仅在当前浏览器选项卡和网关的会话存储中记住该密钥。密码保留在内存中并且永远不会保留。
- 通过验证应用并重启(`config.apply`),然后唤醒上次活动的会话。
- 写入操作包含基础哈希保护,以防止覆盖并发编辑。
- 如果写入前配置验证拒绝保存或应用,“设置”将显示 **“设置未应用”** 以及网关的原因。当前设置保持不变,您的草稿仍可编辑以进行更正和重试。连接失败、权限拒绝、并发编辑和写入恢复保持单独的错误处理。
- Writes (`config.set`/`config.apply`/`config.patch`) 预检活动 SecretRef 分辨率,以获取提交的配置负载中的引用;未解析的活动提交的引用在写入之前被拒绝。
- 表单保存会丢弃无法从已保存配置恢复的过时脱敏占位符,同时保留仍映射到已保存机密的脱敏值。
- 为空或仅包含空格的敏感字符串字段在重新加载后仍可编辑。默认情况下,具体秘密会被隐藏;包含存储机密的条目无法在表单中重命名。在插件声明的凭据字段中,管理员可以显式显示所选字段和当前配置修订版 (`plugins.credentials.inspect`) 的已保存文字。这不会解析秘密引用或环境值。
- Schema 和表单渲染来自 `config.schema` / `config.schema.lookup`,包括字段 `title`/`description`、匹配的 UI 提示、直接子摘要、嵌套 object/wildcard/array/composition 节点上的文档元数据以及可用的插件和通道架构。仅当快照具有安全的原始往返时,原始 JSON 编辑器才可用;否则 Control UI 强制使用 Form 模式。
- 原始 JSON 编辑器的“Reset to saved”会保留原始编写的形状(格式、注释、`$include` 布局),而不是重新渲染扁平化快照,因此当快照可以安全往返时,外部编辑会在重置后保留。
- 结构化 SecretRef 对象值会在表单文本输入中以只读方式呈现,以防止意外发生对象到字符串的损坏转换。
会话时间线的范围手柄支持 Tab、箭头键移动一个记录点,以及 Home/End 选择边界。每个手柄都有一个可访问的标签和当前时间。
- 基于会话的 token 和预估成本分析与提供方计费分开。
- Session 行和选定的详细信息显示保存的对话名称,包括生成的标题。显式重命名优先;未命名的会话显示它们的密钥。
- 概览图表和总计涵盖与活动过滤器匹配的每个会话。会话卡在服务器上分页 50 行;其显示的计数不包括单独的选定会话比较。当您更改页面并刷新概述时,比较仍然可见。按住 Shift 键并单击可选择当前页面内的范围。 **最近查看的** 显示在此“使用情况”页面上选择的匹配会话。
- 使用提供商、模型、渠道或工具菜单过滤会话,或键入不区分大小写的 `key:value` 术语。一个类别内的值作为替代项进行匹配。切换菜单选项会保留其他过滤器及其引用的文本。
- 选择日期可将令牌和成本总计缩小到活动会话过滤器中的那些日期。每日图表和导出保留该会话范围。 Provider/model/tool 查询选择匹配的会话,包括每个匹配会话内的所有使用情况;小时过滤器选择在这些时间内处于活动状态的会话。
- 整个会话总计对每个工具调用进行计数,包括在一条助理消息中重复使用同一工具。拖动会话的使用时间轴中的手柄来检查间隔;其计数在加载的对话中使用辅助调用。工具结果不添加调用。仅工具辅助消息在加载的对话中仍然可见。
- Interval 消息和工具调用计数使用加载的对话中的时间戳条目。消息仅包括用户和助理角色。加载的历史记录可能不完整;不可用或未注明日期的数据无法建立完整的区间总计。对话搜索和角色过滤器不会更改这些摘要。清除间隔以恢复会话摘要计数。
- 选择 **Local** 或 **UTC** 查看每小时图表和峰值错误时间。历史时间标签与所选时区保持联系,包括当您在夏令时过渡期间查看它们时。
- 提供方卡片会调用 `usage.status`,并显示已配置提供方插件上报的实时计划名称、配额窗口、余额、支出和预算。
- A 提供程序使用失败不会阻止 session/cost 仪表板;不可用的提供商卡显示其自己的错误状态。
- Session/cost 总计使先前提交的值在后台刷新期间保持可见。当网关宣布刷新完成时(包括返回到隐藏选项卡后),页面会读取新的总计。没有提交汇总的会话表明仍在计算使用情况。
- 如果后台刷新失败,页面将保留所有提交的总计并显示受影响代理范围的暂停通知。该代理在过滤器更改和导航过程中都会出现故障;另一个代理的刷新不会清除它。使用 **Refresh** 重试。会话刷新通知不会重新启动提供商卡重试限制。
- 更改日期范围、代理、会话范围或时区会隐藏先前查询的 session/cost 总计,直到加载新查询。同一查询刷新失败后,其最后的总计仍可见。提供商计费卡与这些过滤器保持分离。
- **Refresh** 还会重新加载所选会话的时间线、对话和系统提示故障。
- 如果删除并重新创建选定的会话,其新详细信息将替换旧的详细信息,并清除以前的时间线间隔,而不清除您的会话选择。旧时间线上未完成的拖动无法更改新间隔。刷新同一实例将保留其选定的间隔。来自不同会话实例的上下文详细信息显示错误,可以使用 **Refresh** 重试。
- 概述首先加载会话摘要。选择会话时会加载完整的系统提示故障;在打开细节之前,`has:context` 过滤器仍然有效。
- Sessions CSV 和 JSON 导出仅包含与活动过滤器匹配的选定会话;如果没有选择,它们包括所有匹配的会话。 JSON 导出保留同一会话实例的显示使用情况快照和加载提示详细信息。如果该会话已被替换,请刷新“使用情况”并再次导出。
- 在准备导出时,Export 格式保持禁用状态,因此其他格式无法替换待处理的报告。
- CSV 和 JSON 导出需要导出会话的完整使用数据。当其他会话仍在计算时,可以导出完整的显式选择。如果所选数据不完整,导出时会显示错误,而不是下载部分总计。刷新用法并重试,或缩小日期范围。
- **Systems** 使用与系统繁忙度相同的交互式历史图表显示所选计算机的一分钟平均负载、已用内存和可用磁盘空间。每个报告的磁盘卷都有一个由安装路径标记的单独图表,当磁盘重新排序、出现或消失时,历史记录保持独立。网关报告各个已安装的卷;连接的节点当前仅报告其本地音量。将鼠标悬停在图表上可检查之前的读数。负载与逻辑核心数量一起显示;它不是 CPU 利用率百分比。当系统打开时,历史记录由每台机器多达 120 个不同的报告构建,并在报告间隙或网关重新连接后重置。节点通常每分钟报告一次;重复民意调查不会添加重复点。离线或过时的读数将被静音并标有上次报告时间,缺少的指标会显示破折号。
- Debug:在打开或选择“刷新”、实时命令通道和心跳、事件日志以及手动 RPC 调用时收集的 status/health/models 快照。系统繁忙度覆盖层在可见时每十秒通过轻量级 `system.info` 请求读取 CPU、内存、事件循环延迟和每磁盘可用空间图。它与同一连接上打开的“设置”页面共享读取内容。网关页面还单独显示每个已安装的本地存储卷,并按其安装路径标记。磁盘快照每三十秒刷新一次;内存支持的文件系统和隐藏的 macOS 系统卷被排除在外。
- 最大限度地减少系统繁忙度,在右下角保留一个小部件,其中包含三个实时历史图表:CPU、进程内存 (RSS) 和网关 ping。 CPU 和内存保持与扩展面板中相同的顺序。 CPU 标题始终测量网关进程(`100%` 等于一个逻辑 CPU),整机利用率的 **Host** 百分比较小。当这些计数器可用时,它的迷你图堆栈测量了主线程和跟踪工作线程 CPU 以及估计的其他线程 CPU。将鼠标悬停、键盘焦点或点击 CPU 磁贴即可读取细目分类和单位;再次点击、按 Esc 键或与外部交互以将其关闭。不可用的计数器显示破折号,而不是零。 Ping 测量现有 `system.info` 请求的往返时间。最小化时,小部件仅轮询此轻量级状态请求;活动会话列表和通道诊断在扩展后通过定期轮询恢复。慢速通道或活动会话读取不会阻塞新鲜的生命体征。隐藏的浏览器选项卡会暂停覆盖轮询,并在再次可见时刷新。展开它以恢复整个面板及其收集的历史记录,或关闭它以停止轮询。当连接断开时,不可用的诊断会替换小部件的读数。
- 系统繁忙度覆盖对网关当前工作列表中正在运行或排队的会话进行计数,包括全局会话和第一个历史记录页面之外的会话。它最多列出 100 个会话 ID,并显示更多会话处于活动状态时的显示计数和总计数 (`sessions.list`)。
- Lane 表省略禁用的空通道,包括 HTTP 挂钩关闭时的 `hook-dispatch`。当工作正在运行或排队时,禁用的车道仍然可见。
- 事件日志包括 Control UI refresh/RPC 计时、慢速 chat/config 渲染计时以及浏览器公开这些 PerformanceObserver 条目类型时长动画帧或长任务的浏览器响应条目。
- Raw 网关事件历史记录在调试或扩展系统繁忙度覆盖订阅时捕获,最多 250 个事件。关闭最后一个诊断视图会释放这些有效负载; Live Activity 独立保留其自己的缩减历史记录。
- 诊断事件历史记录属于所选网关和身份验证上下文。应用不同的网关 URL 或凭证会立即清除以前的历史记录,即使新连接失败也是如此。作为不同帐户进行身份验证的重新连接也会清除它。在身份验证未更改的情况下重新连接,保留历史记录以进行故障排除。
- Logs:带有 filter/export (`logs.tail`) 的网关文件日志的实时尾部。
- Update:运行 package/git 更新并重新启动 (`update.run`) 并提供重新启动报告,然后在重新连接后轮询 `update.status` 以验证正在运行的网关版本。
- 调度程序状态、自动化列表和运行历史记录会暂停后台刷新,同时隐藏浏览器选项卡并在您返回时跟进。您当前的过滤器和未保存的草稿保持不变;保存并运行已提交的继续。
- A 挂起的创建或编辑保存可以在您导航离开后完成,而无需替换当前编辑器或在其中显示该保存的错误。 **立即创建并运行如果您在保存时打开另一个自动化,** 仍会运行创建的任务。
- 键盘导航使自动化表单控件在粘性保存操作上方可见,包括当操作在窄屏幕上换行时。
- 选择一行将打开一个全页详细信息视图,其中包含 Active/Paused 开关并在标题中立即运行(在其菜单中运行-if-due、克隆和删除); “设置”选项卡编辑内联自动化(提示、详细信息、频率、高级覆盖),“运行历史记录”选项卡显示自动化的运行。在“立即运行”挂起时切换任务会将历史记录附加到所选任务。如果在您选择另一个自动化后,早期运行、pause/resume 或删除报告反馈,则该消息会命名您执行操作的自动化。
- 克隆代理任务会保留其存储的工具允许列表、模型回退列表、轻量级上下文设置和外部内容设置,包括空列表和显式 `false` 值。您在副本表单中更改的字段优先。新任务由当前操作者授权;捕获的执行授权不会被复制。
- 更改选定的自动化或运行历史记录过滤器会清除以前的结果并从第一页开始。刷新相同的历史记录会在加载时保留其最后的结果。第一页加载完成后,即可加载更多运行;如果失败,请使用“刷新”重试。成功的重试会清除历史错误,而不会忽略其他自动化操作的反馈。
- 两个运行历史记录视图都会显示记录的传送抑制原因以及可用的传送状态。故意压制与传递错误是分开的;历史并不能从成功的运行中推断出原因。
- 选择一行会打开全页详情视图,标题栏包含“活动/暂停”切换和“立即运行”(其菜单中还有“到期时运行”、克隆和移除);“设置”选项卡可行内编辑自动化(提示词、详情、频率、高级覆盖项),“运行历史”选项卡显示该自动化的运行记录。
- 新的隔离任务默认仅内部交付。明确选择“宣布”以将摘要发送到频道。
- 选择公告时会出现 Channel/target 字段;当通道需要时提供明确的目标。
- webhook 模式使用 `delivery.mode = "webhook"`,并将 `delivery.to` 设为有效的 HTTP(S) webhook URL。
- 对于主会话任务,可使用 webhook 和无两种交付方式。
- 高级编辑控件包括运行后删除、清除代理覆盖、cron exact/stagger 选项、代理 model/thinking 覆盖和尽力交付切换。
- 当网关发布目录或配置更改时,模型建议会更新。读取失败会显示错误,并保留同一代理和连接的最后建议;下一次成功的阅读会替换它们,而不会更改您的草稿。
- 保存的间隔标签保留毫秒精度:90秒间隔显示为`Every 1m 30s`。重复和交错输入接受解析为整数毫秒的小数量;编辑 cron 表达式会保留其交错窗口。
- 表单验证为行内字段级错误;无效值会禁用保存按钮,直到修正为止。
- 后台自动刷新保留未保存的设置。如果保存或 pausing/resuming 开放式自动化与较新的网关定义冲突,编辑器会加载该定义以供检查。重试之前先检查一下;被拒绝的操作永远不会自动重试。
- 将 `cron.webhookToken` 设为专用 bearer token;若省略,则 webhook 发送时不带认证头。
- `cron.webhook` 是已退役的旧回退项,会被当前配置验证拒绝。运行 `openclaw doctor --fix` 可迁移仍使用 `notify: true` 的已存储作业,使其改为显式的按作业 webhook 或完成交付,并移除旧键。