Claude Code Channels 实战:把 Telegram 和 Discord 变成你的远程 AI 工作台
很多人已经把 Claude Code 当成“坐在终端里的 AI 工程师”在用,但它有个很现实的问题:你一离开终端,会话就像被锁在电脑前,外部事件进不来。
比如这些场景你应该都遇到过:
- 跑着一个长任务,想在手机上随时丢一句“现在进度到哪了”
- CI 失败了,希望把结果直接推到 Claude Code,让它顺手分析原因
- 半夜服务报警,不想先打开电脑排查,只想先把告警转给 AI 看一眼
- 平时用 Telegram 或 Discord 协作,想让 Claude 直接进群或私聊里帮你处理任务
Claude Code Channels 就是为这个问题准备的。
它本质上不是“聊天机器人皮肤”,而是一套把外部消息推送进正在运行的 Claude Code 会话的机制。你可以理解成:给你的本地 Claude Code 会话开了一扇门,让 Telegram、Discord 这类消息渠道把事件送进来,再由 Claude 在当前会话上下文里接住、处理、回传结果。
这东西真正有价值的地方,不是“能聊天”,而是把远程消息、通知、Webhook 和你手头这次会话绑定起来。如果你本来就已经在用 Claude Code 写代码、跑任务、连 MCP,这个功能会非常顺手。
Claude Code Channels 到底是什么?
根据官方文档,Channels 目前还是 research preview,需要满足几个前提:
- Claude Code 版本至少是 v2.1.80
- 需要使用 claude.ai 登录
- 不支持 console / API key 认证模式
- Team / Enterprise 组织默认关闭,需要管理员显式开启
它的工作方式可以概括成一句话:
把某个消息平台作为 MCP channel server,让外部事件推送到你当前正在运行的 Claude Code 会话里。
这意味着两件很关键的事:
第一,它是“推事件”,不是“查历史”
消息只会在会话处于运行状态时送进来。也就是说,如果你想长期挂着收消息,就要把 Claude Code 跑在一个持久会话里,比如:
- 本地常驻终端
- tmux / screen
- 远程开发机
- 后台常驻的 Claude Code 进程
第二,它可以双向通信
以 Telegram、Discord 为例,外部消息发给 bot 后,Claude Code 会在当前会话中收到一个 channel event,然后再通过对应插件的工具回消息。
也就是说,它不是“新开一个独立的 AI 助手”,而是把你当前这个 Claude Code 会话延伸到了 Telegram 或 Discord 上。
这点很重要。因为这样一来,远程发过去的消息可以直接利用你当前项目目录、上下文、已加载的规则、MCP 工具和会话历史。
现在官方支持哪些渠道?
目前官方文档里重点给出的可用渠道是两个:
- Telegram
- Discord
它们都托管在 Anthropic 官方维护的 claude-plugins-official 仓库里,属于 research preview 阶段允许加载的官方插件。
另外官方还提供了一个 fakechat 本地演示渠道,用来验证整套插件机制是否跑通。这个适合第一次上手时先自测,但真正适合日常远程使用的,还是 Telegram 和 Discord。
为什么这个功能对开发者很有用?
很多人第一次看到 Channels,会把它理解成“把 Claude 接进 IM”。这理解不算错,但太浅了。
对开发者来说,它更像一个远程事件入口,适合接下面这几类工作流。
场景一:把手机变成 Claude Code 的远程控制台
最直接的用法,就是你人在外面,用 Telegram 给 bot 发一句:
1 | |
如果 Claude Code 会话正在运行,它就能直接在当前项目里读取上下文、执行命令、整理结果,然后把结论回到 Telegram。
这比“手机远程桌面连电脑”轻很多,也比重新在网页里描述一遍上下文高效得多。
场景二:接收外部告警和自动化事件
官方文档明确提到可以把 alerts、webhooks、CI results 推进会话里。这个思路非常适合自动化:
- GitHub Actions 失败后推送构建日志摘要
- 监控平台告警时把错误信息发给 Claude
- 定时任务把汇总结果丢给 Claude 继续处理
这样 Claude Code 就不只是“等你输入指令”,而是可以被动接收外部系统事件。
场景三:把协作消息直接接进当前开发上下文
如果你本来就通过 Discord 做团队沟通,Channels 的价值在于:同一个问题不需要从聊天软件复制到 IDE,再给 Claude 解释一遍。
外部消息一进来,Claude 已经处在项目上下文里,可以直接:
- 看代码
- 查文件
- 执行命令
- 生成回复
这才是它最实用的地方。
Telegram 怎么接?
如果你想先上手一个最轻量的远程入口,我更建议先从 Telegram 开始,因为它不需要邀请 bot 进服务器,直接 DM 就能完成配对。
官方流程核心就 5 步。
1)先在 BotFather 创建机器人
打开 Telegram 里的 BotFather,发送:
1 | |
按提示填两个信息:
- 机器人显示名称
- 以
bot结尾的唯一用户名
创建成功后,BotFather 会给你一个 bot token,后面配置时要用到。
2)在 Claude Code 里安装 Telegram 插件
1 | |
如果你输入 /telegram:configure 能自动补全,说明插件装好了。
3)配置 token
1 | |
官方说明是,这一步会把 TELEGRAM_BOT_TOKEN 写到本地 channel 配置里。你也可以手动放到环境变量里,但直接走命令最省事。
4)重启 Claude Code,并带上 channels 参数
这是最容易漏的一步。插件装完不等于 channel 已启用,你必须退出当前会话,再用下面的方式启动:
1 | |
只有这样,Telegram 插件才会真正开始轮询并收消息。
5)做一次配对,再切到 allowlist
给你的 Telegram bot 发任意消息,bot 会回一个 6 位配对码。然后回到 Claude Code 执行:
1 | |
配对完成后,建议立刻把访问策略切成 allowlist:
1 | |
为什么这一步很重要?因为 Telegram 默认是 pairing 流程,主要目的是帮你拿到发送者 ID。真正进入日常使用后,应该尽快收紧权限,避免陌生人也能触发 bot。
Discord 怎么接?
Discord 稍微复杂一点,因为 bot 不能像 Telegram 那样直接随便 DM,前面要多做一层应用和服务器配置。
1)去 Discord Developer Portal 创建应用和 bot
先新建一个应用,再在 Bot 页创建 bot。
这里有一个关键项必须打开:
- Message Content Intent
官方文档明确写了,如果不开这个权限,bot 收到的消息内容会是空的。
2)生成 bot token
在 Bot 页面点击重置 token,拿到后面要配置用的 token。
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)安装并配置 Discord 插件
1 | |
5)同样要用 channels 参数重启
1 | |
6)做配对并收紧策略
给 bot 发 DM,它会回一个 pairing code。然后在 Claude Code 里执行:
1 | |
这套流程跑完后,你就能用 Discord 把消息真正送进会话了。
Telegram 和 Discord 有什么差别?
如果你只想选一个先用,我建议这样判断:
选 Telegram:
- 想最快搭起来
- 主要是自己私聊自己用
- 希望移动端远程发命令尽量轻量
选 Discord:
- 团队本来就在 Discord 沟通
- 需要频道、线程、附件等更完整的协作能力
- 希望 Claude 能读取一定范围内的近期消息
这里官方 README 里还有几个很实用的差异点,很多人容易忽略。
Telegram 的限制:没有历史和搜索
官方明确写了,Telegram Bot API 不提供历史消息和搜索。这意味着:
- bot 只能看到新进来的消息
- 没有
fetch_messages这类回看历史的能力 - 如果 Claude 需要更早的上下文,你得手动转发或补充
Discord 更适合“带上下文”的协作
Discord 插件除了 reply、react、edit_message,还提供了:
fetch_messages:最多拉最近 100 条download_attachment:按消息 ID 下载附件
如果你的使用场景经常涉及“回看最近几条讨论再回答”,Discord 会更顺手。
这套方案最容易踩的坑
我把官方文档里最关键的几个限制,直接帮你翻译成“实战提醒”。
1)会话不在线,消息就不会进来
Channels 不是云端托管服务。Claude Code 会话必须活着,外部消息才能送进来。
所以如果你真想长期用,最好把 Claude Code 放到:
- 一台长期在线的开发机
- tmux 会话
- 后台服务进程
2)离开终端时,权限弹窗会卡住
官方文档提到,如果 Claude 在远程消息处理中碰到 permission prompt,而你人又不在终端前,这个会话会暂停等待你确认。
所以远程使用时,最好尽量让这类会话只做:
- 读取信息
- 分析日志
- 生成回复
- 执行你明确允许的低风险动作
不要一上来就让它接手高风险操作。
3)Team / Enterprise 默认不一定能用
如果你在组织环境里发现插件能装、MCP 也连上,但 channel 事件就是不来,官方文档给出的方向很明确:
- 管理员需要在组织设置里开启
channelsEnabled
这个问题不查文档很容易误以为是插件坏了。
我会怎么用 Claude Code Channels?
如果你问我这个功能值不值得折腾,我的判断是:对于已经深度使用 Claude Code 的人,非常值。
尤其适合下面三类人:
把 Claude Code 当主力开发助手的人
- 你已经有稳定项目、规则、MCP、工作流
- 现在只是缺一个远程入口
经常跑长任务或自动化的人
- CI、监控、定时任务、Webhook 都能往会话里推
- 比重新造一套 bot 流程省事很多
本来就重度用 Telegram / Discord 的人
- 外部沟通和 Claude 工作流终于能接上
它不适合谁?也很明显:
- 你只是偶尔试用 Claude Code
- 没有长期运行的会话
- 也没有远程事件输入需求
这种情况下,Channels 的价值就没那么大。
总结
Claude Code Channels 的真正意义,不是“让 AI 会回 Telegram 消息”,而是:
把你的本地 Claude Code 会话,从终端里解放出来,接进真实世界的消息流。
它带来的不是一个新玩具,而是一个很实用的能力升级:
- 你可以在手机上把任务扔给当前会话
- 你可以把 CI、告警、Webhook 直接送进 AI 工作流
- 你可以让 Telegram、Discord 变成 Claude Code 的远程入口
如果你已经在用 Claude Code 做项目,这个功能很值得尽快试一遍。最小可行路径就是:先接 Telegram,跑通配对和 allowlist,再考虑接 Discord 或外部告警。
先把入口打通,你会立刻感受到它和“普通聊天机器人”完全不是一个层级。
如果文章对你有帮助,欢迎点击上方按钮打赏作者,更多功能请访问博客站
支付宝打赏
微信打赏