- 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
202 lines
8.7 KiB
JSON
202 lines
8.7 KiB
JSON
{
|
|
// Atomizer Engineering Co. — OpenClaw Discord Config
|
|
// 8 agents, each with own Discord bot account
|
|
// Guild: 1471858733452890132 (Atomizer-HQ)
|
|
// Created: 2026-02-13
|
|
|
|
gateway: {
|
|
port: 18789
|
|
},
|
|
|
|
agents: {
|
|
defaults: {
|
|
userTimezone: "America/Toronto",
|
|
skipBootstrap: true,
|
|
bootstrapMaxChars: 25000
|
|
},
|
|
list: [
|
|
{
|
|
id: "manager",
|
|
default: true,
|
|
name: "Manager",
|
|
workspace: "/home/papa/atomizer/workspaces/manager",
|
|
identity: { name: "Atomizer Manager", emoji: "🎯" },
|
|
model: "anthropic/claude-opus-4-6",
|
|
groupChat: { mentionPatterns: ["@manager", "@Manager", "🎯"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "tech-lead",
|
|
name: "Technical Lead",
|
|
workspace: "/home/papa/atomizer/workspaces/technical-lead",
|
|
identity: { name: "Atomizer Tech Lead", emoji: "🔧" },
|
|
model: "anthropic/claude-opus-4-6",
|
|
groupChat: { mentionPatterns: ["@tech-lead", "@technical-lead", "🔧"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "secretary",
|
|
name: "Secretary",
|
|
workspace: "/home/papa/atomizer/workspaces/secretary",
|
|
identity: { name: "Atomizer Secretary", emoji: "📋" },
|
|
model: "anthropic/claude-haiku-4",
|
|
groupChat: { mentionPatterns: ["@secretary", "@Secretary", "📋"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "auditor",
|
|
name: "Auditor",
|
|
workspace: "/home/papa/atomizer/workspaces/auditor",
|
|
identity: { name: "Atomizer Auditor", emoji: "🔍" },
|
|
model: "anthropic/claude-opus-4-6",
|
|
groupChat: { mentionPatterns: ["@auditor", "@Auditor", "🔍"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "optimizer",
|
|
name: "Optimizer",
|
|
workspace: "/home/papa/atomizer/workspaces/optimizer",
|
|
identity: { name: "Atomizer Optimizer", emoji: "⚡" },
|
|
model: "anthropic/claude-sonnet-4-5",
|
|
groupChat: { mentionPatterns: ["@optimizer", "@Optimizer", "⚡"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "study-builder",
|
|
name: "Study Builder",
|
|
workspace: "/home/papa/atomizer/workspaces/study-builder",
|
|
identity: { name: "Atomizer Study Builder", emoji: "🏗️" },
|
|
model: "anthropic/claude-sonnet-4-5",
|
|
groupChat: { mentionPatterns: ["@study-builder", "@Study Builder", "🏗️"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "nx-expert",
|
|
name: "NX Expert",
|
|
workspace: "/home/papa/atomizer/workspaces/nx-expert",
|
|
identity: { name: "Atomizer NX Expert", emoji: "🖥️" },
|
|
model: "anthropic/claude-sonnet-4-5",
|
|
groupChat: { mentionPatterns: ["@nx-expert", "@NX Expert", "🖥️"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
},
|
|
{
|
|
id: "webster",
|
|
name: "Webster",
|
|
workspace: "/home/papa/atomizer/workspaces/webster",
|
|
identity: { name: "Atomizer Webster", emoji: "🔬" },
|
|
model: "google/gemini-2.5-pro",
|
|
groupChat: { mentionPatterns: ["@webster", "@Webster", "🔬"] },
|
|
subagents: { allowAgents: ["*"] }
|
|
}
|
|
]
|
|
},
|
|
|
|
// Routing: each channel binds to an agent + accountId (so the right bot responds)
|
|
bindings: [
|
|
// COMMAND → Manager (via manager account)
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager", peer: { kind: "channel", id: "1471880217915162694" } } }, // #ceo-office
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager", peer: { kind: "channel", id: "1471880220398325854" } } }, // #announcements
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager", peer: { kind: "channel", id: "1471880222977818785" } } }, // #daily-standup
|
|
|
|
// ENGINEERING → Tech Lead / NX Expert
|
|
{ agentId: "tech-lead", match: { channel: "discord", accountId: "tech-lead", peer: { kind: "channel", id: "1471880225175638242" } } }, // #technical
|
|
{ agentId: "tech-lead", match: { channel: "discord", accountId: "tech-lead", peer: { kind: "channel", id: "1471880228203790542" } } }, // #code-review
|
|
{ agentId: "tech-lead", match: { channel: "discord", accountId: "tech-lead", peer: { kind: "channel", id: "1471880232263745628" } } }, // #fea-analysis
|
|
{ agentId: "nx-expert", match: { channel: "discord", accountId: "nx-expert", peer: { kind: "channel", id: "1471880236302991422" } } }, // #nx-cad
|
|
|
|
// OPERATIONS → Secretary
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary", peer: { kind: "channel", id: "1471880238953664535" } } }, // #task-board
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary", peer: { kind: "channel", id: "1471880242011570309" } } }, // #meeting-notes
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary", peer: { kind: "channel", id: "1471880244750454824" } } }, // #reports
|
|
|
|
// RESEARCH → Webster
|
|
{ agentId: "webster", match: { channel: "discord", accountId: "webster", peer: { kind: "channel", id: "1471880247581343764" } } }, // #literature
|
|
{ agentId: "webster", match: { channel: "discord", accountId: "webster", peer: { kind: "channel", id: "1471880250668617971" } } }, // #materials-data
|
|
|
|
// PROJECTS → Manager
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager", peer: { kind: "channel", id: "1471880253445247036" } } }, // #active-projects
|
|
|
|
// KNOWLEDGE → Secretary
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary", peer: { kind: "channel", id: "1471880256129597573" } } }, // #knowledge-base
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary", peer: { kind: "channel", id: "1471880259333914787" } } }, // #lessons-learned
|
|
|
|
// SYSTEM → Manager / Secretary
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager", peer: { kind: "channel", id: "1471880262295093403" } } }, // #agent-logs
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager", peer: { kind: "channel", id: "1471880265688289320" } } }, // #inter-agent
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary", peer: { kind: "channel", id: "1471880268469108748" } } }, // #it-ops
|
|
|
|
// Account-level defaults (any message via this bot → this agent)
|
|
{ agentId: "manager", match: { channel: "discord", accountId: "manager" } },
|
|
{ agentId: "tech-lead", match: { channel: "discord", accountId: "tech-lead" } },
|
|
{ agentId: "secretary", match: { channel: "discord", accountId: "secretary" } },
|
|
{ agentId: "auditor", match: { channel: "discord", accountId: "auditor" } },
|
|
{ agentId: "optimizer", match: { channel: "discord", accountId: "optimizer" } },
|
|
{ agentId: "study-builder", match: { channel: "discord", accountId: "study-builder" } },
|
|
{ agentId: "nx-expert", match: { channel: "discord", accountId: "nx-expert" } },
|
|
{ agentId: "webster", match: { channel: "discord", accountId: "webster" } },
|
|
|
|
// Catch-all fallback → Manager
|
|
{ agentId: "manager", match: { channel: "discord" } }
|
|
],
|
|
|
|
channels: {
|
|
discord: {
|
|
enabled: true,
|
|
accounts: {
|
|
manager: { token: "${DISCORD_TOKEN_MANAGER}" },
|
|
"tech-lead": { token: "${DISCORD_TOKEN_TECH_LEAD}" },
|
|
secretary: { token: "${DISCORD_TOKEN_SECRETARY}" },
|
|
auditor: { token: "${DISCORD_TOKEN_AUDITOR}" },
|
|
optimizer: { token: "${DISCORD_TOKEN_OPTIMIZER}" },
|
|
"study-builder": { token: "${DISCORD_TOKEN_STUDY_BUILDER}" },
|
|
"nx-expert": { token: "${DISCORD_TOKEN_NX_EXPERT}" },
|
|
webster: { token: "${DISCORD_TOKEN_WEBSTER}" }
|
|
},
|
|
groupPolicy: "allowlist",
|
|
guilds: {
|
|
"1471858733452890132": {
|
|
requireMention: false,
|
|
users: ["719982779793932419"]
|
|
}
|
|
},
|
|
dm: {
|
|
enabled: true,
|
|
policy: "allowlist",
|
|
allowFrom: ["719982779793932419"]
|
|
},
|
|
allowBots: true,
|
|
reactionNotifications: "all",
|
|
historyLimit: 50,
|
|
actions: {
|
|
reactions: true,
|
|
messages: true,
|
|
pins: true,
|
|
memberInfo: true,
|
|
emojiList: true,
|
|
threads: true
|
|
}
|
|
}
|
|
},
|
|
|
|
tools: {
|
|
agentToAgent: {
|
|
enabled: true,
|
|
allow: ["manager", "tech-lead", "secretary", "auditor", "optimizer", "study-builder", "nx-expert", "webster"]
|
|
}
|
|
},
|
|
|
|
messages: {
|
|
responsePrefix: "",
|
|
ackReaction: "",
|
|
queue: { mode: "collect", debounceMs: 2000, cap: 20 },
|
|
inbound: { debounceMs: 3000 }
|
|
},
|
|
|
|
session: { compaction: { enabled: true } },
|
|
|
|
logging: {
|
|
level: "info",
|
|
file: "/tmp/openclaw/atomizer.log"
|
|
}
|
|
}
|