Quickstart
Get Spacebot running locally in under 5 minutes.Docker (fastest)
Pull and run the container
http://localhost:19898. On first launch with no API keys configured, the UI will prompt you to add a provider key in Settings.Add your API key (optional)
You can pass API keys as environment variables to skip the onboarding flow:
Send your first message
Open
http://localhost:19898 in your browser. The web UI provides a chat interface to interact with your agent.You can also connect Spacebot to Discord, Slack, or Telegram. See the Docker deployment guide for messaging platform setup.See Docker deployment for image variants, compose files, and configuration options.
Updating Docker Installs
To update Docker installs, pull and recreate the container:/var/run/docker.sock, the web UI can apply Docker updates directly from the update banner.
Build from Source
Install prerequisites
- Rust 1.85+ —
rustup update stable - Bun (optional, for the web UI) —
curl -fsSL https://bun.sh/install | bash - An LLM API key — Anthropic, OpenAI, OpenRouter, Kilo Gateway, or OpenCode Go
Clone and build
The
build.rs script automatically runs bun run build during compilation if interface/node_modules exists. Without it, the binary still works — you just get an empty UI on the web dashboard.Configure your API key
Spacebot needs at least one LLM provider key. Choose one of three options:This is enough. Spacebot will create a default
Option A: Environment variable (fastest)
main agent with sensible defaults and no messaging adapters.Option B: Interactive onboarding
Just runspacebot with no config file and no API key env var set. It will walk you through provider selection, API key entry, agent naming, and optional Discord setup.Option C: Config file
Create~/.spacebot/config.toml:Start Spacebot
~/.spacebot/— instance directory~/.spacebot/agents/main/data/— SQLite, LanceDB, and redb databases~/.spacebot/agents/main/workspace/— identity files and ingest directory
Daemon Management
Logs go to
~/.spacebot/agents/{id}/data/logs/ in daemon mode, or stderr in foreground mode.Identity Files
Each agent has three optional markdown files in its workspace (~/.spacebot/agents/{id}/workspace/):
| File | Purpose |
|---|---|
SOUL.md | Personality, values, communication style |
IDENTITY.md | Name, nature, purpose |
USER.md | Info about the human the agent talks to |
Identity files are loaded into system prompts. They are NOT graph memories. For structured knowledge, use the memory system or drop files into the
ingest/ folder.Web UI
When the API is enabled (default), the web dashboard is served at:- Chat interface for direct interaction
- Memory browser to explore the knowledge graph
- Agent topology visualization
- Settings for provider keys, model routing, and permissions
- Update management with one-click Docker updates
Development Mode
During development, the Vite dev server runs separately with API proxying:Messaging Platforms
| Platform | Status | Setup guide |
|---|---|---|
| Discord | Supported | Discord setup |
| Slack | Supported | Slack setup |
| Telegram | Supported | Telegram setup |
| Webhook | Supported | Config reference |
No messaging adapters are required. Without them, Spacebot is accessible via the web UI and HTTP API.
CLI Reference
Authentication with Claude
Spacebot supports Anthropic OAuth as an alternative to static API keys. Use your Claude Pro, Max, or API Console subscription directly:OAuth tokens are stored in
anthropic_oauth.json and auto-refresh transparently before each API call. When OAuth credentials are present, they take priority over a static ANTHROPIC_API_KEY.Next Steps
Docker Deployment
Run Spacebot in a container with slim or full image variants
Configuration
Full config.toml reference with all available options
Model Routing
Configure multi-tier model routing with fallback chains
Memory System
Structured knowledge graph with typed memories and associations
Multi-Agent Setup
Run multiple agents with isolated workspaces and identities
Cron Jobs
Schedule recurring tasks with natural language or cron expressions