106 lines
4.3 KiB
Markdown
106 lines
4.3 KiB
Markdown
|
|
|
|||
|
|
# 🔄 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 | 18800–18828 (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*
|