你有沒有想過,讓 5 個 Claude Code 各司其職,在 Discord 頻道裡像真正的團隊一樣協作?
一個負責寫程式碼,一個負責 code review,一個顧系統健康,一個管流程優化,一個做決策——全部透過 Discord 頻道溝通,自動 @ 對方交接任務。
這篇你會學到
- 怎麼建立多個 Discord Bot 並各自連接不同的 Claude Code session
- 用
DISCORD_STATE_DIR讓同一台機器跑多個 bot 不互相干擾 - 用
--channels和--append-system-prompt讓每個 bot 知道自己的角色 - 改一行程式碼讓 bot 之間能互相對話
- 實際效果和限制
你需要什麼
- Claude Max 或 API key(5 個 session 同時跑,額度消耗不小)
- Claude Code 已安裝(v2.1+)
- Discord 帳號 + 能建 Bot 的權限
- 5 個終端機(Replit 多 shell、tmux、或多個 terminal tab)
完整流程
第一步:建立 Discord Bot
每個 Claude Code session 需要一個獨立的 Discord Bot。到 Discord Developer Portal 建立 5 個 Application。每個 Application:
- 左邊選「Bot」,點「Reset Token」拿到 token(只顯示一次)
- 開啟 Message Content Intent(Privileged Gateway Intents 下面)
- OAuth2 → URL Generator,勾
botscope - Bot Permissions 勾:View Channels、Send Messages、Read Message History、Add Reactions
- 用連結邀請 bot 到 Discord server
⚠️ Message Content Intent 最容易漏。 沒開的話 bot 看得到有訊息但讀不到內容。
第二步:安裝 Plugin 並建立多 Bot 目錄
在 Claude Code 裡:/plugin install discord@claude-plugins-official
Discord plugin 用 DISCORD_STATE_DIR 決定讀哪個目錄的設定。為每個 bot 建獨立目錄:
mkdir -p ~/.claude/channels/discord-bot-{1,2,3,4,5}
每個目錄放 .env(token):
echo 'DISCORD_BOT_TOKEN=你的token' > ~/.claude/channels/discord-bot-1/.env
💡 把所有 bot 的 user ID 加到彼此的 access.json 的 allowFrom 裡,這樣 bot 之間的訊息才不會被 access control 擋掉。
第三步:建立啟動腳本
兩個關鍵 flag:--channels 啟用監聽,--append-system-prompt 注入角色。
#!/bin/bash
export DISCORD_STATE_DIR=~/.claude/channels/discord-bot-1
exec claude --channels plugin:discord@claude-plugins-official \
--append-system-prompt "你是開發者,負責寫程式碼和修 bug。"
每個 bot 建一個類似的腳本,改 DISCORD_STATE_DIR 和角色。記得 chmod +x。
✅ 啟動後會看到 Listening for channel messages from: plugin:discord@claude-plugins-official。
第四步:讓 Bot 能互相對話
Discord plugin 預設過濾所有 bot 訊息。修改 plugin 的 server.ts:
找到 if (msg.author.bot) return 改成 if (msg.author.id === client.user?.id) return
這樣 bot 之間可以對話,但不會回覆自己的訊息造成迴圈。
⚠️ 這個修改在 plugin 更新後會被覆蓋,更新後記得重新改。
第五步:設定協作規則
在 --append-system-prompt 加入:
- 沒人 @ 時:可以回覆
- 有人 @ 特定 bot:只有被 @ 的回覆
- bot 之間對話一律用 @ 指定對象
我踩過的坑
⚠️ 用 --mcp-config 載入的 Discord server 不被當作 channel。 plugin 連上了 Discord 但 Claude Code 不推送訊息。只有 --channels flag 才有 channel 行為。
⚠️ 所有 bot 共用同一個 codebase。 兩個 bot 同時改同一個檔案會互相覆蓋,透過角色分工避免。
做不到什麼
❌ 不是真正的 multi-agent。 每個 bot 是獨立 session,透過 Discord 文字溝通,看不到彼此的工具呼叫和 diff。
❌ Discord 訊息有長度限制。 複雜程式碼變更無法完整傳遞。
實際效果
設定完成後,你可以 @ 開發 bot 寫新功能,開發完自動 @ 審查 bot 做 code review,審查發現問題自動 @ 開發 bot 修正。你只要在手機看 Discord 就能掌握進度。
是「5 個同事在群組聊天協作」的感覺,好處是每個 bot 有完整的 Claude Code 能力,壞處是溝通效率不如原生 multi-agent。
工具設定
- Claude Code — Claude Max 或 API key
- Discord Developer Portal — 建 Bot
- Discord Plugin:
/plugin install discord@claude-plugins-official - Channels 文件