Skip to content

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.

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. The UI keeps it in a cookie.

Until at least one enabled provider has a curated model, the app redirects to /welcome and /config. Choose a provider, add credentials, enable it, and save at least one model. Crossing that threshold seeds the default Agent template and default Team, then unlocks the rest of the app.

The current top navigation is Templates · Agents · Teams · Approvals · Skills · Config, plus a light/dark theme toggle. The home route remains the two-pane 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.

The composer also recognizes:

  • /context — inspect the prompt/tool/skill/history budget,
  • /compact [N] — summarize older history while retaining recent turns,
  • /reset — clear the conversation.

If Telegram or a trigger advances the same session, the page offers to reload.

The product calls these Agent templates; their technical entity and HTTP resource remain Profile and /api/profiles.

  • /templates/agents lists and creates templates.
  • /templates/agents/:id edits the default model, skills policy, creation-time communication defaults, and SOUL.md, IDENTITY.md, optional BOOTSTRAP.md, AGENTS.md, TOOLS.md, and HEARTBEAT.md seed files.

Edits affect future spawns, not Agents already created from the template.

A Team Template is the only reusable Team roster. It owns stable ordered slots, directed communication edges, and immutable revisions.

  • /templates/teams lists and creates Team Templates.
  • /templates/teams/:id opens 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 lists active and archived Agents and provides a single-Agent spawn form with an explicit destination Team.
  • /agents/:id contains chat, inbox, and triggers tabs. It also exposes model/reasoning settings, Team movement, Agent-specific skills, and Telegram topic controls.
  • /agents/:id/inbox shows durable peer messages and unread state.
  • /agents/:id/triggers manages interval and 5-field cron wake-ups.

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 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 six tabs:

  • OverviewUSER.md, 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.
  • Context — the resolved Team context presented to members.
  • 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.

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.

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.

/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.

The config 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.