Web UI prototypeExample data only. No model calls or live settings changes.
Workspace/Agents

General

Ready
Interaction specification and implementation status

Web UI layout and interaction scope

Retain the Agent list and single editor. Eight configuration sections share one draft and one Save action. Desktop keeps the list on the left; narrow screens use a top Agent selector. Trials use a right-hand panel on wide screens and a full-screen panel with bounded focus on narrow screens.

Icons directly use the repository components/animated-icons pqoqubbw components and their existing start/stop interface, triggered by whole-control hover or keyboard focus; reduced-motion disables animation. The logo is the existing project asset and colors follow neutral light/dark tokens. Embedded HTML assets are built from the existing components, not newly drawn replacement SVGs.

Trials use the current draft and fresh history with at most read-only memory. New conversation uses the saved version with optional invocation-only model, memory and initial-context overrides. Memory overrides may only narrow existing access. Neither operation edits the saved configuration. Simulated replies are labeled; no model requests, real history reads or real memory writes occur.

The state selector belongs to the design preview, covering loading, empty, error, conflict and unavailable dependencies; it is not a product setting. Conflicts display both instruction versions and require explicit selection, with no automatic merge. Production uses server-provided model capabilities, authority, effective scope and readiness rather than the prototype calculations.

Acceptance covers all sections, both languages and themes, desktop/narrow layouts, keyboard tab navigation, animated controls, draft retention, conflict recovery and invocation overrides. Passing the prototype does not establish real API, authorization or execution implementation.

Editing and inheritance UX

  • Every configurable field offers Use inherited value or Explicit value where meaningful. Show the current effective value and its source beside the control; unavailable data is Unknown, not a fabricated default.
  • Model choices come from enabled provider/account model catalogs. Persist qualified IDs, not labels. Effort choices follow the selected model; unsupported saved effort remains visible with an error, not silently changed. Provider/MCP authentication belongs to global connection settings.
  • A saved named Agent resolves inherited fields from system defaults, never from whichever Agent happened to open its settings. A call preview may additionally show a selected caller/session context; label that preview scope.
  • One draft spans all sections. Switching tabs never saves, clears, or independently commits fields. Leaving with dirty data offers Save, Discard, Cancel; a failed save preserves field values, selection and scroll.
  • The saved revision is the draft base. A 409 conflict opens a changed-field comparison; prompt bodies are not auto-merged. Refresh before explicitly applying a new candidate. Missing required dependencies affect readiness, not the ability to retain a draft.

Memory and context controls

Control Visible result Edge case
Memory off No retrieval or writes; show retained existing store separately Does not remove facts already in conversation
Read/write spaces Choose owned/project/shared references with read/write labels Shared scope change requires explicit selection and authority check
Read only Read badges; no writer controls exposed as active Compaction and later writers must also respect read-only execution provenance
Required backend Explain whether unavailable memory blocks execution or degrades Never silently switch to the global store
Context selection Inherit / clean / explicitly selected data Keeping a conversation is separate from keeping memory
Instruction files Open permitted file; show source and hash/version Missing file is an error/warning according to declared requirement; opening a page creates no file
Channel resets Advanced scope, idle timeout, daily time and timezone Reset affects future routing, does not merge/delete old sessions

Lifecycle and UI states

State/action Required interaction
Create Inline name input; optional fields later; failure retains name; success selects new config
Duplicate Preview config and shared references; no sessions/memory/schedules copied; optional instruction-content copy is explicit
Default Show one authoritative default; changing default affects new default-resolved sessions
Delete Show owned and referenced resources; default/busy rejects; explicit user confirmation; no misleading all-sessions-in-folder claim
Empty/loading/network error Distinct states; API read failure is not an empty Agent list; Retry retains current draft
Partial dependency outage Unavailable tags in relevant section and readiness summary; other edits remain possible
Queued/running executions Show configuration revision notice, link to execution records; no silent mid-run swap
Mobile/keyboard Top Agent selector at narrow widths; one-column forms; tab arrows/Home/End, visible focus, native controls
Accessibility 16px body baseline, secondary text contrast, labeled inputs, status announcements; no hover-only action

Component ownership and acceptance

Reuse AgentsPage, ManagePageHeader, ManageRow, Tabs, connection/model pickers and existing settings controls. Split panels only where behavior owns separate validation; do not build a new page/window framework. A pure draft normalizer handles set/reset and diff, while the server resolver remains authoritative. Wire permission/readiness errors from typed API responses. Frontend summaries do not implement a second policy engine.

Acceptance: A01/A02/A07/A09/A10 from the configuration contract. Exercise all eight sections, memory modes, conflict recovery, missing refs, native model selection and keyboard navigation through the built page. Source-string checks alone do not prove these behaviors. The standalone prototype passes the independent specification and quality reviews, English/Chinese browser flows at desktop and narrow widths, and original-component animation checks. Its examples make no model requests. The production page now implements the eight sections with real configuration APIs. Trial opens an independent new conversation with a persisted restricted snapshot; the embedded panel illustrated here remains a target. Effective preview, arbitrary shared spaces and portable import/export remain planned. Runtime delivery checks are recorded separately from this standalone prototype.