Skip to content

Channels:把外部消息推入你的 Claude Code 会话

Channels 是研究预览功能,需要 Claude Code v2.1.80+。需要 claude.ai 登录,不支持 Console 和 API key 认证。Team/Enterprise 组织需要管理员启用。

Channel 是什么? 一个 MCP 服务器,可以把事件推送到你正在运行的 Claude Code 会话,让 Claude 在你不在终端时响应发生的事情。

举几个例子:

  • 用手机通过 Telegram 发消息给 Claude,让它在你的机器上完成任务,答案直接回到 Telegram
  • CI 失败了,webhook 把错误推给 Claude,Claude 已经有你的文件打开着,可以直接调试
  • Discord 里的消息触发代码审查

Channel 可以是双向的:Claude 读取事件,通过同一 channel 回复。事件只在会话打开时到达,长期运行需要在后台进程或持久终端里跑 Claude。


支持的 Channel

目前研究预览版包含 TelegramDiscord

以下配置需要先安装 Bunbun --version 检查)。

配置 Telegram

1. 创建 Telegram Bot

打开 Telegram 找 @BotFather,发送 /newbot,设置显示名和 @username(必须以 bot 结尾),复制 BotFather 返回的 token。

2. 安装插件

text
/plugin install telegram@claude-plugins-official

安装后运行 /reload-plugins 激活配置命令。

如果提示找不到插件,先更新插件市场:

text
/plugin marketplace update claude-plugins-official

3. 配置 Token

text
/telegram:configure <你的token>

Token 保存到 ~/.claude/channels/telegram/.env。也可以设置环境变量 TELEGRAM_BOT_TOKEN

4. 启用 Channels 重启

bash
claude --channels plugin:telegram@claude-plugins-official

5. 配对你的账号

在 Telegram 给你的 Bot 发任意消息,Bot 会回复一个配对码。在 Claude Code 里运行:

text
/telegram:access pair <配对码>
/telegram:access policy allowlist

allowlist 策略确保只有你的账号能向 Claude 发消息。


配置 Discord

1. 创建 Discord Bot

进入 Discord Developer Portal,点 New Application,在 Bot 部分点 Reset Token 复制 token。

2. 启用 Message Content Intent

在 Bot 设置里,找到 Privileged Gateway Intents,开启 Message Content Intent

3. 邀请 Bot 到服务器

OAuth2 > URL Generator 选择 bot scope,开启权限:View Channels、Send Messages、Send Messages in Threads、Read Message History、Attach Files、Add Reactions。打开生成的 URL 把 Bot 加入服务器。

4. 安装插件

text
/plugin install discord@claude-plugins-official

安装后运行 /reload-plugins

5. 配置 Token

text
/discord:configure <你的token>

6. 启用 Channels 重启

bash
claude --channels plugin:discord@claude-plugins-official

7. 配对账号

DM 你的 Bot,它会回复配对码,然后在 Claude Code 里运行:

text
/discord:access pair <配对码>
/discord:access policy allowlist

快速体验:fakechat 演示

想先体验 Channels 的工作方式,不需要配置真实平台?用 fakechat——在本地 localhost 启动一个聊天 UI:

1. 安装 fakechat 插件

text
/plugin install fakechat@claude-plugins-official

2. 启用 Channels 重启

bash
claude --channels plugin:fakechat@claude-plugins-official

3. 打开浏览器发消息

访问 http://localhost:8787,输入消息。消息会出现在你的 Claude Code 会话里,Claude 的回复会显示在浏览器里。


安全机制

发送方白名单:每个 Channel 插件维护一个发件人允许列表。只有你添加的 ID 才能推送消息,其他人被静默丢弃。

配对流程:Telegram 和 Discord 通过配对码初始化白名单——只有你的账号 ID 被添加进去。

会话级控制:只有在 --channels 参数里明确列出的服务器才会推送消息。在 .mcp.json 里存在不够,必须在 --channels 里指定。

权限中转(Permission Relay):如果 Channel 声明了权限中转能力,Claude 遇到权限确认时可以把对话框转发到你的手机上批准或拒绝。能通过 Channel 回复的人就能批准 Claude 的工具调用——只把你信任的人加入白名单。


企业控制

Channels 由 channelsEnabled 设置项控制:

计划默认行为
Pro / Max(无组织)可用,用户用 --channels 按会话开启
Team / Enterprise默认禁用,需管理员开启

管理员开启方式

claude.ai → Admin settings → Claude Code → Channels 开启,或在 managed settings 里设置 channelsEnabled: true

开启后,用户可以用 --channels 为单个会话启用 Channel。如果设置未开启,MCP 服务器会连接、工具也能用,但 Channel 消息不会到达,启动时会显示警告提示联系管理员。


Channels 与其他功能对比

功能说明适合场景
Claude Code on the web在云端新沙箱运行,从 GitHub clone 代码委托自包含的异步工作
Claude in Slack从 @Claude 提及生成 Web 会话从团队对话启动任务
普通 MCP 服务器Claude 任务中主动查询,不推送给 Claude 按需读取/查询系统
Remote Control你从 claude.ai/手机驱动本地会话离开桌面时控制进行中的会话
Channels外部系统主动推送事件到运行中的本地会话CI 通知、聊天桥接、webhook 响应

核心区别:Channels 填补了"外部事件触发本地正在运行的会话"这个空白。


研究预览限制

  • 目前 --channels 只接受 Anthropic 维护的插件白名单(即 claude-plugins-official 里的插件)
  • 测试自己开发的 Channel 需要使用 --dangerously-load-development-channels 标志
  • --channels 的参数语法和协议合约在预览期间可能变化

相关文档