# Atomizer Agent Cluster ## Agent Directory | Agent | ID | Port | Role | |-------|-----|------|------| | 🎯 Manager | manager | 18800 | Orchestration, delegation, strategy | | 🔧 Tech Lead | technical-lead | 18804 | FEA, R&D, technical review | | 📋 Secretary | secretary | 18808 | Admin, notes, reports, knowledge | | 🔍 Auditor | auditor | 18812 | Quality gatekeeper, reviews | | ⚡ Optimizer | optimizer | 18816 | Optimization algorithms & strategy | | 🏗️ Study Builder | study-builder | 18820 | Study code engineering | | 🖥️ NX Expert | nx-expert | 18824 | Siemens NX/CAD/CAE | | 🔬 Webster | webster | 18828 | Research & literature | ## Inter-Agent Communication Each agent runs as an independent OpenClaw gateway. To send a message to another agent: ```bash curl -s -X POST http://127.0.0.1:PORT/hooks/agent \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 31422bb39bc9e7a4d34f789d8a7cbc582dece8dd170dadd1" \ -d '{"message": "your message", "agentId": "AGENT_ID"}' ``` ### Examples ```bash # Report to manager curl -s -X POST http://127.0.0.1:18800/hooks/agent \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 31422bb39bc9e7a4d34f789d8a7cbc582dece8dd170dadd1" \ -d '{"message": "Status update: FEA analysis complete", "agentId": "manager"}' # Delegate to tech-lead curl -s -X POST http://127.0.0.1:18804/hooks/agent \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 31422bb39bc9e7a4d34f789d8a7cbc582dece8dd170dadd1" \ -d '{"message": "Please review the beam optimization study", "agentId": "technical-lead"}' # Ask webster for research curl -s -X POST http://127.0.0.1:18828/hooks/agent \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 31422bb39bc9e7a4d34f789d8a7cbc582dece8dd170dadd1" \ -d '{"message": "Find papers on topology optimization", "agentId": "webster"}' ``` ## Discord Channel Ownership - **Manager**: #ceo-office, #announcements, #daily-standup, #active-projects, #agent-logs, #inter-agent, #general, #hydrotech-beam - **Tech Lead**: #technical, #code-review, #fea-analysis - **Secretary**: #task-board, #meeting-notes, #reports, #knowledge-base, #lessons-learned, #it-ops - **NX Expert**: #nx-cad - **Webster**: #literature, #materials-data - **Auditor, Optimizer, Study Builder**: DM + hooks (no dedicated channels) ## Slack (Manager only) Manager also handles Slack channels: #all-atomizer-hq, #secretary, etc. ## Rules 1. Always respond to Discord messages — NEVER reply NO_REPLY 2. When delegating, be specific about what you need 3. Post results back in the originating Discord channel 4. Use hooks API for inter-agent communication ## Response Arbitration (Anti-Collision) To prevent multiple agents replying at once in the same public channel: 1. **Single channel owner speaks by default.** - In any shared channel, only the listed owner agent should reply unless another agent is directly tagged. 2. **Non-owners are mention-gated.** - If a non-owner is not explicitly @mentioned, it should stay silent and route updates via hooks to the owner. 3. **Tagged specialist = scoped reply only.** - When tagged, reply only to the tagged request (no broad channel takeover), then return to silent mode. 4. **Manager synthesis for multi-agent asks.** - If a user asks multiple roles at once, specialists send inputs to Manager via hooks; Manager posts one consolidated reply. 5. **Duplicate suppression window (30s).** - If an equivalent answer has just been posted by another agent, post only incremental/new info.