Overview
OrcBot’s autonomy system enables the agent to work proactively in the background, performing scheduled tasks, following up on conversations, and optimizing its own behavior based on productivity metrics.How Autonomy Works
Basic Configuration
Enable Autonomy
Start with Autonomy
Smart Heartbeat System
The smart heartbeat is context-aware and productivity-driven:Exponential Backoff
When unproductive, heartbeat intervals automatically increase:Productivity Tracking
The system measures actual work vs. idle cycles:- Created new task
- Sent message to user
- Updated memory or journal
- Executed skill with meaningful result
- Made progress on existing task
Context-Aware Actions
The agent analyzes recent activity to determine relevant actions:Action Types
The autonomous system supports different action types:Follow-Up Actions
Continue conversations that need closure:- Unanswered question from user
- Task marked “pending user input”
- Conversation ended without resolution
Outreach Actions
Proactively check in with contacts:- Regular check-in schedule
- Milestone approaching
- Previous conversation flagged for follow-up
Research Actions
Learn about topics from recent discussions:- Topic mentioned multiple times
- User asked for information
- Knowledge base needs updating
Maintenance Actions
Journal updates, memory consolidation:- Memory threshold exceeded
- Daily summary needed
- Learning entries to process
Delegate Actions
Spawn worker agents for parallel tasks:- Complex multi-step task
- Independent subtasks identified
- Main agent busy with other work
Channel Policy
Control where the agent can send proactive messages:Direct Responses
Always allowed on any channel where user messages the bot:Proactive Updates
Only allowed on channels inautonomyAllowedChannels:
Default Behavior
- No proactive messages sent
- Still processes incoming messages
- Still executes scheduled tasks (logs only)
Scheduling System
One-Time Tasks
Useschedule_task skill:
- Relative:
"in 30 minutes","in 2 hours","in 3 days" - Absolute:
"2024-03-15 14:00","March 15 at 2pm" - Natural:
"tomorrow at 9am","next Monday"
Recurring Tasks
Useheartbeat_schedule skill with cron syntax:
minute hour day month weekday
View Scheduled Tasks
Backlog Management
Backlog Limit
Prevent queue overflow:- Autonomy pauses (no new autonomous tasks)
- Still processes incoming user messages
- Resumes when queue drops below limit
Pause/Resume Autonomy
Completion Audit System
Prevents premature task completion:Audit Codes
When OrcBot blocks completion, logs include an audit code:| Code | Meaning | Fix |
|---|---|---|
NO_SEND | No user-visible reply sent | Send message before completing |
UNSENT_RESULTS | Tool output not delivered to user | Send final results message |
NO_SUBSTANTIVE | Only status updates sent | Send concrete findings |
ACK_ONLY | Only acknowledgment sent | Follow with detailed response |
ERROR_UNRESOLVED | Tool error without recovery | Explain failure or retry |
GENERIC | Uncategorized issue | Check action memories |
Example Audit Flow
View Audit Logs
Multi-Agent Orchestration
Spawn worker agents for parallel tasks:Spawn Worker Agent
Delegate Task
Worker Process Management
Workers appear in TUI:- Real Node.js child processes via
fork() - IPC communication with main agent
- Shared configuration
- Isolated execution
- Automatic cleanup on completion
Productivity Metrics
Track Productivity
View productivity stats:Interpret Metrics
- High Productivity (>70%)
- Medium Productivity (40-70%)
- Low Productivity (<40%)
Indicators:
- Creating useful tasks regularly
- Following up on conversations
- Maintaining knowledge base
Advanced Configuration
Fine-Tune Intervals
Context Limits
Action Selection
Best Practices
Start Conservative
Begin with longer intervals and fewer allowed channels:Gradually tune based on productivity metrics.
Monitor Backlog
Keep backlog limit reasonable:If frequently hitting limit, either:
- Increase limit
- Increase interval
- Reduce autonomous task creation
Use Channel Policy
Don’t spam users with proactive messages:
Review Audit Logs
Periodically check for completion blocks:Frequent blocks indicate agent is trying to complete tasks prematurely.
Troubleshooting
Autonomy Not Running
Too Many Autonomous Tasks
Symptoms:- Queue constantly full
- Hitting backlog limit frequently
- Agent seems “spammy”
-
Increase interval:
-
Reduce allowed channels:
-
Increase backlog limit temporarily:
Low Productivity
Symptoms:- Productivity rate < 40%
- Interval backed off to maximum
- Few actions created
-
No pending work:
- Agent has nothing to do
- This is normal during quiet periods
-
Empty allowed channels:
Add at least one channel.
-
Waiting for user input:
- Agent is blocked on clarification
- Check for pending questions
Heartbeat Not Firing
- Scheduler may not be initialized
- Check for errors in startup logs
- Restart OrcBot