需要的東西
- Claude Code CLI — 需要 Max Plan 或 Teams Plan 才能使用
- Discord Bot — 在 Discord Developer Portal 建立
- Bun runtime — Discord Plugin 的執行環境
- Discord MCP Plugin — Claude Code 的 Discord 橋接插件
Discord Bot 建立步驟
- 前往 Discord Developer Portal → 點擊 New Application
- 進入 Bot 頁面 → 設定 Bot 的使用者名稱
- 啟用 Message Content Intent
⚠ 非常重要
不開啟 Message Content Intent,Bot 將無法讀取訊息內容,所有功能都會失效。
- 點擊 Reset Token → 複製 Token 並妥善保存(只會顯示一次)
- 前往 OAuth2 → URL Generator
Scope 勾選:bot
Bot Permissions 勾選:
View Channels、Send Messages、Read Message History、Attach Files、Add Reactions
- 複製產生的 URL,用瀏覽器開啟,把 Bot 加入你的伺服器
安裝 Bun
curl -fsSL https://bun.sh/install | bash
坑 #1
⚠ --channels 參數不加 → 即時推送完全失效
症狀:Bot 在線但不會回應 Discord 訊息,完全沒反應。
根因:沒有 --channels plugin:discord:discord 參數,Claude Code 不會啟動 Discord channel listener。
解法:確保每次啟動都帶上參數,建議設 alias。
坑 #2
⚠ 兩個 Bot 進程互搶 Token → 反覆斷線
症狀:Bot 不斷上線下線,訊息時有時無。
根因:同一個 Bot Token 被兩個 Claude Code session 同時使用,Discord 會讓後連的踢掉前面的,反覆循環。
解法:確保同一時間只有一個 session 使用 --channels 啟動。
坑 #3
⚠ Plugin 被 disable(卸載殘留設定)
症狀:安裝過 Plugin 但指令無效、找不到 Discord 相關 skill。
根因:之前卸載過 Plugin,殘留的 disable 設定覆蓋了重新安裝。
解法:檢查 ~/.claude/settings.json 裡的 plugin 設定,移除 disable 標記後重啟。
坑 #4
⚠ Allowlist 間歇性失效(蓋螢幕/休眠)
症狀:原本能正常互動的頻道,蓋上螢幕或休眠一段時間後不再回應。
根因:macOS 休眠後網路連線中斷,Bot 重連時 session 狀態可能異常。
解法:設定防休眠措施(見第四節),或發現失效後重啟 session。
坑 #5
⚠ 斷線後可能需要重啟 Session
症狀:長時間斷線後,Bot 重連但不處理訊息。
根因:Claude Code session 內部狀態與 Discord 連線狀態不同步。
解法:直接結束 session 重新啟動 claude --channels plugin:discord:discord。
防休眠腳本
防止 macOS 進入休眠狀態導致 Discord 斷線:
# 防止系統休眠(pmset)
sudo pmset -a disablesleep 1
# 或用 caffeinate 保持喚醒(推薦)
caffeinate -dims &
排程觸發(LaunchAgent)
用 macOS LaunchAgent 定時發送 Discord 訊息,確保連線維持:
# ~/Library/LaunchAgents/com.claude.discord.keepalive.plist
# 設定定時執行腳本,透過 Discord API 發送心跳訊息
同一 Session vs 新 Session 比較
| 面向 | 同一 Session(不重啟) | 新 Session(重啟) |
| 上下文 | 保留完整對話歷史 | 上下文歸零,需重新建立 |
| 記憶體 | 長時間運行可能吃越來越多 | 全新乾淨狀態 |
| 連線穩定度 | 越久越容易出問題 | 重連後通常穩定 |
| 適合場景 | 持續性任務、需要上下文 | 日常重新開始、修復斷線 |
| 建議 | 每天至少重啟一次 | ✓ 推薦每日早上重啟 |
啟動指令
claude --channels plugin:discord:discord
建議設定 alias 簡化操作:
alias claude-dc='claude --channels plugin:discord:discord'
日常流程
- 啟動
claude-dc(或完整指令)
- 在 Discord 傳訊息給 Bot 或在指定頻道 @Bot
- Claude 會自動回覆訊息或用 emoji react
- 長任務完成後 Claude 會主動發新訊息通知(push notification)
進度回報規則
📋 建議的回報時機
- 任務開始時 — 簡述要做什麼、預計步驟
- 完成一個階段 — 例如「已完成分析,開始寫程式」
- 遇到錯誤時 — 說明錯誤內容與修復嘗試
- 任務完成 — 回報結果與產出
- 長時間處理 — 超過 3 分鐘主動發狀態更新