Claude Code 出了一个新的自动化功能 Channels,简单说就是让外部消息能推送到你正在运行的 Claude Code 会话里。目前支持 Telegram 和 Discord 两个平台。
是不是像极了龙虾。远程指挥AI干活,随时随地。

我试了 Telegram,操作简单,成功之后手机上给 Bot 发一条消息,电脑上的 Claude Code 就开始干活,结果回复到 Telegram 聊天窗口。
相当于随时随地远程指挥 Claude 帮你写代码、查资料、跑脚本。
这篇文章记录一下完整的配置过程,踩了几个坑一起分享。
前置条件
开始之前确认这几个东西都有:
-
Claude Code v2.1.80 以上版本,终端跑 claude --version 检查

-
安装 Bun,Channel 插件是用 Bun 跑的。没装的话一行命令搞定:curl -fsSL https://bun.sh/install | bash

-
Telegram 客户端已安装
-
必须用 claude.ai 账号登录,API Key 登录不支持 Channels
Step 1:安装 Telegram 插件
在 Claude Code 里输入:
/plugin install telegram@claude-plugins-official
安装完成后重新加载插件:
/reload-plugins

这时候跑 /mcp 会看到 plugin:telegram:telegram 状态是 failed,别慌,这是正常的。插件启动的时候要读 Bot Token,但你还没配置,所以它起不来。继续往下走就行。

Step 2:创建 Telegram 机器人
打开 Telegram,搜索 BotFather,发送 /newbot。它会让你输入机器人的显示名称(随便取)和唯一 ID(必须以 bot 结尾)。创建完成后 BotFather 会给你一个 Token,复制下来。

Step 3:配置 Token
官方文档说可以用 /telegram:configure 命令配置 Token,但实际操作中你会发现这个命令报 Unknown skill。
因为 Step 1 里插件没启动成功,configure 命令也就不可用了,变成了死循环。
解决办法是手动写入 Token。打开一个普通终端(不是 Claude Code 里),执行:
mkdir -p ~/.claude/channels/telegram
echo 'TELEGRAM_BOT_TOKEN=<你的Bot-Token>' > ~/.claude/channels/telegram/.env

写入后回到 Claude Code,跑一下 /mcp,确认 plugin:telegram:telegram 状态变成 connected。

Step 4:启动 Channel
退出当前 Claude Code,用 --channels 参数重新启动:
claude --channels plugin:telegram@claude-plugins-official
这一步很关键。光是在 mcp.json 里配了插件还不够,必须在启动命令里用 --channels 显式指定,插件才会开始接收消息。
Step 5:配对
打开 Telegram,找到你刚创建的机器人,随便发一条消息。机器人会返回一个配对码。

回到终端,粘贴执行配对命令:
/telegram:access pair <配对码>

配对成功后,默认情况下任何人给你的 Bot 发消息都能拿到配对码。这不太安全,建议马上锁定权限,只允许你自己:
/telegram:access policy allowlist

如果机器人没反应,检查一下 Claude Code 是不是用 --channels 参数启动的。
到这里就搞定了。在 Telegram 里给机器人发消息,消息会推送到 Claude Code 终端,Claude 开始干活:


结果会直接回到 Telegram 聊天窗口:

Step 6:后台运行 + 跳过权限确认
配置到这一步已经能用了,但有两个问题需要解决:终端关了 Bot 就断了,而且每次工具调用都要手动确认权限。
用 tmux 保持后台运行
先装 tmux(Mac 用 brew install tmux),然后:
# 创建后台会话
tmux new -s claude
# 在 tmux 里启动
claude --channels plugin:telegram@claude-plugins-official
# 按 Ctrl+B 再按 D 脱离,终端可以关掉
# 想回来看:
tmux attach -t claude


跳过权限确认
后台运行之后你会发现,每次 Claude 调用工具(读文件、搜索、执行命令)都会弹出确认提示,推到 Telegram 让你手动回复 "yes xxx"。很烦。

解决方法是在 Claude Code 的全局配置文件 ~/.claude/settings.json 的 permissions.allow 里加上常用工具:
{
"permissions": {
"allow": [
"Read",
"Write",
"Edit",
"Bash",
"Glob",
"Grep",
"mcp__plugin_telegram_telegram__reply",
"mcp__plugin_telegram_telegram__react",
"mcp__plugin_telegram_telegram__edit_message",
"mcp__plugin_telegram_telegram__download_attachment"
]
}
}

改完之后重启 tmux 里的 Claude Code 会话就行了。但是有些情况还是会让你确认。
如果你对安全性不太在意(比如只是自己用),也可以直接在启动命令里加 --dangerously-skip-permissions,所有权限全部跳过。
几个注意事项
关于安全性。 Channels 功能会把外部消息直接推到你的 Claude Code 会话里,官方明确提示了 prompt injection 的风险。所以要做好权限控制:配对完成后马上执行 /telegram:access policy allowlist,只让你自己的账号能发消息。
**关于多 Bot。**如果能够同时指挥多个bot干活是最好的了, 比如一个连项目 A,一个连项目 B,那就可以用环境变量区分,具体的配置可以和 Claude code 聊。
# Bot 1
export TELEGRAM_BOT_TOKEN=<Bot1的Token>
export TELEGRAM_STATE_DIR=~/.claude/channels/telegram-bot1
claude --channels plugin:telegram@claude-plugins-official
# Bot 2(另一个终端窗口)
export TELEGRAM_BOT_TOKEN=<Bot2的Token>
export TELEGRAM_STATE_DIR=~/.claude/channels/telegram-bot2
claude --channels plugin:telegram@claude-plugins-official
注意同一个 Bot Token 同一时间只能被一个 Claude Code 会话使用,不能两个进程同时轮询同一个 Bot。
关于断线。 本地电脑关机或者 tmux 会话挂了,Bot 就不响应了。开机后需要重新启动 tmux 会话。
另外我实测发现,会话空闲太久(比如两个多小时没人说话),Claude Code 会自动压缩上下文(终端会显示 "Churned for xxs"),然后再发消息就收不到了!
遇到这种情况重启一下会话就行,但重启意味着之前的上下文全丢了。虽然可以用 claude --resume 恢复上一次会话,但实际体验下来,Telegram 更适合发一些独立的小任务("帮我查个东西""改个文件"),不太适合需要连续对话的复杂任务。
复杂任务还是老老实实坐到电脑前操作更靠谱。毕竟还是 Research Preview 阶段,稳定性还有提升空间。
关于 Team/Enterprise 用户。 如果你的 Claude 账号属于某个组织,管理员需要先在后台开启 channelsEnabled 才能用 Channels 功能。个人用户(Pro/Max)默认可用。
还支持 Discord。 除了 Telegram,Channels 还支持 Discord,配置流程类似。需要去 Discord Developer Portal 创建 Bot,开启 Message Content Intent 权限,然后用 /plugin install discord@claude-plugins-official 安装插件。
完成
现在可以在手机 Telegram 上给机器人发消息,远程指挥 Claude Code 干活了。出门在外,突然想起来要改个东西,掏出手机发条消息就行。
💡 AI 工具的爆发,让普通人也能快速做出产品。
但如何做?如何变现?如何真正走向海外市场?
👇 想了解更多 AI 编程 & 出海实战信息,扫码添加好友了解更多
🔗 更多教程请访问 ipengtao.com
文章评论