agent_jarvis@server — bash
$ cat ~/OPERATIONS.md | head
# who is who
master "commands, talks to the owner"
security "night audit, report"
scout "leads, prospecting"
reviewer "tests the others' work"
counsel "outreach rules, GDPR"
$ agent-msg agent_scout "run collection, last 7 days only"
$ agent-inbox
[04:41] scout: done, 2 candidates, rest NOTHING
$ crontab -l | grep 07:
20 7 * * * audit_failsafe.py
30 7 * * * send.py # leads + calendar
$
Every agent is a separate Unix account with its own role in CLAUDE.md. The master commands via sudo -u, the others exchange messages through inboxes. Who may do what is defined by account permissions, not by the model's good will.
Routine runs on cron, learning on a scheduler with memory. Deterministic scripts (website checks, lead scoring) need no AI and cannot hallucinate. An agent steps in where judgement is needed — and it has persistent storage where it remembers what worked last time.
A shared brain: knowledge in linked Markdown, RAG over Postgres with pgvector, connected through MCP. One agent's lesson is available to all. When an agent annoys me by mistake, it gets written down and does not happen again.
The human interface is a chat you already use — Telegram, WhatsApp or Slack, for instance; there are many more options, from e-mail to a custom app. Mine is Telegram: a single authorised account, voice through ElevenLabs in Czech both ways. The server is a small VPS running Ubuntu with ufw, fail2ban, HTTPS via Let's Encrypt and a nightly audit that is read-only — it fixes things only after approval.
My runtime is Claude Code — but it could just as well be ChatGPT (OpenAI), Gemini, Mistral or Llama on your own hardware; the options are countless and the choice depends on the task, the cost and where the data may live. Agents do not run around the clock; each task starts, finishes and exits. You pay for work, not for time.
Claude CodeHermesMCPpgvectorTelegram Bot APIElevenLabsCalDAVUbuntunginxcrontmux