支持的频道
每个支持的频道都是一个需要 Bun 的插件。在连接真实平台之前,要获得插件流程的实际演示,请尝试 fakechat 快速入门。- Telegram
- Discord
- iMessage
查看完整的 Telegram 插件源代码。
1
创建 Telegram 机器人
在 Telegram 中打开 BotFather 并发送
/newbot。给它一个显示名称和一个以 bot 结尾的唯一用户名。复制 BotFather 返回的令牌。2
安装插件
在终端中运行 如果安装失败,请匹配 Claude Code 报告的消息:
claude 启动 Claude Code,然后在其输入框中输入以下内容:Marketplace "claude-plugins-official" not found:使用/plugin marketplace add anthropics/claude-plugins-official添加市场,然后重试安装。Plugin "<name>" not found in marketplace "claude-plugins-official":您本地的市场目录副本可能已过期。使用/plugin marketplace update claude-plugins-official刷新它,然后重试安装。如果重试后打印相同的消息,请参阅在市场中找不到插件。
Run /reload-plugins to apply.,请参阅在不重启的情况下应用插件更改以使插件的配置命令可用。3
配置您的令牌
使用来自 BotFather 的令牌运行配置命令:这会将其保存到
~/.claude/channels/telegram/.env。您也可以在启动 Claude Code 之前在 shell 环境中设置 TELEGRAM_BOT_TOKEN。4
重启并启用频道
退出 Claude Code 并使用频道标志重启。这会启动 Telegram 插件,它开始轮询来自您的机器人的消息:
5
配对您的账户
打开 Telegram 并向您的机器人发送任何消息。机器人会回复一个配对代码。回到 Claude Code,运行:然后锁定访问权限,以便只有您的账户可以发送消息:
如果您的机器人没有响应,请确保 Claude Code 正在使用上一步中的
--channels 运行。机器人只能在频道处于活动状态时回复。快速入门
Fakechat 是一个官方支持的演示 channel,在 localhost 上运行聊天 UI,无需身份验证,也无需配置外部服务。 安装并启用 fakechat 后,您可以在浏览器中输入,消息会到达您的 Claude Code 会话。Claude 回复,回复会显示在浏览器中。测试了 fakechat 界面后,尝试 Telegram、Discord 或 iMessage。 要尝试 fakechat 演示,您需要:- Claude Code 已安装并使用 claude.ai 账户或 Claude 控制台 API 密钥进行身份验证
- Bun 已安装。预构建的 channel 插件是 Bun 脚本。使用
bun --version检查;如果失败,安装 Bun。 - Team、Enterprise 或托管控制台组织:您的管理员必须在托管设置中启用 channels
1
安装 fakechat 频道插件
在终端中运行 如果安装失败,请匹配 Claude Code 报告的消息:
claude 启动 Claude Code,然后在其输入框中输入安装命令:Marketplace "claude-plugins-official" not found:使用/plugin marketplace add anthropics/claude-plugins-official添加市场,然后重试安装。Plugin "<name>" not found in marketplace "claude-plugins-official":您本地的市场目录副本可能已过期。使用/plugin marketplace update claude-plugins-official刷新它,然后重试安装。如果重试后仍显示相同的消息,请参阅在市场中找不到插件。
Run /reload-plugins to apply.,您不需要在此处采取行动,因为下一步中的重启会加载该插件。2
重启并启用 channel
退出 Claude Code,然后使用 fakechat 服务器会自动启动。启动屏幕显示一个 channels 通知,说明来自
--channels 重启并传递您安装的 fakechat 插件:plugin:fakechat@claude-plugins-official 的消息直接注入此会话。如果插件未安装或不在批准的允许列表中,问题名称下方会出现警告行。3
推送消息进来
在 http://localhost:8787 打开 fakechat UI 并输入消息:消息到达您的 Claude Code 会话。终端将其显示为入站 channel 行,如
← fakechat · web: what's in my working directory?,而模型将其接收为 <channel source="plugin:fakechat:fakechat"> 事件,使用插件的作用域服务器名称。Claude 读取它,完成工作,并调用 fakechat 的 reply 工具。如果 Claude Code 要求第一次回复的权限,请批准。答案显示在聊天 UI 中。--dangerously-skip-permissions 绕过大多数提示,但仅在您信任的环境中使用。即使这样,任何模式都不会自动批准的操作仍然适用。
当您使用 -p 以非交互模式运行 channels 时,需要终端输入的工具(如多选问题和 Plan Mode 批准)被禁用,以便会话永远不会因等待输入而停滞。
安全性
每个批准的 channel 插件都维护一个发送者允许列表:只有您添加的 ID 可以推送消息,其他所有人都会被静默丢弃。 Telegram 和 Discord 通过配对来引导列表:- 在 Telegram 或 Discord 中找到您的机器人并向其发送任何消息
- 机器人回复一个配对代码
- 在您的 Claude Code 会话中,在提示时批准代码
- 您的发送者 ID 被添加到允许列表
/imessage:access allow 通过句柄添加其他联系人。
除此之外,您可以使用 --channels 控制每个会话启用哪些服务器,您的组织可以使用 channelsEnabled 在 claude.ai Team 和 Enterprise 计划以及部署托管设置的控制台组织上控制可用性。
仅在 .mcp.json 中还不足以推送消息:服务器还必须在 --channels 中命名。
允许列表也会限制权限中继(如果 channel 声明了它)。任何可以通过 channel 回复的人都可以批准或拒绝您会话中的工具使用,因此只允许列表您信任具有该权限的发送者。
Enterprise 控制
管理员通过两个托管设置控制可用性,用户无法覆盖。默认值取决于您如何进行身份验证:- claude.ai Team 和 Enterprise:channels 被阻止,直到所有者启用它们。
- Anthropic 控制台与 API 密钥身份验证:channels 默认被允许。仅当您的组织部署托管设置时才需要此设置。
--channels 为会话选择加入之前,没有 channel 会运行。
没有组织的 Pro、Max 和 Ultra 用户完全跳过这些检查:频道可用,用户使用
--channels 按会话选择加入。
为您的组织启用 channels
可以从 Organization settings > Claude Code > Channels 为您的组织启用频道(需要所有者角色),或通过在托管设置中将channelsEnabled 设置为 true。
启用后,您组织中的用户可以使用 --channels 将 channel 服务器选择加入到各个会话中。如果设置被禁用或未设置,MCP 服务器仍会连接,其工具可以工作,但 channel 消息不会到达。启动警告会告诉用户让管理员启用该设置。
限制哪些 channel 插件可以运行
默认情况下,Anthropic 维护的允许列表上的任何插件都可以注册为 channel。Team 和 Enterprise 计划上的管理员可以通过在托管设置中设置allowedChannelPlugins 来替换该允许列表。使用此功能来限制允许哪些官方插件、批准来自您自己的内部市场的 channels,或两者兼有。每个条目命名一个插件及其来自的市场:
--dangerously-load-development-channels 仍可以为本地测试绕过该阻止。要完全阻止 channels,包括开发标志,请改为保持 channelsEnabled 未设置。
此设置需要 channelsEnabled: true。如果用户将不在您列表中的插件传递给 --channels,Claude Code 会正常启动,但 channel 不会注册,启动通知会解释该插件不在组织的批准列表中。在 v2 MCP 客户端运行时上,channel 也可能无法注册,因为 Claude Code 不会注册协商协议修订版本 2026-07-28 的 channel 服务器。
研究预览
Channels 是一个研究预览功能。可用性正在逐步推出,--channels 标志语法和协议契约可能会根据反馈而改变。
在预览期间,--channels 和 --dangerously-load-development-channels 都不会出现在 claude --help 中。这些标志即使未列出也能正常工作。
在预览期间,--channels 仅接受来自 Anthropic 维护的允许列表的插件,或来自您组织的允许列表(如果管理员已设置 allowedChannelPlugins)。claude-plugins-official 中的 channel 插件是默认批准的集合。如果您传递不在有效允许列表中的内容,Claude Code 会正常启动,但 channel 不会注册,启动通知会告诉您原因。
要测试您正在构建的 channel,请将其以 plugin:<name>@<marketplace> 或 server:<name> 的形式传递给 --dangerously-load-development-channels。有关测试您构建的自定义 channels 的信息,请参阅在研究预览期间测试。
在 Claude Code GitHub 存储库上报告问题或反馈。
channels 如何比较
几个 Claude Code 功能连接到终端外的系统,每个都适合不同类型的工作:
Channels 通过将来自非 Claude 源的事件推送到您已经运行的本地会话中,填补了该列表中的空白。
- 聊天桥接:通过 Telegram、Discord 或 iMessage 从您的手机向 Claude 询问某事,答案会在同一聊天中返回,而工作在您的机器上针对您的真实文件运行。
- Webhook 接收器:来自 CI、您的错误跟踪器、部署管道或其他外部服务的 webhook 到达 Claude 已经打开您的文件并记得您正在调试的内容的地方。
后续步骤
一旦您有一个 channel 运行,请探索这些相关功能:- 构建您自己的 channel,用于尚未有插件的系统
- Remote Control,从您的手机驱动本地会话,而不是将事件转发到其中
- 会话范围的定时任务,按计时器轮询而不是对推送事件做出反应