返回顶部
a

agent-chat-ux多智能体UX

Multi-agent UX for OpenClaw Control UI — agent selector, per-agent sessions, session history viewer with search, agent-filtered Sessions tab with friendly names, Create Agent wizard, emoji picker, backend agent CRUD, and auth mode badge.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.5.2
安全检测
已通过
736
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

agent-chat-ux

agent-chat-ux

名称: agent-chat-ux
版本: 1.5.2
作者: Charles Sears
描述: OpenClaw 控制 UI 的多智能体用户体验 — 智能体选择器、每个智能体的会话、带搜索功能的会话历史查看器、带友好名称的智能体过滤会话标签页、创建智能体向导、表情选择器以及后端智能体 CRUD。



⚠️ 安全与透明度说明

在应用此技能的补丁之前,请注意以下事项:

凭据访问(agents.wizard)

AI 向导后端(agents.wizard RPC)通过 HTTP 直接调用已配置的模型提供商 API。为此,它需要一个 API 密钥。它按以下确切顺序解析凭据:

  1. 1. 默认配置认证 — 如果解析模式为 api-key(最常见),则使用它
  2. 认证配置文件存储 — 搜索第一个与提供商匹配的 apikey 类型配置文件。仅读取 provider 和 type 字段以找到它;不会记录或返回值。
  3. 环境变量 — 作为最后手段使用 ANTHROPICAPIKEY 或 OPENAIAPI_KEY

如果您不希望向导读取您的认证存储,请在您的环境中设置 ANTHROPICAPIKEY,并确保您的默认认证配置文件已经是 api-key 模式 — 在这种情况下,步骤 2 将被完全跳过。

外部 API 调用

agents.wizard 向以下地址发起单个 HTTP POST 请求:

  • - https://api.anthropic.com/v1/messages(Anthropic 模型)
  • https://api.openai.com/v1/chat/completions(兼容 OpenAI 的模型)

没有其他出站调用。该调用携带您提供的描述,不包含您系统中的任何其他内容。

补丁范围

这些补丁仅修改与智能体相关的文件:

补丁修改的文件更改内容
schema-agents.txtsrc/gateway/protocol/schema/agents-models-skills.ts向 AgentsUpdateParamsSchema 添加可选的 emoji 参数
server-agents.txt
src/gateway/server-methods/agents.ts | 添加 agents.wizard RPC;修复 agents.update 以写入 - Emoji:(而非 - Avatar:),以便表情编辑能正确持久化 |
| app-main.txt | ui/src/ui/app.ts | 添加 19 个 @state() 字段:10 个用于创建智能体/向导 + 9 个用于编辑智能体、删除智能体 |
| app-render.txt | ui/src/ui/app-render.ts | 连接创建/向导属性 + 编辑智能体保存处理程序(发送 emoji 参数,而非 avatar;保存后清除身份缓存) |
| app-render-helpers.txt | ui/src/ui/app-render.helpers.ts | 聊天标题中的智能体选择器下拉菜单(使用 resolveAgentEmoji() 获取正确的表情)、每个智能体的会话过滤器、+ 新建会话按钮 |
| agents-view.txt | ui/src/ui/views/agents.ts | 创建智能体面板(手动 + 向导模式,103 个表情选择器);编辑智能体内联表单(名称/表情/工作区);带确认的删除智能体;始终可编辑的概览 |
| agents-utils.txt | ui/src/ui/views/agents-utils.ts | buildModelOptionsMulti() 用于多选回退下拉菜单 |
| agents-panels-cron.txt | ui/src/ui/views/agents-panels-status-files.ts | 定时任务标签页调度器卡片现在显示特定于智能体的任务计数和下次唤醒时间(而非全局网关统计) |

每个补丁都限定在单一关注点。如果任何补丁文件修改的文件超出上述列表,请停止 — 您拥有的是过时的副本。

LLM 输出验证

向导模型输出在解析为 JSON 后在使用前进行验证:

  • - 必须是包含 name(字符串)、emoji(字符串)、soul(字符串)的 JSON 对象
  • name 最多 100 个字符,emoji 最多 10 个字符
  • soul 必须 ≥ 20 个字符
  • 空或非 JSON 响应将被拒绝,并显示用户可见的错误 — 不会自动创建任何内容

源代码修改

此技能对 ~/openclaw 应用 git apply 补丁,并需要重建 UI 和网关。更改是持久性的。打补丁前务必备份:

bash
cd ~/openclaw && git stash # 或 git branch backup/pre-agent-ux



此技能新增内容

1. 聊天标题中的智能体选择器下拉菜单

当配置了多个智能体时,聊天标题中的会话下拉菜单左侧会出现一个下拉菜单。选择智能体会切换到该智能体最近的会话(或回退到该智能体的新 webchat 密钥)。会话下拉菜单会自动过滤,仅显示属于所选智能体的会话

2. 每个智能体的会话过滤(按最新排序)

现在会话范围限定为活动智能体,并按最新优先排序。不再将其他智能体的定时任务和子智能体会话混入当前聊天的会话选择器中。

3. 聊天标题中的 + 新建会话按钮

会话下拉菜单右侧有一个 + 图标按钮,无需输入 /new 即可启动新会话。

4. 创建智能体面板(手动 + AI 向导)

智能体标签页新增一个 + 创建智能体 按钮,展开一个包含两种模式的面板:

手动模式:

  • - 智能体名称
  • 工作区路径(留空则根据名称自动生成)
  • 表情选择器(见下文)

AI 向导模式:

  • - 用通俗英语描述智能体
  • 点击生成智能体 — AI 生成名称、表情和完整的 SOUL.md
  • 预览审核,然后点击✅ 创建此智能体

创建后,智能体列表配置表单都会自动刷新 — 不会出现配置中未找到错误,无需手动重新加载。

5. 表情选择器下拉菜单

创建智能体和编辑智能体表单中的表情字段是一个包含 103 个精选表情的下拉菜单,分为 5 个类别(科技与 AI、人物与角色、动物、自然与元素、物品与符号),每个表情都显示其图标和名称。下拉菜单旁边有一个大型实时预览,显示所选表情。

6. 内联编辑智能体(智能体概览)

智能体概览卡片现在直接显示可编辑的输入框 — 无需切换:
  • - 名称表情(下拉菜单,103 个表情)、工作区始终可编辑
  • 更改会激活底部的保存按钮 — 没有单独的内联保存/取消
  • 表情以 - Emoji: 格式保存到 IDENTITY.md(最后写入的值覆盖创建值);保存后清除身份缓存,更改立即可见
  • 编辑使用 agents.update 的 emoji 参数(而非 avatar),以便写入正确的 IDENTITY.md 键

7. 删除智能体

  • - 🗑️ 删除按钮出现在非默认智能体的概览标题中
  • 删除前显示内联确认对话框;主/默认智能体隐藏此按钮

8. 特定于智能体的定时任务统计

定时任务标签页上的调度器卡片之前显示全局网关统计(总任务数、全局下次唤醒时间)。现在:
  • - 任务 → 仅针对此智能体的定时任务数量
  • 下次唤醒 → 此智能体任务中最早的 nextRunAtMs(如果没有任务则显示 n/a)
  • 副标题 → 智能体定时任务调度状态。(之前是网关定时任务状态。)
这意味着没有定时任务的智能体正确显示 任务:0 / 下次唤醒:n/a。

9. 智能体标签页 — 模型选择器清理

  • - 从概览网格中移除了冗余的只读主模型行(它已经在下面的模型选择部分可编辑)
  • 回退模型从自由文本逗号分隔输入转换为使用与主选择器相同的完整模型目录的