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, and scheduled tasks all live in SQLite, not in this file — manage them via the mcp-manager / model-manager / scheduler built-in MCPs, the /api/providers, /api/mcps, /api/models, and /api/scheduled-tasks 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, and scheduled tasks all live in SQLite, not in this
# file. Manage them via:
#
#   - the ``mcp-manager``, ``model-manager``, and ``scheduler`` built-in
#     MCPs (the agent itself can call their tools to add/remove/toggle
#     entries);
#   - the REST API — ``/api/providers/*``, ``/api/mcps/*``,
#     ``/api/models/*``, and ``/api/scheduled-tasks/*``;
#   - 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"
  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