Catalogue agents
The catalogue is Wactorz's library of ready-made agents. Instead of writing code,
you spawn a pre-built recipe by name and it starts running under supervision. The
CatalogAgent loads every recipe at startup and tells the main agent what's available,
so a plain-language request can auto-spawn the right one — or you can spawn it yourself.
Each catalogue agent has its own page in this section (see the sidebar).
Spawning
@catalog list # show every available recipe
@catalog info gmail-agent # show one recipe's schema
@catalog spawn gmail-agent # start it
Or just ask the main agent in natural language ("check my unread email", "what's the weather in Athens?") — it discovers the catalogue by capability and spawns as needed. A spawned agent is saved to the spawn registry and restored automatically on restart.
Available agents
| Agent | What it does | Setup |
|---|---|---|
| Google Calendar | List, create, and delete calendar events | OAuth |
| Gmail | Search/read mail, labels, drafts (never sends) | OAuth |
| Weather | Current conditions, forecast, history (Open-Meteo) | none |
| Smart Energy | Smart-plug monitoring, kWh/cost, guarded auto-off | Home Assistant |
| Reachy Mini | Controls a Reachy Mini robot: motion, gaze, speech, gestures | Reachy Mini |
| Anomaly Detector | Learns normal patterns, flags anomalies in real time | MQTT data |
| Device Manuals | Finds a device manual and answers questions about it | none |
| Doc → PPTX | Converts a PDF/TXT into a PowerPoint deck | none |
| Time-Series Collector | Records MQTT data to SQLite for history/ML | MQTT data |
Native agents (Weather, Calendar, Gmail) are Python Actor subclasses spawned
directly. Dynamic agents ship as recipe code that's spawned as a DynamicAgent; any
declared dependencies are pip-installed on first spawn.
Adding a recipe
Create wactorz/catalogue_agents/my_agent.py exporting AGENT_CODE = r'''…''', then add
an entry to _build_catalog() in wactorz/agents/catalog_agent.py. It becomes available
on the next restart. See the Agents reference for the DynamicAgent
API and code-safety rules.