PTENES

Guide to Features and Architectures

What each aisle in the frameworks grocery store offersβ€”and how the 9 main architecture patterns work under the hood.

8 Corridors
  1. 1🧬 Identity and Personality
  2. 2πŸ›‘ Security and Protection
  3. 3πŸ’¬ Communication Channels
  4. 4🧠 Memory and Knowledge
  5. 5βš™ Automation and Scheduling
  6. 6πŸ”— Integrations and Protocols
  7. 7🧰 Ready-to-Use Skills and Tools
  8. 8πŸ— Architecture Patterns
9 Architectures
  1. OCOpenClaw β€” Hub Gateway
  2. ZCZeroClaw β€” Trait Contracts
  3. NCNanoClaw β€” Container Isolation
  4. TCTinyClaw β€” Agent Teams
  5. ICIronClaw β€” Zero-Trust Security
  6. A0Agent Zero β€” Learning Loop
  7. CCClaudeClaw β€” Local Swarm + Hive Bus
  8. HMHermes β€” Self-Curating Reflective Loop
  9. AIAIOS β€” Agent-as-OS-Process

The 8 Feature Aisles

Each aisle groups a type of capability you can add to your assistant. Think of them as sections in a grocery store β€” you choose the ingredients that make sense for your project.

🧬
Identity and Personality
How your AI introduces itself

Defines who your AI isβ€”its tone, values, way of speaking, and how it adapts to different contexts. Without this, you have a generic chatbot. With it, you have an assistant with its own voice.

Soul.md Personality File
Define your AI's personality, values, and communication style in a simple text file. How to write a character sheet for your AI.
AIEOS Portable Identity Standard
Universal format for exporting AI personality (psychology, linguistics, motivations) to any compatible system.
Group-Isolated Memory
Each conversation group has its own brain. Work chats and family chats never mix context.
Interchangeable Agent Profiles
Prebuilt personas (developer, researcher, writer) that you can switch between instantly.
Dynamic Behavior Rules
Change the AI's behavior in the middle of a conversation, without restarting. Immediate adaptation to context.
Telegram Bots per Agent ClaudeClaw
Each specialist agent (comms/content/ops/research) is its own bot on Telegram, with its own personality, context window, and avatar, and can be delegated to via @agente: prompt.
User Modeling (Honcho) Hermes
User representations engine (dialectic agent) that builds an evolving model of who you are with every conversation; runs locally or in the cloud.
Agent Hub β€” Publish and Install Personas AIOS
The "PyPI for agents": a registry where you publish a versioned agent (semver) and install it with 1 command. Reusing personas moves beyond the lab.
INTELECTO Files
intelecto/agent/ β”œβ”€β”€ context.py β˜… Loads workspace/ and builds the final system prompt └── loop.py Passes the system prompt to the LLM on every turn workspace/ β”œβ”€β”€ SOUL.md β˜… Personality: tone, values, response style β”œβ”€β”€ AGENTS.md Behavior and tool-use rules β”œβ”€β”€ USER.md User profile and preferences └── MEMORY.md Bootstrap facts loaded at startup
πŸ›‘
Security and Protection
Protecting your data and systems

Layers of protection between your AI and the outside worldβ€”from tool sandboxing to prompt injection attack detection. Essential in any environment that accesses sensitive data.

WASM Sandbox for Tools
Tools run in isolated WebAssembly containers. They physically cannot access your files or secrets. Lighter than Docker.
VM Container Isolation
Each conversation runs in its own virtual machine. The strongest barrier between the AI and your operating system.
Defense Against Prompt Injection
Detects and blocks attempts to trick your AI with hidden instructions in web pages or incoming messages.
Secret Leak Detection
Checks tool outputs before they reach the AI to ensure API keys and passwords aren't accidentally exposed.
Encrypted Secret Storage
API keys encrypted with ChaCha20 or Fernet. Even if someone steals the file, they can't read it.
Execution Approval Gates
Three levels of control: read-only, supervised (asks permission), and full autonomy. You decide how much to trust it.
Dangerous Command Blocklist
Automatically blocks destructive commands (delete everything, format disks, restart) by substring matching.
Outbound Exfiltration Guard ClaudeClaw
Scans every outgoing response with regex (API keys, Slack/GitHub tokens, AWS, long hex strings) and redacts secrets before sending them to the chat β€” a barrier against prompt-injection leaks.
Hot-Reload Kill Switches ClaudeClaw
.env flags reloaded every ~1.5s: disables LLM spawning, dashboard mutations, the scheduler, or War Room in under 2s, without restarting the process, with a rejection counter.
Egress Allowlist + Sandbox Hardening Hermes
Execution sandbox (firejail/bubblewrap/docker), egress allowlist, and immutable audit log; blacklist ~/.ssh and ~/.aws to contain exfiltration.
Defense Against Prompt Injection (OWASP #1) Hermes
Addresses OWASP #1 for LLM Apps: separates data from instructions when reading web/third-party content, with a threat model mapped to 4 attackers.
INTELECTO Files
intelecto/security/ β”œβ”€β”€ secrets.py β˜… Fernet + PBKDF2: encrypts keys with the hardware UUID └── safety.py Command blocklist + path traversal + audit log intelecto/tools/ └── shell.py run_command with a 60s timeout and an embedded blocklist ~/.intelecto/ β”œβ”€β”€ .secrets Encrypted keys (useless on different hardware) └── audit.log Log of all executed commands
πŸ’¬
Communication Channels
Where your AI lives

The channel is your AI's "point of entry." It determines which app the user will interact with it in. Each channel has distinct characteristics β€” choose where your audience already is.

WhatsApp
The most natural choice for everyday business use in Brazil. Supports text, images, and voice notes.
Telegram
Simpler setup (just one token). Rich media, inline buttons, and file sharing. Great for technical teams.
Discord
Ideal for managing communities and team channels. Supports slash commands.
Slack
Integration without a public IP via Socket Mode. Perfect for automating internal processes.
Email (IMAP/SMTP)
The AI reads your email and can reply. It filters spam, summarizes newsletters, and drafts responses.
Web Dashboard
Browser interface with real-time status, visible memory, and task progress.
Voice Wake Word
Say "hey claude" and your AI listens. Always-on voice control, like a private smart speaker.
Avatar in a Live Video Meeting ClaudeClaw
Sends an agent into a real video call (Daily.co/Meet/Zoom) as a participant with a Pika avatar that speaks in real time.
Live Voice War Room ClaudeClaw
A meeting room with your agent team using live voice via Gemini Live, each agent with its own voice, sub-second latency, no Deepgram or Cartesia.
Unified Messaging Gateway Hermes
A gateway normalizes CLI, Discord, Slack, WhatsApp, HTTP, and cron into the same Message object β€” one brain, all the mouths, with the agent decoupled from the channel.
INTELECTO Files
intelecto/channels/ β”œβ”€β”€ base.py β˜… Abstract contract: start(on_message), send(), stop() └── telegram.py Long polling, splitting at >4096 chars, typing indicator # To add new channels β€” implement BaseChannel: channels/whatsapp.py WhatsApp (without touching the agent's code) channels/discord.py Discord (same contract) channels/slack.py Slack Socket Mode
🧠
Memory and Knowledge
How your AI remembers

The difference between an AI that forgets everything when it restarts and one that has known you for months. The memory system you choose determines the cost, accuracy, and long-term recall capability.

Hybrid Vector + Keyword Search
Combines semantic understanding (what you mean) with exact search (specific words). The most precise option, but it comes with embedding costs.
SQLite FTS5 (Keyword Search)
Full-text search with BM25 ranking. Zero API costs, no embedding models. Covers 90% of recall needs.
Two-Layer Memory System
Layer 1: quick facts in MEMORY.md. Layer 2: searchable history log. Simple and effective for small projects.
Solutions Memory
The AI automatically saves successful solutions. The next time it encounters a similar problem, it remembers what worked.
Document Knowledge Base
Upload PDFs, spreadsheets, and documents. AI searches and analyzes them. Your company's knowledge at your fingertips in chat.
Automatic Session Compaction
When conversations get too long, automatically summarizes older parts to keep the AI fast.
5-Layer Memory with Decay ClaudeClaw
Memory that extracts facts via Gemini (importance score), stores vector embeddings, searches across 5 fronts, consolidates patterns every 30min, and decays or gains salience based on usage.
Memory Hygiene and Sharing ClaudeClaw
Periodic review that suggests (never writes on its own) what to pin, which conflicts to resolve, and which duplicates to merge, plus selective promotion of universal facts to the tier shared across agents.
Memory Curation in the Reflect Step Hermes
perceiveβ†’actβ†’reflectβ†’save loop: an inexpensive model (<1k tokens) decides what’s worth remembering and curates memory on its own, instead of making you dictate everything.
Semantic File System (LSFS) AIOS
Storage that indexes by embeddings: you find a file by meaning in natural language ("the PDF about AIOS from last week"), not by path. ICLR 2025 paper; complements the FS, it doesn't replace it.
Curated Agentic Memory (A-MEM) AIOS
Memory where the agent itself decides what to keep, compresses redundant information, and indexes what can be searched β€” fighting context bloat in long-running agents.
INTELECTO Files
intelecto/memory/ └── store.py β˜… SQLite FTS5 + BM25 + automatic deduplication (>80% = update) intelecto/agent/ └── context.py memory.search(query) β†’ injects results into the system prompt ~/.intelecto/ └── memory.db Persistent database β€” survives restarts # Stored categories: fact Β· facts about you and your preferences conversation Β· summaries of important conversations solution Β· solutions to recurring problems
βš™
Automation and Scheduling
Work while you sleep

Turns your AI from reactive to proactive. Instead of waiting for you to ask something, it runs tasks at set times, monitors events, and works in the background.

Cron Scheduling
"Every Monday at 9 a.m., send me a briefing for the day." It works like a reliable alarm clock for recurring tasks.
Heartbeat (Periodic Checks)
The AI wakes up every 30 minutes to check whether anything needs attention. Proactive, not just reactive.
Browser Automation
Controls a real browser: fills out forms, clicks buttons, extracts data, and takes screenshots. Automates repetitive web tasks.
Webhook Triggers
External services (Zapier, n8n, Shopify) trigger your AI via URL. Connects to any existing automation ecosystem.
Background Sub-Agents
Auxiliary AI for long-running tasks. The main agent stays responsive while workers handle the heavy lifting.
Agent Team Collaboration
Multiple specialized agents (@coder, @reviewer, @writer) automatically pass work to one another.
Mission Control Kanban ClaudeClaw
Kanban board with one column per agent, tasks auto-assigned by Gemini, drag-and-drop to reassign, and a history drawer showing everything completed.
Acceptance Checks for Scheduled Tasks ClaudeClaw
A scheduled task only counts as successful if the output contains a defined marker β€” "a turn returned" is no longer mistaken for "the objective was completed."
Proactive Agent via Heartbeat Hermes
Built-in scheduler (APScheduler) with zombie detection, reclaim, and retries: briefings, reminders, and proactive check-ins that make the agent feel alive 24/7.
Northstar Objective Function Hermes
Instead of question→answer, you set a goal and the agent uses a turn budget (~20) or generates 4-10 actions with a progress bar until it reaches the goal.
Agent-as-Process Scheduling (FIFO/Round-Robin) AIOS
Multiple LLM agents become processes scheduled by a Scheduler with fairness β€” instead of one long-running agent blocking all the others, the kernel shares access to the LLM (FIFO for 1–2 agents, Round-Robin for 3+).
INTELECTO Files β€” Roadmap Phase 2
intelecto/tools/ # planned β€” not implemented in v0.1 β”œβ”€β”€ cron.py Scheduling: "every Monday at 9 a.m., send me..." └── web.py Web search and page/URL fetching intelecto/agent/ └── loop.py Already supports multiple rounds β€” a foundation for automation # Implemented today: com.intelecto.agent.plist Auto-restart via macOS launchd (active now) start.sh Launcher with venv + automatic install
πŸ”—
Integrations and Protocols
Connecting to the World

How your AI connects to model providers, external services, and standard protocols. This is where decisions about AI model cost, privacy, and scalability are made.

OpenRouter β€” 100+ Models, 1 Key
Access Claude, GPT-4, Gemini, Mistral, DeepSeek, Llama, and over 100 models with a single API key. Switch models without changing the code.
Local LLM Support (Ollama)
Run models on your own computer. Zero API costs, total privacy, no internet. Use with OpenRouter: cloud for power, local for privacy.
Multi-Provider Failover
If Claude goes down, automatically switches to GPT or Gemini. With OpenRouter, you get 100+ models as fallbacks with a single key.
Task-Based Model Selection
Claude Sonnet for complex reasoning, Haiku for fast, low-cost responses, and DeepSeek R1 for code. Full control over cost and quality.
MCP (Model Context Protocol)
A universal standard for connecting AI to external tools. One protocol, thousands of integrationsβ€”the β€œUSB” for AI tools.
Specialized Media Providers (fal.ai, Kie.ai)
For images, sound, and video, use specialized providers. Text LLMs are weak at mediaβ€”fal.ai and Kie.ai are the right choice for content creation.
Skills / Plugins System
Install new capabilities like apps on your phone. No coding required to add prebuilt integrations.
Hardware / IoT Control
Controls physical devices through GPIO, I2C, and SPI pins. AI can interact with the real world in embedded projects.
Normalized Provider Engine (ACP) ClaudeClaw
A single engine layer with adapters for the Claude SDK, native OpenRouter, and ACP (OpenCode/Gemini CLI/Codex/custom), with separate sessions per provider to keep histories from crossing.
OAuth Health Monitor ClaudeClaw
Notifies you on Telegram before the Claude OAuth token expires β€” essential for daemon deployment (launchd/systemd), where expiration causes silent failure.
Role-Based Multi-Brain Routing Hermes
Routes models by role in the config (main/reflect/routing/fallbacks) and by subtask within the skill β€” a powerful model for the work, a cheaper one for triage.
Create Your Own MCP Server Hermes
Create your own MCP server in Python (FastMCP) or Node (@modelcontextprotocol/sdk) with OAuth/JWT auth and publish it via Docker/npm/pip.
Framework Adapter Layer AIOS
An execution layer below the frameworks: replaces direct LLM calls with a syscall (adapter pattern), so LangChain/AutoGen/CrewAI/MetaGPT/OpenAGI inherit scheduling, fairness, and persistence β€” incremental migration.
INTELECTO Files
intelecto/providers/ β”œβ”€β”€ base.py β˜… Abstract contract: async chat() β†’ LLMResponse β”œβ”€β”€ openrouter.py OpenRouter via LiteLLM (100+ models with 1 key) └── ollama.py Local Ollama (zero cost, zero cloud) intelecto/ └── config.py Configures the default provider and model for each task requirements.txt └── litellm β‰₯1.40.0 Unified interface: OpenRouter, Ollama, any LLM # Add a provider = implement BaseProvider: providers/gemini.py Β· providers/groq.py Β· providers/cohere.py
🧰
Built-In Skills and Ready-to-Use Tools
What comes ready in the box

The longest corridor β€” these are the concrete capabilities your AI can perform today, without building them from scratch. It covers productivity, communication, smart home, development, and much more.

Google Workspace Suite
Gmail, Calendar, Drive, Sheets, Docs, and Slides. Full Google integration: send emails, create spreadsheets, manage your calendar.
GitHub (Issues, PRs, CI, API)
Full workflow: manage issues, review pull requests, trigger CI. Manage code through chat.
Notion, Obsidian, Apple Notes, Bear
Integrations with leading note-taking apps. Create, edit, and search notes directly through the assistant.
Whisper Speech-to-Text + ElevenLabs TTS
Convert speech to text and text to natural-sounding speech. Works locally (no API) or in the cloud.
AI Image Generation
Generate images via the OpenAI API, Gemini, or specialized providers like fal.ai. Supports inpainting and batch generation.
URL / Video / Podcast Summarizer
Summarize web pages, YouTube videos, and podcasts. Get the essentials without reading or watching everything.
Smart Home Control (Philips Hue, Sonos)
Controls lights, speakers, and smart devices with natural language commands.
Coding Agent Orchestration
Run Codex CLI, Claude Code, or other coding agents programmatically. AI managing other AIs.
Composio (1000+ Apps)
One-click OAuth access to 1000+ apps: Gmail, Notion, GitHub, Slack, and much more via Composio.
Autonomous Skill Generation Hermes
The agent detects a repeated workflow (β‰₯3x) during the reflect step and writes a draft SKILL.md for you to approve β€” skills born from use, with no programming.
Portable agentskills.io Skills Hermes
Skills as a self-contained folder with SKILL.md (YAML frontmatter + markdown), an open standard portable across Hermes, Claude Code, and Codex.
Computer-Use Actions Hermes
Real actions on your PC: browser vision with Chrome DevTools, visual screen reading, and actual cursor movements β€” can be enabled in the tools, with care.
Auto-Registered Skill Commands ClaudeClaw
Any skill with user_invocable:true automatically becomes a /command in the Telegram menu (setMyCommands), without changing any code β€” just drop in the skill folder.
Computer Use via VM + MCP (LiteCUA) AIOS
Exposes the entire computer as MCP tools (screenshot/click/type) inside a sandboxed VM (KVM/Firecracker). Perceive-decide-act loop with a multimodal LLM to operate GUIs without an API.
INTELECTO Files
intelecto/tools/ β”œβ”€β”€ base.py β˜… Contract: name, description, parameters, execute() β”œβ”€β”€ registry.py Tool discovery and dispatch β”œβ”€β”€ filesystem.py read_file, write_file, list_directory └── shell.py run_command with a safety check and a 60s timeout # Add a skill = create a new file inheriting from BaseTool: tools/github.py Β· tools/notion.py Β· tools/calendar.py # Without touching registry.py β€” automatic discovery
πŸ—
Architecture Patterns
How to structure your framework

The structural patterns that define how your assistant’s components connect. Your choice here affects maintainability, scalability, and ease of extension.

Modularity via Traits / Abstract Classes
Each component is defined by a contract (interface). Swap implementations without touching the agent's code.
WebSocket Gateway Hub
A central server that all channels connect to. The β€œcontrol tower” pattern β€” maximum control, greater complexity.
Message Bus Architecture
Channels and agents communicate through a central queue. Clean separation, easy to add new channels.
File-Based Message Queue
Messages stored as files in directories (incoming β†’ processing β†’ outgoing). Simple, reliable, no database.
Single-Binary Deployment
One executable file, no dependencies. Copy it anywhere and it works. The simplest deployment story possible.
Project-Based Workspace Isolation
Separate spaces per client or project, each with its own memory and secrets. No data mixing.
Shared Brain Bus (Hive Bus) ClaudeClaw
Event bus (hive_mind table) that every agent writes to and every agent reads from: the whole team can see what each agent did in the last 24h within the memory context. view architecture β†’
Self-Improving Reflective Loop Hermes
A perceive→act→reflect→save loop in which the agent curates its own memory and creates its own skills through use—instead of relying on static channels, loops, and memory. view architecture →
Agent-as-OS-Process (LLM Kernel) AIOS
The LLM becomes the core of a kernel, and each agent is a scheduled process, with auditable syscalls and context switching β€” frameworks such as LangChain/AutoGen/CrewAI run on top. view architecture β†’
INTELECTO Files
intelecto/ β”œβ”€β”€ main.py β˜… Entry point: detects config, starts bot └── config.py Configuration singleton (~/.intelecto/config.json) intelecto/agent/ β”œβ”€β”€ loop.py Core: receives β†’ thinks β†’ responds (max 5 rounds) └── context.py Builds system prompt + relevant memories # Contracts β€” each subsystem implements its interface: providers/base.py async chat() β†’ LLMResponse channels/base.py start(), send(), stop() memory/store.py save(), search(), forget(), recent() tools/base.py name, description, execute()

The 9 Architectures in Detail

How each framework organizes its components internally. These are the blueprints you'd follow when building with each approach.

OC
OpenClaw β€” Hub Gateway
TypeScript Β· The "control tower" architecture

OpenClaw uses a central WebSocket server (Gateway) as the single entry point for all channels. Messages from WhatsApp, Telegram, Slack, iMessage, and voice pass through the same hub before reaching the agent. This provides centralized session control, routing between multiple agents, and unified support for visual canvas and voice.

CHANNELS AGENTS WhatsApp Telegram Slack Agent A Agent B Discord iMessage WebChat (Work) (Personal) \ | / \ / \ | / \ / v v v v v +------------------+ +------------------+ | GATEWAY |------| SESSION STORE | | (WebSocket Hub) | | (JSONL files) | +------------------+ +------------------+ | +--------+--------+ | | | TOOLS CANVAS VOICE Browser Live UI Wake Word Files Diagrams TTS/STT Shell React ElevenLabs
Strength
Maximum control and visibility. Everything goes through the hub β€” logging, routing, and sessions are all in one place.
Complexity
The Gateway is a single point of failure. Harder to test and scale horizontally.
Best for
Projects that need multiple channels, multiple agents, and a visual interface at the same time.
File structure
src/gateway/server/ β”œβ”€β”€ server.ts β˜… Central WebSocket server β€” single entry point β”œβ”€β”€ server-channels.ts Connects and manages all channels in the gateway β”œβ”€β”€ server-chat.ts Chat sessions, history, and streaming β”œβ”€β”€ server-cron.ts Scheduled tasks integrated with the gateway β”œβ”€β”€ server-startup.ts Boot, health checks, and automatic recovery └── ws-connection/ Individual WebSocket Connection Management src/channels/registry.ts Discovers and registers available channels src/sessions/ Sessions stored as JSONL per agent src/agents/pi-embedded-runner.ts Runner: receives β†’ thinks β†’ responds src/gateway/protocol/ Gateway messaging protocol
ZC
ZeroClaw β€” Trait Contracts (Rust)
Rust Β· The β€œLEGO of components” architecture

Each subsystem (AI provider, channel, memory) is defined by a trait β€” a contract that says "any implementation must have these methods." The config.toml file decides which implementations to use at runtime. You can switch the AI provider from Claude to Ollama, or the channel from Telegram to WhatsApp, without touching the agent's code. The result is a memory footprint below 5MB and boot in 10ms.

config.toml define which implementations to use: +-----------+ +-----------+ +----------+ | Provider | | Channel | | Memory | | (trait) | | (trait) | | (trait) | +-----------+ +-----------+ +----------+ ^ ^ ^ | | | +----+----+ +-----+-----+ +----+----+ |OpenAI | |Telegram | |SQLite | |Claude | |Discord | |Markdown | |Ollama | |Slack | |None | |Gemini | |WhatsApp | +---------+ |22 more..| |Email | +---------+ |Webhook | +-----------+ Swap ANY piece without touching the agent code
Strength
Maximum modularity and efficiency. Each component can be tested independently. Runs on $10 hardware.
Complexity
Rust has a steep learning curve. Its traits system can intimidate developers coming from dynamic languages.
Best for
Projects that require extreme efficiency, have limited hardware, or need frequent AI provider switching.
File structure β€” separate Rust codebase
src/ β”œβ”€β”€ main.rs β˜… Entry point and CLI └── config.rs Loads config.toml and instantiates implementations traits/ β”œβ”€β”€ provider.rs β˜… Trait Provider: async chat() β†’ LLMResponse β”œβ”€β”€ channel.rs Trait Channel: start(), send(), stop() └── memory.rs Trait Memory: save(), search(), forget() providers/ Interchangeable Provider implementations: β”œβ”€β”€ openai.rs claude.rs Cloud providers (OpenAI, Anthropic) └── ollama.rs Local model (zero cost, zero cloud) channels/ Interchangeable Channel implementations: └── telegram.rs discord.rs Switch channels without changing the agent
NC
NanoClaw β€” Container Isolation
TypeScript Β· The "separate brains" architecture

NanoClaw solves a specific WhatsApp problem for businesses: how do you ensure that the context of a work group never leaks into the family group? The answer is radical β€” each conversation runs in its own isolated container, with its own CLAUDE.md file and separate filesystem. The host manages the WhatsApp connection and dispatches messages to the right container.

HOST (macOS/Linux) +--------------------------------------------+ | WhatsApp Connection (Baileys) | | SQLite Message Store | | Message Polling Loop | | Task Scheduler | +--------------------------------------------+ | | | +-- Container --+ +-- Container --+ +-- Container --+ | Work Group | | Family Group | | Admin Chat | | Claude SDK | | Claude SDK | | Claude SDK | | Own CLAUDE.md | | Own CLAUDE.md | | Full access | | Sandboxed FS | | Sandboxed FS | | All groups | +---------------+ +---------------+ +--------------+ Each group = an isolated brain. They can't see each other.
Strength
Complete isolation between contexts. Ideal for enterprise use where data from different clients must not be mixed.
Complexity
Container overhead per group. Not the best choice for a single-user personal assistant.
Best for
Companies with multiple WhatsApp groups that need fully separated contexts.
File structure β€” NanoClaw codebase
src/ β”œβ”€β”€ host.ts β˜… Host: manages WhatsApp connection (Baileys) β”œβ”€β”€ message-store.ts SQLite: message queue per group └── scheduler.ts Routes messages to the correct container containers/ β”œβ”€β”€ manager.ts β˜… Creates and destroys containers per group β”œβ”€β”€ dispatch.ts Routes messages to the right container └── sandbox-fs.ts Filesystem isolated by container agent-container/ β”œβ”€β”€ runner.ts Runs Claude SDK inside the container └── claude-md.ts Loads the group-specific CLAUDE.md
TC
TinyClaw β€” Agent Teams
TypeScript Β· The "small AI company" architecture

TinyClaw treats each agent as a specialized team collaborator. Messages enter a file-based queue (no database), and each agent picks them up from its own inbox. One agent can mention another (@reviewer, @writer) to pass the work along. Parallel processing: while @coder writes code, @reviewer can be analyzing another PR.

YOU (via Discord / Telegram / WhatsApp) | v +------------------+ | Message Queue | incoming/ -> processing/ -> outgoing/ | (File-Based) | Each agent picks up messages from its own inbox +------------------+ | +----+----+----+----+ | | | @coder @reviewer @writer Claude OpenAI Claude Opus GPT-5 Sonnet | ^ ^ | | | +---mention----------+ Agents pass work to each other "[@reviewer: check this code]" Parallel processing. Sequential per agent.
Strength
Each agent uses the model best suited to its specialty. Parallel processing for complex tasks.
Complexity
Coordination between agents can create circular dependencies. Debugging multi-agent workflows takes more work.
Best for
Software development pipelines where review, writing, and coding happen in parallel.
File structure β€” OpenClaw (sub-agents)
src/agents/ β”œβ”€β”€ subagent-registry.ts β˜… Logging and coordination of active subagents β”œβ”€β”€ openclaw-tools.ts Tools: spawn, parallel sessions, status β”œβ”€β”€ subagent-announce.ts @mentions notifications between agents └── subagent-announce-queue.ts Inter-agent message queue src/cron/isolated-agent/ Runs agents in a fully isolated context src/agents/lanes.ts Controls parallelism between agents File-based queue (no database): incoming/ β†’ processing/ β†’ outgoing/ Each agent reads from its own inbox on disk
IC
IronClaw β€” Zero-Trust Security
TypeScript Β· The "layered fortress" architecture

IronClaw starts from the principle that no input is trustworthy β€” not user messages, tool results, or LLM outputs. Each stage of the pipeline has its own security layer: prompt injection detection on input, a WASM sandbox for tool isolation, and a secret leak detector on output. The Job Scheduler allows up to 5 parallel executions with rate limiting.

Messages come in Security Layers CLI Slack Telegram | | v +----v----+ +--------------------+ | Channel | | Prompt Injection | | Manager |--->| Pattern Detection | +---------+ +--------------------+ | | +----v----+ +--------------------+ | Job | | WASM Sandbox | | Scheduler--->| Capability Allowlist| | (5x //) | | Rate Limiting | | | | Credential Inject | +---------+ +--------------------+ | | +----v----+ +--------------------+ | LLM | | Leak Detector | | NEAR AI | | Scans outputs | | +Ollama | | for secrets | +---------+ +--------------------+
Strength
The most secure architecture available. Ideal for corporate environments or anywhere AI accesses sensitive data.
Complexity
Each layer adds latency. Configuring tool allowlists requires careful planning.
Best for
Companies with compliance requirements, customer data, or where a wrong command could cause real harm.
File structure β€” OpenClaw (security layers)
src/security/ β”œβ”€β”€ audit.ts β˜… Complete audit log of all agent actions β”œβ”€β”€ audit-fs.ts Monitoring and logging of filesystem operations └── external-content.ts Prompt injection detection in external inputs src/agents/ β”œβ”€β”€ sandbox/sandbox.ts WASM sandbox: completely isolates tools β”œβ”€β”€ tool-policy.ts Approval gates: 3 confidence levels β”œβ”€β”€ pi-tools.policy.ts Explicit Allowlist of Permitted Tools └── bash-tools.ts Blocklist of dangerous commands (rm -rf, etc.) src/channels/allowlists/ User Allowlist by Channel src/agents/context-window-guard.ts Context overflow protection
A0
Agent Zero β€” Learning Loop
Python Β· The β€œAI that learns by doing” architecture

Agent Zero is built around a continuous improvement loop: before solving a problem, it checks memory ("Have I solved this before?"). Once it solves it, it saves the solution for future use. For complex tasks, it delegates to specialized sub-agents for research or code. Over time, it gets more efficient at the tasks you use most β€” and can rewrite its own behavior rules in the middle of a conversation.

You ask a question | v +-----------+ +-----------+ | Agent 0 |---->| Memory | | (Main) |<----| Search | "Have I solved this before?" +-----------+ +-----------+ | +----+----+ | | Sub-Agent Sub-Agent Delegation for (Research) (Code) complex tasks | | +----+----+ | +----v----+ +-----------+ | Solution|---->| Memory | | Found! | | SAVE | "Remember for next time" +---------+ +-----------+ Gets smarter with every interaction
Strength
Learns through use. The "computer as a tool" paradigm lets it solve problems that prebuilt tools don't cover.
Complexity
Less predictable behaviorβ€”the AI may take unexpected paths. Requires more initial supervision.
Best for
Research, exploratory analysis, and open-ended tasks where flexibility matters more than predictability.
File structure β€” separate Python codebase
agent_zero/ β”œβ”€β”€ agent.py β˜… Main loop: question β†’ memory β†’ solve β†’ save β”œβ”€β”€ memory.py Searches for and stores solutions from previous sessions └── context.py Builds system prompt with relevant memories tools/ β”œβ”€β”€ web_search.py Web search for exploratory research β”œβ”€β”€ code_exec.py Sandboxed code execution └── file_ops.py File and filesystem operations workspace/ β”œβ”€β”€ memory.json Saved solutions from previous sessions └── prompts/ Prompt templates by task type Flow: question β†’ search memory β†’ sub-agent β†’ solution β†’ save
CC
ClaudeClaw β€” Local Multi-Agent Swarm + Hive Bus
TypeScript/Node.js Β· The "pocket headquarters" architecture

Instead of the single-agent loop (Telegram→loop→tool→memory), ClaudeClaw runs N specialist agents as independent bots on the SAME machine and DB. They delegate to each other (@agente:), meet in real time (text/voice War Room), and publish every action to a shared event bus (hive_mind table) that serves as both team memory AND visualization—a 3D anatomical brain. Alongside this is an operational containment plan: kill switches with hot reload + default-deny tool policy + exfiltration guard form a runtime security mesh over full-access execution.

YOU (Telegram Β· Dashboard Β· War Room Β· Mission Control) | +----+----+----+----+ delegation @agent: | | | | | <----------------------+ @comms @content @ops @research | bot bot bot bot (each one = its own bot, its own voice) | | | | | +--+--+--------+--+--+--------------------------+ | | v v +------------------+ +------------------+ | HIVE BUS |----->| 3D Brain | | (hive_mind table) | | Three.js/WebGL | | every action = event| | lobes/synapses | +------------------+ +------------------+ | +--+-------------------------------+ | OPERATIONAL CONTAINMENT (runtime)| | Kill switches (hot-reload ~1.5s) | | Tool policy default-deny | | Outbound exfiltration guard | +----------------------------------+
Strength
A team of agents that really talks: delegation, a live War Room, and a visible shared brain. Team memory becomes observability.
Complexity
Many surfaces and processes to maintain. Full-access execution requires the containment mesh (kill switches, default-deny, leak guard) to always be enabled.
Best for
Who wants to orchestrate a team of specialized agents locally, with live meetings and full visibility into what each one did.
File structure β€” ClaudeClaw OS codebase
src/agents/ β”œβ”€β”€ registry.ts β˜… One bot per specialist agent (comms/content/ops/research) β”œβ”€β”€ delegate.ts @agent delegation: between independent bots └── war-room.ts Live room: /standup, /discuss, Gemini Live voice src/hive/ β”œβ”€β”€ hive-mind.ts β˜… Event bus: hive_mind table (all agents write/read) └── brain-3d/ 3D anatomical brain (Three.js + UnrealBloom) src/security/ β”œβ”€β”€ kill-switches.ts .env flags reloaded every ~1.5s (shuts down in <2s) β”œβ”€β”€ tool-policy.ts Default-deny: side effects only by opt-in in agent.yaml └── exfiltration-guard.ts Redacts secrets using regex before sending
HM
Hermes β€” Reflective Loop + Self-Curating Memory + Autonomous Skills
Python Β· The β€œself-improving agent” architecture

Hermes is a perceive→act→reflect→save loop. A single gateway normalizes any channel (CLI, Discord, Slack, WhatsApp, HTTP, cron) into a Message object. The reflect step uses a low-cost model to curate memory (local SQLite FTS5/BM25, in 3 layers) and detect repeated workflows — those patterns become auto-generated skills (SKILL.md in the agentskills.io format) that the agent reuses. Everything is model-agnostic (role-based routing) and proactive via heartbeat/cron. It is the counterpoint to frameworks that statically separate channel/loop/memory: here, the agent improves its own memory and skills through use.

CLI Discord Slack WhatsApp HTTP cron \ | | | | / v v v v v v +------------------------------------------+ | UNIFIED GATEWAY β†’ Message object | +------------------------------------------+ | +------------v------------+ | REFLECTIVE LOOP | | perceive β†’ act | | ↓ | | reflect (cheap model) |----+ detects repeated workflow (β‰₯3x) | ↓ | | | save | v +------------+-------------+ +------------------+ | | generated SKILL.md| +------------v------------+ | (agentskills.io) | | 3-LAYER MEMORY | +------------------+ | SQLite FTS5 / BM25 | reused in act | conversationsΒ·factsΒ·skills| +-------------------------+
Strength
The agent improves itself: it curates memory with a low-cost model and writes its own skills based on usage. One brain, every channel.
Complexity
The reflect step and skill generation add steps and cost. Auto-generated skills require approval to prevent behavior drift.
Best for
An always-on, multi-channel personal assistant that should get more efficient at recurring tasks without you having to program each one.
File structure β€” Hermes codebase
hermes/ β”œβ”€β”€ gateway.py β˜… Normalizes every channel into a Message object β”œβ”€β”€ loop.py β˜… perceive β†’ act β†’ reflect β†’ save └── reflect.py Low-cost model curates memory and detects workflows hermes/memory/ └── store.py SQLite FTS5/BM25 β€” 3 layers (conversationsΒ·factsΒ·skills) hermes/skills/ β”œβ”€β”€ generator.py Writes SKILL.md as a draft based on usage (β‰₯3x) └── <skill>/SKILL.md Portable, self-contained folder (agentskills.io) config.yaml Provider, models by role, toolsets, channels, cron
AI
AIOS β€” Agent-as-OS-Process / LLM Kernel
Python Β· The β€œagent operating system” architecture

AIOS embeds the LLM as the core of a kernel and treats each LLM agent as an operating system PROCESS. Multiple agents coexist, sharing models, memory, and tools; the Scheduler (FIFO/Round-Robin) arbitrates who calls the LLM, the Context Manager takes snapshots and restores them to pause and resume agents, and everything flows through auditable syscalls. The agent communicates with the kernel through the Cerebrum SDK (separate repo), in Local or Remote mode. Frameworks such as LangChain, AutoGen, and CrewAI run ON TOP OF it via an adapter.

APPLICATION Agent A Agent B Agent C (processes) LangChain AutoGen CrewAI run on top | | | | v v v v +------------------------------------------------+ | CEREBRUM SDK (syscall wrappers) | | Agent base Β· @tool Β· hub client Β· Local/Remote | +------------------------------------------------+ | syscalls (LLMCall, Mem R/W, | ToolCall, ContextSwitch) v +------------------------------------------------+ | AIOS KERNEL | | llm_core Β· memory_manager Β· storage_manager | | tool_manager Β· scheduler Β· context_manager | +------------------------------------------------+ | v OS Β· Providers (OpenRouter/Ollama/...) aios-rs/ experimental rewrite of the kernel in Rust
Strength
The only model that scales agents as processesβ€”with multi-agent fairness, preemption, and truly shared resources. Existing frameworks run underneath via an adapter.
Complexity
More resource-intensive and conceptually demanding (thinking in terms of syscalls and scheduling); overkill for a single agent/personal assistantβ€”it shines in concurrent multi-agent setups.
Best for
Run multiple concurrent agents at scale, conduct long-running research with checkpoints, and share infrastructure where fairness and isolation between agents matter.
File structure β€” kernel + SDK (repos mirroring Linux Γ— glibc)
aios/kernel/ β”œβ”€β”€ llm_core.py β˜… The LLM embedded as the kernel core β”œβ”€β”€ scheduler.py β˜… Schedules process agents (FIFO / Round-Robin) β”œβ”€β”€ context_manager.py Agent snapshot / restore / migrate β”œβ”€β”€ memory_manager.py Volatile RAM per agent (lost on restart) β”œβ”€β”€ storage_manager.py Durable disk, shareable between agents └── tool_manager.py Auditable ToolCall via syscall aios/config/config.yaml scripts/run_terminal.py Β· run_web.py Cerebrum/ SDK: Base agent Β· syscall wrappers Β· @tool Β· hub aios-rs/ Experimental rewrite of the kernel in Rust