Skip to content

Example openagent.yaml

This is the sanitized production-style example shipped with the repository. LLM providers (API keys, base URLs), the per-provider model catalog, MCP servers, scheduled tasks, workflows, and events all live in SQLite, not in this file — manage them via the mcp-manager / model-manager / scheduler / workflow-manager / events-manager built-in MCPs, the /api/providers, /api/mcps, /api/models, /api/scheduled-tasks, /api/workflows, and /api/events REST endpoints, or the desktop/CLI UI.

Multi-Agent Mode

When using agent directories (openagent serve ./my-agent), this file lives at ./my-agent/openagent.yaml alongside the database, memories, and logs. The memory.db_path and memory.vault_path fields are optional — they default to the agent directory. Each agent directory is fully self-contained.

yaml
# OpenAgent example configuration.
#
# LLM providers (API keys, base URLs), the per-provider model catalog,
# MCP servers, scheduled tasks, workflows, and events all live in
# SQLite, not in this file. Manage them via:
#
#   - the ``mcp-manager``, ``model-manager``, ``scheduler``,
#     ``workflow-manager``, and ``events-manager`` built-in MCPs
#     (the agent itself can call their tools to add/remove/toggle
#     entries);
#   - the REST API — ``/api/providers/*``, ``/api/mcps/*``,
#     ``/api/models/*``, ``/api/scheduled-tasks/*``, ``/api/workflows/*``,
#     and ``/api/events/*``;
#   - the desktop app's Settings screens.
#
# This yaml is the source of truth for ``name``, ``system_prompt``,
# ``channels``, ``memory`` paths, ``dream_mode``, and ``auto_update``.
#
# Any value in the form ${VAR_NAME} is substituted from environment
# variables at load time.

name: my-agent

system_prompt: |
  You are My Agent, the persistent AI assistant for My Project.

  Your memory vault is at ~/.openagent/memories/. All project identity,
  credentials, infrastructure, procedures and contacts are documented
  there as notes. Search the vault first before answering any factual
  question about the project.

  Git author: My Agent <myagent@example.com> (no Co-Authored-By line).

memory:
  db_path: ~/.openagent/openagent.db
  vault_path: ~/.openagent/memories

channels:
  telegram:
    token: ${TELEGRAM_BOT_TOKEN}
    allowed_users:
      - "YOUR_TELEGRAM_USER_ID"
    live: true        # narrate tool calls + answer as separate messages (default)
  websocket:
    enabled: true

network:
  role: coordinator
  name: homelab

dream_mode:
  enabled: true
  time: "3:00"

auto_update:
  enabled: true
  mode: auto
  check_interval: "17 */6 * * *"

MIT Licensed