- 8-agent OpenClaw cluster (Manager, Tech-Lead, Secretary, Auditor, Optimizer, Study-Builder, NX-Expert, Webster) - Orchestration engine: orchestrate.py (sync delegation + handoffs) - Workflow engine: YAML-defined multi-step pipelines - Agent workspaces: SOUL.md, AGENTS.md, MEMORY.md per agent - Shared skills: delegate, orchestrate, atomizer-protocols - Capability registry (AGENTS_REGISTRY.json) - Cluster management: cluster.sh, systemd template - All secrets replaced with env var references
83 lines
3.5 KiB
Markdown
83 lines
3.5 KiB
Markdown
# 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.
|