Skip to content

Web Interface

The ravenbot web UI provides a browser-based interface for chat, research, agent orchestration, and system management. It runs alongside the Telegram/Discord bots on the same server.

Access

The web interface is available at http://localhost:8080 by default. Configure the port with the WEB_PORT environment variable.

WEB_PORT=:3000 ./ravenbot   # Custom port

Pages

Chat

The primary interaction point. Send messages and receive responses from RavenBot directly in the browser. Messages are processed synchronously — the user bubble appears immediately, then the assistant response follows.

  • Enter sends a message (Shift+Enter for newlines)
  • Messages auto-expand as you type
  • Conversation history is maintained per browser session (cookie-based)

Agents

View all available sub-agents and workflow pipelines:

  • Agent Registry: Lists ResearchAssistant, SystemManager, and Jules with descriptions.
  • Pipeline Visualization: Shows the Research pipeline (ResearchAssistant → ResearchSynthesizer) with agent flow.
  • Mission Launcher: Select a pipeline, enter a prompt, and hit Launch to start a new mission.

Missions

Track workflow pipeline executions:

  • Mission List: Shows recent missions with status (running/completed/failed), pipeline name, prompt preview, and timestamp.
  • Mission Detail: Click a mission to view the full prompt, result, or error message.
  • Missions are tracked in SQLite and persist across restarts.

Reports

Browse research reports generated by the Daily Briefing job or manual research missions:

  • Report List: Chronological list of reports.
  • Report Detail: Full Markdown rendering with headings, lists, and code blocks.

Tools

Quick-access buttons for bot commands:

Tool Description
System Status Run server health diagnostic
Research Deep-dive research on a topic
Reminder Set a timed reminder
Watcher Monitor a topic periodically
Jules Delegate coding tasks
Export Export recent research briefings
Uptime Show bot statistics
Reset Session Clear conversation context

Technical Details

  • Stack: Go net/http, templ templates, HTMX for dynamic updates
  • Sessions: Cookie-based session IDs (ravenbot_session), one per browser tab. Form-supplied session IDs are rejected for security.
  • Logging: HTTP requests are logged with anonymized IPs (port stripped). Request level auto-scales: debug for 2xx, warn for 4xx, error for 5xx.
  • No JavaScript frameworks — all interactivity is HTMX attributes or minimal inline scripts.