✓ Verified 💻 Development ✓ Enhanced Data

Agent Chat Ux V1 4 0

Multi-agent UX for OpenClaw Control UI — agent selector, per-agent sessions, session history viewer

Rating
4.4 (104 reviews)
Downloads
1,402 downloads
Version
1.0.0

Overview

Multi-agent UX for OpenClaw Control UI — agent selector, per-agent sessions, session history viewer with search.

Key Features

1

Apply patches

2

Rebuild UI

3

Rebuild gateway (for backend agent methods)

4

Restart gateway

5

Verify

Complete Documentation

View Source →

agent-chat-ux

name: agent-chat-ux version: 1.4.0 author: Charles Sears description: 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, and backend agent CRUD.


⚠️ Security & Transparency Notes

Before applying this skill's patches, be aware of the following:

Credential Access (agents.wizard)

The AI Wizard backend (agents.wizard RPC) calls the configured model provider API directly via HTTP. To do this it needs an API key. It resolves credentials in this exact order:

  • Default config auth — uses it if the resolved mode is api-key (most common)
  • Auth profile store — searches for the first api_key-type profile matching the provider. Reads only provider and type fields to find it; does not log or return values.
  • Environment variableANTHROPIC_API_KEY or OPENAI_API_KEY as a last resort
If you don't want the wizard reading your auth store, set ANTHROPIC_API_KEY in your environment and ensure your default auth profile is already api-key mode — step 2 is skipped entirely in that case.

External API Calls

agents.wizard makes a single HTTP POST to:

  • https://api.anthropic.com/v1/messages (Anthropic models)
  • https://api.openai.com/v1/chat/completions (OpenAI-compatible models)
No other outbound calls. The call carries your user-supplied description and nothing else from your system.

Patch Scope

These patches modify only agent-related files:

PatchFile modifiedWhat it changes
schema-agents.txtsrc/gateway/protocol/schema/agents-models-skills.tsAdds emoji optional param to AgentsUpdateParamsSchema
server-agents.txtsrc/gateway/server-methods/agents.tsAdds agents.wizard RPC; fixes agents.update to write - Emoji: (not - Avatar:) so emoji edits persist correctly
app-main.txtui/src/ui/app.tsAdds 19 @state() fields: 10 for Create Agent/Wizard + 9 for edit agent, delete agent
app-render.txtui/src/ui/app-render.tsWires create/wizard props + edit agent save handler (sends emoji param, not avatar; evicts identity cache after save)
app-render-helpers.txtui/src/ui/app-render.helpers.tsAgent selector dropdown in chat header (uses resolveAgentEmoji() for correct emoji), per-agent session filter, + New Session button
agents-view.txtui/src/ui/views/agents.tsCreate Agent panel (manual + wizard modes, 103-emoji picker); Edit agent inline form (name/emoji/workspace); Delete agent with confirmation; always-editable Overview
agents-utils.txtui/src/ui/views/agents-utils.tsbuildModelOptionsMulti() for multi-select fallback dropdown
agents-panels-cron.txtui/src/ui/views/agents-panels-status-files.tsCron Jobs tab Scheduler card now shows agent-specific job count and next-wake (not global gateway stats)
Each patch is scoped to a single concern. If any patch file modifies more than the files listed above, stop — you have an outdated copy.

LLM Output Validation

Wizard model output is parsed as JSON and validated before use:

  • Must be a JSON object with name (string), emoji (string), soul (string)
  • name is capped at 100 characters, emoji at 10
  • soul must be ≥ 20 characters
  • Empty or non-JSON responses are rejected with a user-visible error — nothing is auto-created

Source Code Modification

This skill applies git apply patches against ~/openclaw and requires a UI + gateway rebuild. Changes are persistent. Always backup before patching:

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


What This Skill Adds

1. Agent Selector Dropdown in Chat Header

When multiple agents are configured, a dropdown appears left of the session dropdown in the chat header. Selecting an agent switches to that agent's most recent session (or falls back to a fresh webchat key for that agent). The session dropdown automatically filters to show only sessions belonging to the selected agent.

2. Per-Agent Session Filtering (Sorted Newest First)

Sessions are now scoped to the active agent and sorted newest-first. No more mixing other agents' cron jobs and subagent sessions into the current chat's session picker.

3. + New Session Button in Chat Header

A + icon button sits right of the session dropdown, allowing new sessions to be started without typing /new.

4. Create Agent Panel (Manual + AI Wizard)

The Agents tab gains a + Create Agent button that expands a panel with two modes:

Manual mode:

  • Agent name
  • Workspace path (auto-generated from name if left blank)
  • Emoji picker (see below)
AI Wizard mode:
  • Describe the agent in plain English
  • Click "Generate Agent" — AI generates name, emoji, and full SOUL.md
  • Review the preview, then click "✅ Create This Agent"
After creation, the agents list and config form are both refreshed automatically — no "not found in config" error, no manual reload needed.

5. Emoji Picker Dropdown

The emoji field in Create Agent and Edit Agent forms is a dropdown with 103 curated emojis grouped into 5 categories (Tech & AI, People & Roles, Animals, Nature & Elements, Objects & Symbols), each showing the emoji and its name. A large live preview shows the selected emoji next to the dropdown.

6. Edit Agent Inline (Agents Overview)

The Agents Overview card now shows editable inputs directly — no toggle needed:
  • Name, Emoji (dropdown, 103 emojis), Workspace are always editable
  • Changes activate the bottom Save button — no separate inline Save/Cancel
  • Emoji is saved as - Emoji: in IDENTITY.md (last-wins override of creation value); identity cache is evicted after save so changes appear immediately
  • Edit uses the emoji param of agents.update (not avatar) so the correct IDENTITY.md key is written

7. Delete Agent

  • 🗑️ Delete button appears in the Overview header for non-default agents
  • Inline confirmation dialog before deletion; hidden for the main/default agent

8. Agent-Specific Cron Stats

The Scheduler card on the Cron Jobs tab previously showed global gateway stats (total job count, global next wake). Now:
  • Jobs → count of cron jobs targeting this agent only
  • Next wake → earliest nextRunAtMs across this agent's jobs (n/a if no jobs)
  • Subtitle → "Agent cron scheduling status." (was "Gateway cron status.")
This means agents with no crons correctly show Jobs: 0 / Next wake: n/a.

9. Agents Tab — Model Selector Cleanup

  • Removed the redundant read-only "Primary Model" row from the Overview grid (it's already editable in the Model Selection section below)
  • Fallback models converted from a free-text comma-separated input to a proper

Start typing to search skills

Search by name, category, or tags

to navigate to select
0 results