// concepts · 06

Multi-agent and groups

Multi-agent exists in the alpha, but it is still experimental. Each agent is a folder (agents/<id>/) with its own config, identity and memory. Credentials are globa…

Anatomy of an agent

agents/cto/
  agent.yaml          # role, default_provider, channels.telegram.token
  SOUL.md · VOICE.md · PERSONA.md     # identity (evolves on its own)
  .okami/
    memory.db · taste.json · persona_signals.json
    sessions/<chat>.jsonl             # append-only transcript
    checkpoints/journal.jsonl

Create and route

okami agent new ui         # creates agents/ui/ (its own workspace)
okami agent list           # list the agents
okami route telegram:123   # show routing origin → profile

Routing uses bindings with regex tiers: tier 0 exact → tier 1 regex → tier 2 wildcard; the first match wins, falling back to the default agent. The origin→session mapping is persisted.

Experimental group chat (turn-taking)

Several agents in one chat talking like a meeting. A cheap moderator (constrained enum → reliable even on a weak model) picks who speaks next — or no one. Anti-spam mechanisms:

  • Eligibility gating: filters by cooldown, recent participation and @mention (which forces).
  • Intentional silence: the chosen agent may reply PASS (nothing to add).
  • Bot-to-bot cap: max consecutive agent turns without a human.
  • 1 model per agent: each speaks on its own provider, with isolated windows.
cd examples/company        # sample cto / ui / backend
okami room "CTO, what about the frontend?"   # multi-agent brainstorm

Open this page in the interactive docs