The web interface
The web UI is the canonical visual surface for Bazilion. bazilion dashboard
runs it on http://127.0.0.1:4322 and connects it to the daemon on
127.0.0.1:4321.
Logging in
Section titled “Logging in”On a clean install, open the web UI and paste the bootstrap token on
/login. It is the token value in ~/.bazilion/auth.json, created on the
first bazilion dashboard or bazilion serve.
Browser login accepts that bootstrap secret only while provider setup is incomplete. Bazilion exchanges it for an internal expiring, revocable device identity and a bounded browser session; browser cookies never retain the bootstrap bearer. After setup, log in with a separately named device credential.
First-run setup
Section titled “First-run setup”Until at least one enabled provider has a curated model, the app redirects to
/welcome and /config. The guided path connects provider search, credentials
or a local endpoint, provider enablement, model selection, and an optional real
connection test. Crossing the setup threshold seeds the default Agent
template and default Team, unlocks the app, and offers a direct action to
spawn the first Agent.
Navigation
Section titled “Navigation”The primary destinations are Chat · Agents · Teams. Two menus keep less frequent work understandable without overcrowding narrow screens:
- Operations — Approvals for one captured action awaiting a decision, and Attention for failures, warnings, lessons, and other open signals.
- Manage — Templates, Skills, and Setup.
The theme and logout controls remain directly available. The home route is the two-pane chat workspace.
Home — chat workspace (/)
Section titled “Home — chat workspace (/)”The sidebar groups Agents by Team; the main pane streams the selected Agent’s conversation. The + new ▾ menu can:
- spawn one Agent from an Agent template,
- spawn a reviewed Team Template revision,
- create a Team.
Each Agent row shows status, a Telegram binding marker when present, and rename/archive controls. Chat renders markdown and tool details, accepts attachments (including pasted or dropped images), surfaces delivered files, and shows a cancel control while a turn is active.
Conversation stays focused here. Open Manage agent or the Agents page for settings and lifecycle actions instead of mixing administration into the chat workspace.
The composer also recognizes:
/context— inspect the prompt/tool/skill/history budget,/compact [N]— summarize older history while retaining recent turns.
Use Conversations → New conversation to retain old history and start fresh. The ordinary
/reset command is removed. Read Conversations for rename and stale-draft recovery.
Follow-ups supports pending edits/removal, pause/resume and Stop-and-pause. Live questions use explicit choices, Other or Skip; answering is separate from communication approval. Saved files remain in each Team’s Results library.
If Telegram or a trigger advances the same session, the page offers to reload.
Agent templates (/templates/agents)
Section titled “Agent templates (/templates/agents)”The product calls these Agent templates; their technical entity and HTTP
resource remain Profile and /api/profiles.
/templates/agentslists and creates templates./templates/agents/:idedits the default model, skills policy, creation-time communication defaults, andSOUL.md,IDENTITY.md, optionalBOOTSTRAP.md,AGENTS.md, andTOOLS.mdseed files.
Edits affect future spawns, not Agents already created from the template.
Team Templates (/templates/teams)
Section titled “Team Templates (/templates/teams)”A Team Template is the only reusable Team roster. It owns stable ordered slots, directed communication edges, and immutable revisions.
/templates/teamslists and creates Team Templates./templates/teams/:idopens the production editor. Add profile-backed slots, set optional name/model/reasoning overrides, and define directed edges in the Flow or Matrix projection of the same draft.
The editor offers Open Team, Coordinator, Review Pipeline, and Blank starting presets. A preset only replaces the current draft; nothing becomes effective until you save. Every successful save creates a new immutable revision.
Agents
Section titled “Agents”/agentslists active and archived Agents and provides a single-Agent spawn form with an explicit destination Team./agents/:idcontains Chat, Inbox, Triggers, Learning, and Settings sections. Settings keeps model/reasoning, Team movement, Agent-specific skills, Telegram controls, archive, and permanent deletion separate from the conversation./agents/:id/inboxshows durable peer messages and unread state./agents/:id/triggersmanages interval and 5-field cron wake-ups and shows recent durable dispatch status, retries, and terminal failures./agents/:id/learningconfigures reviewed learning and lets you inspect, decide, edit, and revoke lessons.
Moving an Agent preserves its ID, private home, and transcript while both Team memberships/policies update atomically. Archiving also preserves Team membership and policy.
Teams (/teams)
Section titled “Teams (/teams)”/teams lists and registers live Teams. A Team gets a daemon-owned slot at
~/.bazilion/teams/<slug>/; optionally point that slot at an existing project
directory with a link target.
Every Team owns exactly one effective revisioned policy and has five sections:
- Context —
USER.md, resolved Team context, Telegram topic naming, and Team Template spawn for an empty Team. - Members — the live Agent roster and retained source-slot projection.
- Policy — the effective communication graph and source-lineage operations.
- Memory — BM25 search and markdown CRUD for Team-shared qmd memory.
- Activity — durable blocked-communication evidence. This is denial history, not general policy-change history.
Normal coding tools cannot overwrite USER.md; Agents can update it only via
the guarded USER.md tools, and the operator can edit it here.
Live Team Policy (/teams/:id/policy)
Section titled “Live Team Policy (/teams/:id/policy)”The live editor uses the same Flow and Matrix projections as Team Templates, but operates on the Team’s sole effective policy. It supports:
- preview/evaluation without sending a message,
- optimistic revision conflict recovery,
- comparison with the retained Team Template baseline,
- explicit adoption/rebaseline from a source template,
- reviewed update-source operations when lineage is aligned,
- saving a live policy as a new Team Template,
- durable block details with cross-Team component evidence.
Source changes never auto-propagate. The live Team and the source revision remain independent until you explicitly compare and reconcile them.
Communication approvals (/approvals)
Section titled “Communication approvals (/approvals)”An approval_required edge holds one typed attempt before its side effect. The
queue lets you filter history, inspect the path, policy revisions, expiration,
sensitive payload, and audit events, then Approve once or Deny. The CLI
also supports cancellation.
Approval revalidates current membership/policy and dispatches at most once. It does not create a multi-stage workflow.
For worked examples of held communication, trigger failures, Attention, and reviewed lessons, see Daily operations.
Safe editing and destructive actions
Section titled “Safe editing and destructive actions”Durable editors protect unsaved Team context, Team memory, Agent-template, and Team-policy changes before selection switches or internal navigation can discard them. You can stay and keep editing or explicitly discard the draft.
Archive, delete, disconnect, credential removal, and similar actions use named confirmation dialogs that explain the target and consequences, keep failures visible, and return keyboard focus to the invoking control. Blank secret fields preserve the stored credential; removal is a separate action.
Responsive and accessible operation
Section titled “Responsive and accessible operation”Agents, Teams, Approvals, members, and trigger history switch from wide tables to task-focused cards on narrow screens. Navigation keeps text labels, menus support keyboard operation, status changes use live regions, and dialogs trap and restore focus. Both themes meet the same contrast target, and decorative motion follows the operating system’s reduced-motion preference.
Skills
Section titled “Skills”/skills imports and manages prompt-only Agent skills from a local OpenClaw
install, a server directory, or a zip. Skills show their source and metadata and
can be attached by an Agent template or directly to one live Agent.
Configuration
Section titled “Configuration”Provider setup starts with search and groups the catalog as Configured, Recommended starting points, Local models, and More providers. Each provider shows readable credential labels, status, model curation, and a real connection test while retaining technical keys as supporting detail.
The rest of the setup area covers:
/config— providers, model curation, ChatGPT OAuth, and Browser Automation,/config/services— non-LLM service credentials and URLs,/config/mcp— stdio, Streamable-HTTP, and SSE MCP servers,/config/integrations/telegram— credentials, preflight, and access control,/config/tokens— additional API/client tokens.
When BAZILION_BASH_APPROVAL=dangerous is active, classified shell commands
appear inline in chat with approve and deny controls. These ephemeral shell
decisions are intentionally separate from the durable communication queue at
/approvals.