Documentation Index
Fetch the complete documentation index at: https://mintlify.com/spacedriveapp/spacebot/llms.txt
Use this file to discover all available pages before exploring further.
The [[agents]] array defines individual agents. Each agent inherits settings from [defaults] but can override any value.
Agent Definition
Unique identifier for the agent. Used in bindings and API calls.[[agents]]
id = "support"
Whether this agent is the default. The default agent handles messages that don’t match any binding.Only one agent can be marked as default.[[agents]]
id = "main"
default = true
Human-readable name shown in the UI and topology graph.[[agents]]
id = "support"
display_name = "Support Bot"
Description of the agent’s role (e.g., “handles tier 1 support”). Shown in the UI.[[agents]]
id = "support"
role = "Handles customer support inquiries"
Custom workspace directory path. If not set, defaults to ~/.spacebot/agents/{id}/workspace.[[agents]]
id = "dev"
workspace = "/home/user/projects/dev-workspace"
Routing Overrides
Override model routing for this agent. See Routing Configuration for details.[[agents]]
id = "coding"
routing = { worker = "anthropic/claude-sonnet-4" }
Concurrency Settings
Maximum number of branches this agent can run simultaneously.[[agents]]
id = "research"
max_concurrent_branches = 10
Maximum number of workers this agent can run simultaneously.[[agents]]
id = "coding"
max_concurrent_workers = 3
Turn Limits
Maximum LLM turns per channel interaction. The channel process typically uses 1-3 turns.[[agents]]
id = "main"
max_turns = 10
Maximum LLM turns per branch. Branches can iterate many times.[[agents]]
id = "research"
branch_max_turns = 100
Context Settings
Context window size in tokens. Used for compaction thresholds.[[agents]]
id = "main"
context_window = 200000
Compaction threshold overrides.
Context fullness (0.0-1.0) that triggers background compaction.
Context fullness that triggers aggressive summarization.
Context fullness that triggers emergency truncation (no LLM).
[[agents]]
id = "main"
compaction = { background_threshold = 0.75, aggressive_threshold = 0.85 }
Memory Settings
Auto-branching memory persistence configuration.
Whether automatic memory persistence branches are enabled.
Number of user messages between automatic memory persistence branches.
[[agents]]
id = "main"
memory_persistence = { enabled = true, message_interval = 30 }
Message Handling
Message coalescing configuration for rapid-fire messages.
Enable message coalescing for multi-user channels.
Initial debounce window after first message (milliseconds).
Maximum time to wait before flushing (milliseconds).
Minimum messages to trigger coalesce mode (1 = always, 2 = only on burst).
Apply only to multi-user conversations (skip for DMs).
[[agents]]
id = "chat"
coalesce = { debounce_ms = 2000, max_wait_ms = 6000 }
File Ingestion
File-based memory ingestion configuration.
Whether file-based memory ingestion is enabled.
How often to scan the ingest directory for new files (seconds).
Target chunk size in characters for file processing.
[[agents]]
id = "docs"
ingestion = { enabled = true, poll_interval_secs = 60, chunk_size = 8000 }
System Configuration
Cortex (system observer) configuration.
Cortex main loop interval (seconds).
Worker timeout (seconds).
Branch timeout (seconds).
circuit_breaker_threshold
Consecutive failures before circuit breaker trips.
Interval between memory bulletin refreshes (seconds).
Target word count for the memory bulletin.
Maximum LLM turns for bulletin generation.
association_interval_secs
Interval between memory association passes (seconds).
association_similarity_threshold
Minimum cosine similarity to create a RelatedTo edge.
association_updates_threshold
Minimum cosine similarity to create an Updates edge (near-duplicate).
Maximum associations to create per pass (rate limit).
Warmup configuration for background model loading.
Enable background warmup passes.
Force-load the embedding model before first recall/write workloads.
Interval between warmup refresh passes (seconds).
Startup delay before the first warmup pass (seconds).
Browser automation configuration for workers.
Whether browser tools are available to workers.
Run Chrome in headless mode.
Allow JavaScript evaluation via the browser tool.
Custom Chrome/Chromium executable path.
Directory for storing screenshots. Defaults to agent data directory.
[[agents]]
id = "research"
browser = { enabled = true, headless = false }
MCP server configuration for this agent. See MCP Configuration for details.[[agents]]
id = "dev"
[[agents.mcp]]
name = "filesystem"
transport = "stdio"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]
Brave Search API key for web search tool. Overrides the default setting. Supports env:VAR_NAME.[[agents]]
id = "research"
brave_search_key = "env:BRAVE_SEARCH_API_KEY"
Timezone Settings
Timezone for cron active-hours evaluation (e.g., America/New_York). Falls back to SPACEBOT_CRON_TIMEZONE env var or system local time.[[agents]]
id = "support"
cron_timezone = "America/New_York"
Timezone for channel/worker temporal context (e.g., Europe/London). Falls back to SPACEBOT_USER_TIMEZONE env var, cron_timezone, or system local time.[[agents]]
id = "assistant"
user_timezone = "Europe/London"
Cron Jobs
Scheduled tasks for this agent.
Unique identifier for this cron job.
Task prompt sent to the agent.
Cron expression in standard 5-field format (minute hour day month weekday). Takes precedence over interval_secs.
Interval in seconds between runs (used if cron_expr is not set).
Delivery target in adapter:target format (e.g., discord:123456789).
Start of active hours window (0-23, 24-hour format).
End of active hours window (0-23, 24-hour format).
Whether this cron job is enabled.
Run only once at startup, then disable.
Maximum wall-clock seconds to wait for job completion.
[[agents]]
id = "monitor"
[[agents.cron]]
id = "daily_summary"
prompt = "Generate a daily activity summary"
cron_expr = "0 9 * * *" # Every day at 9 AM
delivery_target = "discord:987654321"
active_start_hour = 8
active_end_hour = 18
Examples
Basic Agent
[[agents]]
id = "main"
default = true
display_name = "Main Assistant"
role = "General purpose assistant"
Agent with Custom Routing
[[agents]]
id = "coding"
display_name = "Code Assistant"
role = "Handles coding tasks"
[agents.routing]
worker = "anthropic/claude-sonnet-4"
branch = "anthropic/claude-sonnet-4"
[agents.routing.task_overrides]
coding = "anthropic/claude-sonnet-4"
Agent with High Concurrency
[[agents]]
id = "research"
display_name = "Research Bot"
max_concurrent_branches = 20
max_concurrent_workers = 10
branch_max_turns = 100
Agent with Custom Workspace
[[agents]]
id = "dev"
display_name = "Dev Assistant"
workspace = "/home/user/projects/dev-workspace"
brave_search_key = "env:BRAVE_SEARCH_API_KEY"
[[agents.mcp]]
name = "filesystem"
transport = "stdio"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
Agent with Scheduled Tasks
[[agents]]
id = "monitor"
display_name = "System Monitor"
cron_timezone = "America/New_York"
[[agents.cron]]
id = "hourly_check"
prompt = "Check system status and report any issues"
interval_secs = 3600
delivery_target = "discord:123456789"
active_start_hour = 8
active_end_hour = 18
[[agents.cron]]
id = "daily_summary"
prompt = "Generate daily activity summary"
cron_expr = "0 17 * * *" # 5 PM every day
delivery_target = "discord:123456789"