Appearance
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
目前研究预览版包含 Telegram 和 Discord。
以下配置需要先安装 Bun(
bun --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-official3. 配置 Token
text
/telegram:configure <你的token>Token 保存到 ~/.claude/channels/telegram/.env。也可以设置环境变量 TELEGRAM_BOT_TOKEN。
4. 启用 Channels 重启
bash
claude --channels plugin:telegram@claude-plugins-official5. 配对你的账号
在 Telegram 给你的 Bot 发任意消息,Bot 会回复一个配对码。在 Claude Code 里运行:
text
/telegram:access pair <配对码>
/telegram:access policy allowlistallowlist 策略确保只有你的账号能向 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-official7. 配对账号
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-official2. 启用 Channels 重启
bash
claude --channels plugin:fakechat@claude-plugins-official3. 打开浏览器发消息
访问 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的参数语法和协议合约在预览期间可能变化
相关文档
- Channels 参考文档 — 构建自定义 Channel
- Remote Control — 从手机驱动本地会话
- 定时任务 — 按计划轮询(替代事件推送)