Skip to main content

Prerequisites

Before you begin, ensure you have:
  • Node.js 18+ installed
  • An OpenAI API key or other supported LLM provider
  • Terminal access (Linux, macOS, or Windows with PowerShell)
OrcBot requires API keys for LLM providers. Have your OpenAI, Google Gemini, or other API key ready.

Installation

1

Install with one command

Choose your platform:
curl -sSL https://orcbot.ai/install.sh | bash
2

Run the setup wizard

Launch the interactive configuration:
orcbot setup
The wizard will guide you through:
  • Setting your AI model (OpenAI, Google Gemini, etc.)
  • Configuring API keys
  • Setting up communication channels (optional)
  • Choosing autonomy settings
For a minimal setup, you only need an OpenAI API key. Other channels can be configured later.
3

Start OrcBot

Launch the agent loop:
orcbot run
# Run in the current terminal (Ctrl+C to stop)
orcbot run
OrcBot includes conflict detection. Only one instance can run at a time to prevent duplicate operations.

Your First Task

1

Push a manual task

While OrcBot is running, open a new terminal and push a task:
orcbot push "Search for the latest AI news and summarize the top 3 stories"
You can also specify priority (1-10, default 5):
orcbot push "Deploy the staging branch" --priority 8
2

Watch the reasoning process

OrcBot will:
  1. SIMULATE: Create a pre-execution plan
  2. THINK: Reason about the task
  3. ACT: Execute skills (web_search, browser_navigate, etc.)
  4. OBSERVE: Process results
  5. FINALIZE: Complete the task
Example output:
[SIMULATE] Planning task: Search for latest AI news...
[THOUGHT] I need to search the web for recent AI news articles
[ACTION] web_search("latest AI news 2024")
[OBSERVATION] Found 10 results from various sources...
[THOUGHT] I should extract the top 3 articles and summarize them
[ACTION] browser_navigate("https://example.com/ai-article")
[OBSERVATION] Retrieved article content...
[FINALIZE] Task completed successfully
3

Check the results

View recent memory and task status:
orcbot status
This shows:
  • Running instance status
  • Action queue state
  • Memory statistics
  • Recent activities

Interactive TUI Dashboard

For a visual interface, launch the TUI (Terminal User Interface):
orcbot ui
OrcBot TUI Dashboard
The TUI provides:
  • Real-time Dashboard: Agent status, queue, memory stats
  • Model Management: Configure OpenAI, Gemini, and other providers
  • Connection Setup: Telegram, WhatsApp, Discord, Slack
  • Skill Management: Install, activate, and configure skills
  • Worker Management: Monitor multi-agent orchestration
  • Token Usage: View API consumption and costs
  • Security Settings: Configure admin permissions and safe mode

Common Commands

# Foreground
orcbot run

# Background daemon
orcbot run --daemon

# With web gateway
orcbot run --with-gateway

Example Workflows

Daily News Briefing

orcbot push "Search for tech news from the last 24 hours, \
summarize the top 5 stories, and save to my journal" --priority 5

System Monitoring

orcbot push "Check disk usage, CPU load, and memory. \
If any metric exceeds 80%, send me an alert" --priority 8

Code Review Helper

orcbot push "Read the latest commit in the main branch, \
analyze the changes, and write a summary with potential issues" --priority 6

Research Assistant

orcbot push "Research quantum computing breakthroughs in 2024, \
ingest the findings into my knowledge base, and create a summary report" --priority 4

Web Gateway (Optional)

The web gateway provides REST API and WebSocket access:
1

Start the gateway

orcbot gateway --port 3100 --api-key your-secret-key
Or start with the agent loop:
orcbot run --with-gateway
2

Test the API

# Check agent status
curl -H "X-Api-Key: your-secret-key" \
  http://localhost:3100/api/status

# Push a task
curl -X POST \
  -H "X-Api-Key: your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"task": "Hello from API", "priority": 5}' \
  http://localhost:3100/api/tasks
3

Connect via WebSocket

const ws = new WebSocket('ws://localhost:3100');

ws.on('open', () => {
  ws.send(JSON.stringify({
    action: 'pushTask',
    data: { task: 'Test task', priority: 5 }
  }));
});

ws.on('message', (data) => {
  const event = JSON.parse(data);
  console.log('Event:', event.type, event.data);
});
For remote access, use Tailscale or another VPN instead of exposing the gateway port publicly. Always set an API key.

Setting Up Communication Channels

  1. Create a bot with @BotFather
  2. Get your bot token
  3. Configure OrcBot:
    orcbot config set telegramToken "your-bot-token"
    
  4. Restart OrcBot
  5. Start a chat with your bot on Telegram

Next Steps

Troubleshooting

Check for existing instances:
orcbot status
If a stale instance is detected:
orcbot stop
Then try starting again:
orcbot run
Verify your API key is set:
orcbot config get openaiApiKey
Set it if missing:
orcbot config set openaiApiKey "sk-..."
Or use environment variables:
export OPENAI_API_KEY="sk-..."
If the gateway port is in use:
orcbot gateway --port 3200
Or set it in config:
orcbot config set gatewayPort 3200
Reset memory if corrupted:
orcbot reset --memory
View memory stats:
orcbot status

Getting Help

Run orcbot --help or orcbot <command> --help for detailed command information.