Skip to main content

Configuration File Structure

OrcBot uses a hierarchical YAML-based configuration system that supports multiple config file locations, environment variable overrides, and hot-reload capabilities.

Configuration Priority

OrcBot reads configuration in this order (highest priority first):
1

Environment Variables

Environment variables like OPENAI_API_KEY, TELEGRAM_TOKEN take precedence
2

Local Config

./orcbot.config.yaml in your current working directory
3

Home Config

~/orcbot.config.yaml in your home directory
4

Global Config

~/.orcbot/orcbot.config.yaml (default location)

Basic Configuration File

Create your configuration file at ~/.orcbot/orcbot.config.yaml:

Environment Variables

API Keys

Supported Environment Variables

Environment variables only override config values if the config file doesn’t already define them. Config files take precedence.

Hot-Reload Configuration

OrcBot automatically watches the configuration file for changes and reloads settings without restarting.

How It Works

Live Update Example

1

Edit Config

Open ~/.orcbot/orcbot.config.yaml in your editor
2

Change Settings

3

Save File

Save the file. OrcBot will log:
4

Changes Applied

New settings take effect immediately for the next action
Hot-reload does not restart channel connections (Telegram, Discord, WhatsApp). To apply channel token changes, restart OrcBot.

Agent-Driven Config Management

OrcBot v2.0+ includes intelligent configuration where the agent can optimize settings based on task requirements.

Policy-Based Security

Config keys are classified into three policy levels:
The agent can modify these autonomously without approval:
  • modelName - Switch between models
  • memoryContextLimit - Adjust context window
  • maxStepsPerAction - Increase/decrease step budget
  • maxMessagesPerAction - Control response verbosity
  • reasoningExposeChecklist - Show/hide planning steps

Autonomous Optimization

The agent intelligently adjusts configuration when:
  • Code tasks need more capable models → auto-switch to GPT-4
  • Complex tasks require more memory context → increase memoryContextLimit
  • Multi-step workflows need higher step budgets → increase maxStepsPerAction
  • LLM provider is unavailable → auto-fallback to alternatives

Using manage_config Skill

Server Mode Defaults

When serverMode: true is set, OrcBot applies conservative defaults optimized for headless deployments:

Configuration Syncing

OrcBot automatically syncs config changes across multiple config file locations while protecting secrets:
Config syncing is disabled for worker processes to prevent corruption. Worker configs are isolated to their instance directories.

Advanced Settings

Task Complexity Classifier

Skill Routing Rules

Configure intent-based skill selection:

Autonomy Channel Policy

Control where the agent can send proactive updates:
Direct Responses: Always allowed on any channel where the user messages the botProactive Updates: Only allowed on channels listed in autonomyAllowedChannelsDefault: Empty [] means silent in background

Memory & Consolidation

Platform-Specific Paths

OrcBot automatically normalizes file paths for cross-platform compatibility:

Accessing Config in Code

From Agent Instance

Listen for Config Changes

Troubleshooting

Config Not Loading

Environment Variables Not Working

Environment variables are fallback only. If the config file already defines a value, the env var is ignored.To force env var usage, remove the key from your config file.

Hot-Reload Not Working

Worker Corruption Repair

If you see paths like orchestrator/instances/agent-xxx in your config:
This happens automatically. No action needed.