๐ŸŽ“Iris Courses
โ† Hermes + NanoClaw Integration
Day 1 of 7

Architecture Overview

How Hermes and NanoClaw Relate

Hermes is the infrastructure that connects AI agents to real messaging channels โ€” WhatsApp, Telegram, Discord, Slack. It handles the messy reality of multi-platform messaging: receiving messages, parsing them, storing conversation history in SQLite, routing to the right agent context, and sending responses back through the originating channel. Hermes is the nervous system. Without it, your agent lives in a terminal window that only you can see. NanoClaw is the task scheduler and automation layer that runs on top of Hermes. Where Hermes handles real-time message routing, NanoClaw handles time-based and conditional execution โ€” 'do this at 9am every weekday,' 'do this when a new message arrives in this group,' 'do this when this script returns a positive result.' NanoClaw is what turns a responsive chatbot into a proactive automation system. The practical distinction: without NanoClaw, your Hermes-powered agent only acts when a human sends a message. With NanoClaw, your agent can initiate actions, run background tasks, and proactively notify you โ€” without a human being in the loop at all. This is the core of what makes the combination powerful. Think of it in layers. Channel layer (WhatsApp, Telegram, etc.) sends a message. Hermes receives it, stores it, determines which group config applies, evaluates the trigger word, and wakes the agent. The agent runs with access to conversation history and tools. NanoClaw sits alongside this, waking the agent on schedule or on condition โ€” independent of any incoming message. The agent in NanoClaw tasks has the same tools available: send_message, read files, run bash commands, call APIs. The full power of the agent, on a timer.

The Group Context Model

Every group registered in Hermes has its own context: a dedicated folder with conversation history, memory files, and optionally a CLAUDE.md with group-specific instructions. When an agent runs in a group's context โ€” whether triggered by a message or by a NanoClaw scheduled task โ€” it has access to that group's full history and memory. This context model is what makes NanoClaw tasks genuinely intelligent rather than dumb cron jobs. A cron job executes a script. A NanoClaw task wakes an AI agent that has memory of every previous conversation in that group. If you scheduled a daily briefing for your work WhatsApp group, the agent delivering that briefing knows what was discussed yesterday, what tasks are outstanding, and what questions haven't been resolved. That's not a cron job โ€” that's a persistent assistant. The isolated vs. group context modes reflect this design. Group context mode means the scheduled task runs with access to the full conversation history of the group. Isolated mode means it runs in a fresh session โ€” useful for tasks that don't need or shouldn't have that history (like an independent market price check that you don't want polluted by unrelated conversation context). Practically, this means: tasks that involve following up on something that was discussed in the group should run in group context mode. Tasks that are self-contained data gathering or independent computation should run in isolated mode with all required context included in the prompt itself. For your own personal productivity setup, this architecture gives you something most people don't have: a persistent AI assistant that's available across multiple messaging platforms, maintains memory across sessions, can initiate proactive actions on schedule, and runs entirely on infrastructure you control โ€” not a commercial SaaS with their data policies and uptime constraints.

โšก Today's Action

Map the 3 most time-consuming manual tasks in your day that involve either checking something or sending a message. For each, note whether it's time-based (can be scheduled) or condition-based (needs a script check). These are your first NanoClaw automation candidates.

๐Ÿ’ก Pro Tip

The NanoClaw script field is your secret weapon for efficiency โ€” it runs a lightweight bash check before waking the full agent. Use it for any task where you can programmatically determine whether the agent is actually needed, to keep API costs near zero on quiet days.