這解決了什麼問題?
用 Claude Code 做事,你得坐在 terminal 前面。一旦離開,session 就斷了——CI 跑完你不知道,有人發 PR 你得自己去看,沒有辦法在外面叫 Claude 幫你繼續工作。
OpenClaw 用 200,000 個 GitHub stars 證明了一件事:開發者強烈需要「離開電腦也能跟 AI agent 互動」的能力。Anthropic 的回應是把這個能力直接內建進 Claude Code,並且在安全架構上做得更嚴謹。
核心概念:Push 不是 Pull
這是理解 Channels 最重要的一個概念。
一般的 MCP server 是被動的——等 Claude 呼叫它才動作。Claude 說「用這個工具做 X」,server 才執行。沒有呼叫,什麼都不發生。
Channel 是反過來的。它宣告 claude/channel capability,主動把外部事件推進正在執行的 Claude Code session。Telegram 訊息進來、CI 失敗、監控告警觸發——這些事件直接進入 Claude 的 context,Claude 用完整的專案知識處理後回覆。
你在不在 terminal 旁邊,不再重要。
訊息流:從手機到 terminal 再回來
關鍵是:plugin 主動 poll Bot API,不是讓外部系統來連你的電腦。你的機器不需要開任何 inbound port。
兩種模式
📥 One-way(單向接收)
外部事件推入 Claude 的 context,但不需要回覆。適合通知和監控場景。
💬 Two-way(雙向對話)
Claude 讀訊息、執行工作、透過同一個平台回覆。Telegram 和 Discord 都是雙向。
安全設計
不開 inbound port
Plugin 在本機 poll Bot API,流量方向是「外出」而非「進入」。你的電腦不暴露在公開網路上。Webhook 型 channel(CI、監控)只監聽 localhost,透過 internal tunnel,不碰公開 internet。
Allowlist Plugin 系統
Preview 期間只允許 Anthropic 核准的 plugin。不能隨便接第三方 channel。
Pairing-code 認證
Bot 綁定你的特定 user ID。就算別人在同一個 Discord server 裡,他們的訊息不會被 Claude 接受。防止 server 成員冒充你發指令。
Prompt Injection 威脅建模
Anthropic 在官方文件中明確說明 prompt injection 風險——有人可能在你轉發的訊息、PR comment、issue 裡夾帶惡意指令。這是已知風險,需要用戶自己注意來源可信度。
需求與設定
| 項目 | 需求 |
|---|---|
| Claude Code 版本 | v2.1.80 以上 |
| 帳號 | claude.ai 登入(不支援 API key) |
| Runtime | Bun(JavaScript runtime) |
| 個人用戶 | 直接可用 |
| Teams / Enterprise | 需要管理員明確啟用 |
Telegram 設定流程約 5 分鐘:建立 Bot(BotFather)→ 取得 token → 安裝 channel plugin → pairing code 配對。
跟 Claude Dispatch 的差異
📱 Claude Dispatch
- Anthropic 自己的 app
- 手機的 Claude app 控制桌面
- Anthropic 生態內的體驗
- 持續上下文跨裝置
💬 Claude Code Channels
- 接進你已在用的工具
- Telegram、Discord、自建 channel
- 開放給開發者自行整合
- 也能接 CI/監控等非人類事件
兩者可以並存。Dispatch 是「Anthropic 的使用體驗」,Channels 是「開放的整合介面」。如果你的團隊已經在 Discord 上協作,Channels 讓你不需要換 app,直接在現有工作流裡呼叫 Claude。
跟 OpenClaw 的關係
OpenClaw 用 200K stars 驗證了「開發者想從手機控制本地 AI agent」這個需求。Channels 是 Anthropic 的第一方回應,差別在安全設計:
- OpenClaw:較寬鬆的安全設定,適合個人快速上手
- Channels:不開 port、allowlist、pairing-code,設計上能通過企業安全審查
這不是「哪個更好」,而是不同受眾的選擇——個人開發者可能偏好 OpenClaw 的彈性,企業環境會需要 Channels 的安全架構。
現在能做什麼?
幾個實際場景:
- 出門在外,傳 Telegram 叫 Claude 修一個 bug,回來看結果
- CI 跑失敗 → 自動推進 Claude session → Claude 分析並開始修復
- Datadog 告警 → Claude 查 log 並回報摘要
- Team Discord 裡,成員發訊息請 Claude 生成某個功能的測試
目前是 research preview,API 和行為可能隨時更動。正式版功能和穩定性會更完整。
使用限制與注意事項
CLI 限定,不支援 Claude Desktop
Channels 只在 Claude Code CLI 中運作,使用 claude --channels 旗標啟動。Claude Code Desktop 目前不支援。也不需要 GitHub 帳號,只需要 claude.ai 登入。
Session 必須保持開啟
Claude Code session 關掉,channel 就斷了。在 session 關閉期間送來的訊息不會被接收。若要持續運作,建議用 tmux 或 screen 讓 session 在背景保持存活。
多個 Session 需要各自的 Bot
如果同時跑多個 Claude Code session,每個 session 需要獨立的 Telegram Bot token,並設定不同的 TELEGRAM_STATE_DIR 環境變數。一個 bot token 只能對應一個 session;多個 session 共用同一個 bot 會衝突。
Preview 期間只有 3 個官方 Plugin
目前 allowlist 中只有:Telegram、Discord、Fakechat(測試用)。自訂 channel 需要加上 --dangerously-load-development-channels 旗標,且 Anthropic 尚未開放一般開發者自行發布 plugin。