Skip to content

Agent System

OtterBot is a roster of independent agents. Each agent is a self-contained profile — its own personality, model, memory, skills, credentials, and schedule. This page covers agent roles, the COO, subagents, and Agent Studio.

Agent Roles

Every agent has one of three roles:

Role Description
coo The default coordinating agent. Created during onboarding, pinned at the top of the roster, and cannot be deleted.
agent A top-level agent you create and tune yourself.
subagent A temporary worker spawned by another agent for a focused task.

There are no fixed "agent templates" — every agent beyond the COO is one you create and configure.

The COO

The COO (Chief Operating Officer) is the agent you talk to by default. It answers you directly and coordinates the rest of the roster: when a request suits another agent's specialty, the COO delegates it over the message bus and relays the result.

The COO is configured by the first-run onboarding wizard and cannot be deleted through the API.

Creating Agents

Add agents from the roster's New Agent action, or via the API. Each new agent gets its own profile directory, persona, model configuration, and isolated database. Give different agents different chat and embedding models, different skills, and different credentials.

Each agent is an isolated directory under data/profiles/<id>/:

profile.json   # identity, role, model refs, transport, avatar, limits
SOUL.md        # persona / system-prompt identity block
agent.db       # conversations, messages, memories, skills, vectors
skills/        # per-agent markdown skills

Subagents

Agents allowed to spawn subagents can create temporary workers for focused research or delegated work. A subagent:

  • inherits its parent's model and credentials by default,
  • is tracked as a subagent task with a goal, status, and result summary,
  • is temporary — it exists for the task and is cleaned up afterward.

Subagent tasks appear in the Activity view alongside live bus messages. Each agent has a configurable subagent limit.

Agent Studio

Agent Studio is the per-agent editor. It is organized into tabs:

Tab What you configure
Identity Display name, role, email, avatar / model pack, transport
Persona The agent's SOUL.md — its system-prompt personality
Model Chat and embedding model references, and per-agent endpoints
Skills View, create, import, install, and export markdown skills
Schedule Cron prompts that run against the agent
Memory Add, review, and delete the agent's long-term memories
Credentials API keys, endpoints, and tokens, stored encrypted per agent

See Features for skills, memory, scheduling, and the rest of the UI in more detail.