返回博客2026年3月20日2 分钟阅读

Claude Code 现在可以用 Telegram 遥控了

摘要

Anthropic 刚发布了 Claude Code Channels,让你通过 Telegram 远程操控 Claude Code。手机发条消息,它就在你电脑上干活。这篇讲清楚它是什么、怎么配、能干嘛。

用 Claude Code 写代码有个前提 - 你得坐在电脑前面。

不在工位上的时候,想让它帮你跑个测试、查个日志、改个小 bug?没办法。Terminal 关了就关了。

今天 Anthropic 发布了 Claude Code Channels,解决的就是这个问题。它让你通过 Telegram 给 Claude Code 发消息,Claude 收到后在你电脑上执行,再把结果发回来。

Channels 是什么

Channels 是一种基于 MCP 协议的插件机制。它的作用是把外部事件"推"进正在运行的 Claude Code session 里,让 Claude 能响应你不在终端时发生的事情。

架构很简单:

  • Telegram Bot 收到你的消息
  • Channel 插件(一个 MCP server)把消息转发给 Claude Code
  • Claude 处理完后,通过 Bot 把结果发回给你

整个过程不需要暴露任何公网端口。Telegram 那边用的是 Bot API 的轮询模式,Channel 插件跑在你本地,通过 stdio 跟 Claude Code 通信。

Telegram 只是第一个场景。Channels 的设计是通用的 - 同样的机制可以接 Discord、Slack,甚至 CI/CD 的 webhook。官方目前提供了 Telegram 和 Discord 两个插件。

怎么配置

整个过程大概 5 分钟。

先装 Bun(官方 Telegram 插件用 Bun 写的,所以需要它作为运行时):

curl -fsSL https://bun.sh/install | bash

不过 Channel 协议本身不绑定 Bun - Node.js、Deno 都行。只是 Anthropic 官方选了 Bun 来实现预置插件。如果你不想装 Bun,理论上可以用 Node.js 重写一个,核心就是 @modelcontextprotocol/sdk + Telegram Bot API,代码量不大。

创建 Telegram Bot

打开 Telegram,找 @BotFather,发 /newbot,按提示给 Bot 取个名字和用户名。完成后它会给你一个 token,长这样:123456789:AAHfiqksKZ8...

在 Claude Code 里装插件(如果没添加过官方 marketplace,先跑一下 /plugin marketplace add anthropics/claude-plugins-official):

/plugin install telegram@claude-plugins-official

配置 token

/telegram:configure YOUR_TOKEN_HERE

Token 会存到 .claude/channels/telegram/.env,也可以直接设环境变量 TELEGRAM_BOT_TOKEN

启动

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

配对

在 Telegram 上给你的 Bot 发条消息,它会回复一个 6 位配对码。在终端里输入:

/telegram:access pair ABCDEF

配对成功后,你的 Telegram 账号就跟这个 Claude Code session 绑定了。

最后一步,锁定访问

/telegram:access policy allowlist

这一步很重要 - 不设的话,任何人给你的 Bot 发消息都能拿到配对码。设成 allowlist 模式后,只有已配对的用户才能跟 Claude 交互。

能干什么

配好之后,你可以在 Telegram 上跟 Claude Code 像聊天一样交互。

远程下任务:出门在外,想起一个要改的地方,直接在手机上发消息。Claude 在你电脑上执行,完成后把结果发回来。

发文件过去处理:支持发送图片、PDF 等文件(最大 50MB),Claude 会识别内容并处理。

收通知:构建完成、测试跑完、出了报错 - 这些事件都可以通过 Channel 推送到你的 Telegram。

插件提供了三个工具:

工具用途
reply发消息、回复、发送文件附件
react加 emoji 表情回应
edit_message编辑之前发过的消息

有个限制值得注意:Telegram Bot API 不支持读取历史消息。Bot 只能处理它运行期间新收到的消息,不能回溯之前的对话。

运行时到底发生了什么

理解这个有助于排查问题,也能帮你判断它适不适合你的使用场景。

运行 claude --channels plugin:telegram@claude-plugins-official 后,不是一个进程,是两个

你的终端
  └── claude (主进程,交互式 CLI)
        └── bun server.ts (子进程,MCP server)
              └── 轮询 Telegram Bot API

Claude Code 启动时读取插件的 .mcp.json,发现需要一个 MCP server,于是把 bun server.ts 作为子进程 spawn 出来。两者通过 stdio(stdin/stdout)通信,这是标准的 MCP 传输协议。

这个命令会阻塞终端。 你面前还是那个正常的 Claude Code 交互界面,只不过同时多挂了一个 Telegram Channel 子进程在后台轮询。终端里正常打字交互,手机上也能通过 Telegram 发消息 - 两边共享同一个 session。

没有独立的后台守护进程。 Channel 插件的生命周期完全由 Claude Code 管理。Ctrl+C 退出 Claude Code,Telegram 那边也就断了。

消息的流向:

  • 入站:Telegram → Bot API → server.ts 轮询拿到 → stdio 通知 Claude Code → Claude 处理
  • 出站:Claude 调用 MCP tool → stdio → server.ts → Telegram Bot API → 你的手机

跟你在 .mcp.json 里配一个普通 MCP server(比如 filesystem)本质上是一样的机制。区别在于 Channel 类型的 MCP server 多了一个能力 - 它可以主动推送事件,而不只是被动等 Claude 调用。

安全模型

Channels 的安全设计围绕一个核心原则:未经验证的消息就是 prompt injection 的入口

所以它用了 sender allowlist 机制 - 只有配对过的用户 ID 才能推送消息,其他人的消息直接丢弃,连错误提示都不给。

这里有个细节:验证的是发送者的 ID,不是聊天室的 ID。即使在群聊里,也是逐人验证,而不是"这个群的人都放行"。

如果你想自己写 Channel 插件,这是官方文档里反复强调的一点 - 不做 sender gating 的 Channel 等于把 Claude 的输入暴露给了任何人。

一些限制

Channels 目前还是 research preview,有几个需要知道的事:

电脑必须开着。Channel 插件跑在本地,Claude Code session 必须活着才能处理消息。笔记本合盖就断了。

这就引出一个实际问题:你总不能一直开着一个终端窗口不动吧。用 tmux 可以比较优雅地解决这个问题。

用 tmux 保持 session 存活

# 创建一个专门的 tmux session
tmux new-session -d -s claude-tg \
  'claude --channels plugin:telegram@claude-plugins-official'

这一行做了三件事:创建一个叫 claude-tg 的 tmux session,在里面启动带 Telegram Channel 的 Claude Code,然后自动 detach(-d)回到你的 shell。Claude Code 在后台跑着,Telegram 消息正常收发。

# 想看看 Claude 在干嘛,随时 attach 进去
tmux attach -t claude-tg

# 看完了按 Ctrl+B 再按 D,detach 回来,不影响运行

# 不用了,关掉
tmux kill-session -t claude-tg

如果你经常用,可以写个 alias 放进 .zshrc

alias claude-tg='tmux new-session -d -s claude-tg \
  "claude --channels plugin:telegram@claude-plugins-official" \
  && echo "Claude Code + Telegram 已在后台启动,tmux attach -t claude-tg 可查看"'

这样每次打开电脑,跑一下 claude-tg 就行了。合盖休眠的话还是会断 - 这个没办法,除非你跑在一台常开的服务器或 NAS 上。

版本要求。需要 Claude Code v2.1.80 以上。

Team/Enterprise 用户需要管理员在组织策略里显式开启 Channels 功能,默认是关的。

接口可能会变。Research preview 意味着协议和命令格式都不是最终版。

自己写一个 Channel

Channels 的协议是开放的,你可以自己写。核心就三件事:

声明 claude/channel capability,让 Claude Code 注册事件监听。发送 notifications/claude/channel 通知,把外部事件推进去。如果需要双向通信,再暴露 MCP tools 让 Claude 能回复。

一个最简单的 webhook 接收器,大概 20 行代码:

const mcp = new Server(
  { name: 'webhook', version: '0.0.1' },
  {
    capabilities: { experimental: { 'claude/channel': {} } },
    instructions: '收到 webhook 事件,读取并执行。'
  }
)

await mcp.connect(new StdioServerTransport())

Bun.serve({
  port: 8788,
  hostname: '127.0.0.1',
  async fetch(req) {
    const body = await req.text()
    await mcp.notification({
      method: 'notifications/claude/channel',
      params: { content: body }
    })
    return new Response('ok')
  }
})

localhost:8788 发个 POST 请求,内容就会出现在 Claude Code 的上下文里。在这个基础上可以接 GitHub webhook、监控告警、CI 通知 - 任何能发 HTTP 请求的系统都行。

想分享给别人用的话,包装成插件发布到 marketplace 就行。不过目前自定义插件还需要用 --dangerously-load-development-channels 标志加载,正式上架需要通过安全审核。


Claude Code 从一个"必须坐在电脑前用"的终端工具,变成了一个可以随时随地发消息调度的 agent。这个变化不大,但确实补上了日常使用中最明显的一块短板。

相关文章

2026年6月8日

【AI早读 0608】Agent 生态加速成熟,多智能体与平台战并进

过去 24 小时 AI 圈关键词是 Agent:Towards Data Science 把 Python 多智能体教程推成中级实践;AI Engineer 频道两场分享指向 Agent 从原型走向规模化 - MCP 管道与 LLM 可观测性;OpenAI 据 FT 报道要把 ChatGPT 重构成集成 Codex 的“超级应用”,内部一句“Chat is dead”;Ramp 数据显示 DeepSeek 登顶增长最快的软件供应商,价格驱动的“Token 经济”成形;Notion 因 Anthropic Opus 4.7/4.8 抖动一度禁用全部 Anthropic 模型;The Algorithmic Bridge 深扒 Anthropic 如何用安全叙事影响特朗普政府的 AI 政策。

2026年6月3日

【AI早读 0603】Agent 生态全面爆发

微软 Build 2026 上 GitHub 推出 agent-native 桌面应用 Copilot app,COO Kyle Daigle 在 Latent Space 披露 AI agent 推动 commit 量年增 1400%、Actions 用量翻 4 倍;H Company 发布 Holo3.1,首次加入 FP8 / Q4 / NVFP4 量化权重,NVFP4 吞吐量是 BF16 的 1.74 倍,AndroidWorld 得分从 67% 跃至 79.3%;AWS 给出 AgentCore Gateway + OAuth 保护 MCP 服务器的完整教程;Together AI 用 MiniMax Sparse Attention 让 MiniMax-M3 在 1M 上下文上 prefill 提速 9 倍、decode 提速 15 倍;a16z 提出视觉 AI 下一站是生成代码,而非像素。

最近一封 · Sample

【AI早读 0611】Google AI 三连发:DiffusionGemma、Managed Agents 与 ML 遗忘审计

Google 昨天一天连发三项:用扩散架构把文本生成提速 4 倍的 DiffusionGemma、一行 SDK 背后拉起 4 vCPU 沙箱的 Gemini Managed Agents,以及给「机器遗忘」做置信度评估的审计框架。再加上 GitHub Copilot CLI 接入 LSP 拿到语义级代码理解,以及 Simon Willison 对 Claude Fable 5「静默拒绝」推理策略的观察。

—— william

Letters

来信

里面装的是

  • 新文章 — 写完一篇就寄一封,不攒货
  • 这周读到的、看到的、好用的工具
  • 正在折腾的实验,附带翻车记录

约莫 1–2 周一封 · 随时退订

合作伙伴

CompeteMap — 英国及爱尔兰学生竞赛一站式搜索

数学、编程、科学、写作等各类竞赛信息汇总,支持按年龄和科目筛选,再也不错过报名截止日。

准备开始了吗?

先简单说明目标,我会给出最合适的沟通方式。