// 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.jsonlCreate 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 → profileRouting 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
