Files
Atomizer/docs/hq/07-DISCORD-MIGRATION.md

106 lines
4.3 KiB
Markdown
Raw Normal View History

# 🔄 Discord Migration — Atomizer-HQ
> Migration from Slack to Discord for multi-agent deployment. **COMPLETED 2026-02-14.**
## Why Discord?
- **One bot per agent** — each agent appears as its own Discord user with unique name, avatar, presence
- **Better role/permission system** — fine-grained channel access per bot
- **Free** — no per-seat pricing like Slack
- **Richer interaction** — threads, reactions, embeds, slash commands per bot
- **Future potential** — could invite external collaborators
## Architecture Evolution
| Aspect | Slack Phase 0 | Bridge Attempt (abandoned) | Multi-Instance Cluster (current) |
|--------|--------------|---------------------------|----------------------------------|
| Infrastructure | Single gateway, port 18790 | Single gateway + discord-bridge.js | 8 independent OpenClaw instances |
| Bot identity | Single bot, display name override | 8 tokens via bridge middleware | 8 native Discord bots |
| Discord features | N/A | No streaming, no threads, no reactions | Full native support |
| Fault isolation | All agents share one process | Bridge = single point of failure | Each agent independent |
| Ports | 18790 | 18790 | 1880018828 (spaced by 4) |
## Discord Server: Atomizer-HQ
**Guild ID:** 1471858733452890132
**Antoine's Discord ID:** 719982779793932419
### Server Structure
```
Atomizer-HQ
├── 📋 COMMAND
│ ├── #ceo-office → Manager (CEO ↔ Manager private)
│ ├── #announcements → Manager (read-only for others)
│ └── #daily-standup → All agents report
├── 🔧 ENGINEERING
│ ├── #technical → Tech Lead + Optimizer
│ ├── #code-review → Tech Lead
│ ├── #fea-analysis → Tech Lead + Optimizer
│ └── #nx-cad → NX Expert + Tech Lead
├── 📊 OPERATIONS
│ ├── #task-board → Secretary
│ ├── #meeting-notes → Secretary
│ └── #reports → (future: Reporter)
├── 🔬 RESEARCH
│ ├── #literature → Webster
│ └── #materials-data → Webster + Tech Lead
├── 🏗️ PROJECTS
│ └── #active-projects → Manager + relevant agents
├── 📚 KNOWLEDGE
│ ├── #knowledge-base → (future: KB agent)
│ └── #lessons-learned → All
└── 🤖 SYSTEM
├── #agent-logs → System/debug
├── #inter-agent → Agent coordination
└── #it-ops → (future: IT agent)
```
### Roles
| Role | Agents | Permissions |
|------|--------|-------------|
| CEO | Antoine | Full admin |
| Executive | Manager, Tech Lead, Auditor | All channels, manage messages |
| Professional | Optimizer, Study Builder, NX Expert | Engineering + assigned channels |
| Support | Secretary | Operations + assigned channels |
| Research | Webster | Research channels + read engineering |
## Model Tiers
| Tier | Model | Agents |
|------|-------|--------|
| Executive | Claude Opus 4.6 | Manager, Tech Lead, Auditor |
| Professional | Claude Sonnet 4.5 | Optimizer, Study Builder, NX Expert |
| Support | Claude Haiku 4 | Secretary |
| Research | Gemini 2.5 Pro | Webster |
## Setup Checklist — COMPLETE ✅
- [x] Discord server created
- [x] 8 Discord bot applications created
- [x] Bot tokens stored securely (`~/atomizer/config/.discord-tokens.env`)
- [x] Categories & channels set up
- [x] Roles & permissions configured
- [x] All 8 bots invited to server
- [x] OpenClaw configs written (one per instance)
- [x] Systemd template service created
- [x] Cluster management script (`cluster.sh`)
- [x] All 8 agents running and responding on Discord
## What Was Tried and Abandoned
### Discord Bridge (discord-bridge.js) — 2026-02-14 AM
A Node.js middleware using `discord.js` that routed messages between Discord and a single OpenClaw gateway. **Abandoned** because:
- No streaming (waited for full LLM response)
- Polled session `.jsonl` files on disk (fragile)
- Single listener pattern (Manager bot failure = total outage)
- Lost Discord features (threads, reactions, attachments)
The bridge was replaced same day with the multi-instance cluster approach.
---
*Created: 2026-02-13 by Mario | Completed: 2026-02-14*