Skip to content

Web Interface

Pages

Page Route Who can access
Chat / All users
Chat History /chats All users
Agents /agents All users
Agent Detail /agents/{id} Owner or admin
Models /models All users
Files /files All users
Monitors /monitors All users
Audit Log /audit Admin: all entries. User: own entries
Settings /settings Admin
User Settings /settings Non-admin users see a subset
Help /help All users
Login /login Unauthenticated
Setup /setup First run only (no users)
User Management /admin/users Admin only

Chat (/)

The main interface. Multi-turn conversations with tool use, image uploads, and real-time streaming.

Key interactions: - Send a message with Enter or the Send button - Attach images/PDFs with the paperclip button - Switch models with the model picker button in the status bar - Confirm or deny tool actions when the confirmation modal appears - Start a new chat with the "New Chat" button

Model picker: Shows all available models grouped by provider, with capability badges (Vision, Tools, Online). The selected model is saved in localStorage and persisted across page refreshes.

Chat restoration: Navigating away and back restores the conversation state from memory. If the session is not in memory (e.g. after a page refresh), it is loaded from the conversations database table.


Chat History (/chats)

Lists all conversations for the current user, sorted by most recent. Shows title (derived from first message), date, and model used.

  • Click a conversation to resume it in the chat view
  • Titles can be renamed (double-click)
  • Delete conversations you no longer need

Agents (/agents)

Create and manage goal-oriented agents with cron schedules.

Agent fields: - Name — display name - Prompt — the agent's instruction (what to do) - Model — model override (uses default if empty) - Schedule — cron expression (blank = manual only) - Allowed Tools — checkboxes; unchecked = all tools available - Max Tool Calls — per-agent limit (blank = use system default) - Prompt Mode — how the agent prompt interacts with the standard system prompt: - combined (default): agent prompt prepended to standard prompt - system_only: standard system prompt only; agent prompt is the task message - agent_only: agent prompt replaces the entire system prompt (no SOUL.md, no security rules) - Can Create Sub-agents — whether this agent can spawn child agents

Run history tab: Shows all runs with status, token counts, start/end time, and result text.


Models (/models)

Browse all available models across configured providers.

  • Filter chips: All / Vision / Tools / Online
  • Search: Filters by model ID and name simultaneously
  • Row click: Opens a detail modal with description, pricing, context window, and capability badges

Model metadata (pricing, capabilities) is fetched from OpenRouter and cached for 1 hour. Anthropic models are hardcoded.


Files (/files)

File browser scoped to the calling user's personal folder. Admins see the global filesystem whitelist roots.

  • Browse directory trees
  • Download individual files
  • Download folders as ZIP
  • Delete files (with confirmation)

Monitors (/monitors)

Manage RSS feed and page-change monitors.

RSS Feeds: - URL, cron schedule, agent to dispatch, max new items per run - Tracks seen item IDs to avoid re-processing

Page Monitors: - URL, CSS selector (or full page hash), cron schedule, agent to dispatch - Triggers when content at the selector changes


Audit Log (/audit)

Searchable, paginated log of all tool calls.

Filters: - Date range (from/to in dd.mm.yyyy HH:MM format) - Tool name (partial match, case-insensitive) - Session ID (exact) - Confirmed only

Access control: Admins see all entries. Non-admin users see only their own tool calls.

Click any row to see full arguments and result summary.


Settings (/settings)

Admin tabs (15 tabs)

Tab What's here
General Agent pause/resume, default provider, runtime limits, audit retention
Whitelists Email whitelist, Web Tier 1 domains, Filesystem sandbox, Browser trusted domains
Credentials Encrypted key-value store (API keys, system settings)
CalDAV CalDAV/CardDAV URL and credentials
Pushover Pushover app token
Inbox Email account configuration, trigger rules
Email Accounts Multi-account IMAP/SMTP setup
Telegram Bot token, chat ID whitelist, trigger rules
Personality SOUL.md and USER.md editors
2nd Brain Brain database config, MCP key
MCP Servers Model Context Protocol server connections
Security Prompt injection options, canary tokens, LLM screening, output validation
Branding Agent name, logo, brand name
Webhooks Inbound webhook endpoints, outbound webhook targets
Profile Change password, MFA setup, API key, user preferences

Non-admin tabs (12 tabs)

API Keys, Personality, Inbox, Email Accounts, CalDAV/CardDAV, Telegram, MCP Servers, 2nd Brain, Pushover, Webhooks, Browser, Profile.


The sidebar is always present. Navigation uses a lightweight SPA approach:

  1. Sidebar links call navigateTo(url)
  2. The target page's <main> content is fetched and injected
  3. Page-specific scripts are re-executed
  4. The browser URL is updated with history.pushState

This avoids full page reloads and preserves WebSocket connections during navigation.


Status indicators

Sidebar: - Agent name + version - Pause/Resume button (turns red when paused) - Active run counter

Chat status bar: - Active model name (click to switch) - Token counts from last response - Queue depth (when background runs are active)