一日一撸码(No.2):把 Claude Code 装进 Telegram:一个周末的轻量级方案

起因:一个周末的小烦恼

上周末在咖啡馆坐着,突然想起有个 bug 没修。打开手机想用 Claude Code 看一眼,结果发现------它只能在终端里跑

回家开电脑?太麻烦了。用 OpenClaw?我试过,配置 Web 服务器、Nginx 反向代理、HTTPS 证书......折腾了一下午,最后发现我只是想改几行代码而已。

这时候我想:能不能直接在 Telegram 里跟 Claude 聊天?

Telegram 有现成的 Bot API,不需要自己搭服务器,消息推送也是长连接,安全性由 Telegram 保证。听起来很适合做这件事。

于是周末两天,撸了个 Telegram Bot 版本的 Claude Code 遥控器。

痛点:为什么不用 OpenClaw?

OpenClaw 是个很棒的项目,但它解决的是"把 Claude 搬到云端"的问题,适合团队协作或者需要完整 Web IDE 的场景。

我的需求更简单:

  • 只想在手机上偶尔操作一下,不需要完整的浏览器界面

  • 不想折腾服务器配置,端口暴露、防火墙、SSL 证书这些东西太重了

  • 已经在用 Claude Code CLI,只是想加个远程入口

所以我需要的是一个"轻量级的后门",而不是一个完整的 Web 应用。

项目特点

1. 零基础设施

不需要 Web 服务器、不需要端口暴露、不需要配置 HTTPS。Telegram 自带长连接,消息推送由 Telegram 服务器处理。启动一次就作为守护进程在后台运行,崩溃自动重启,macOS 上还能配置开机自启。

2. 默认安全

  • 文件访问沙箱化(--path 参数设置项目根目录)

  • 项目内文件自动允许访问,项目外需要 Telegram 内联按钮确认

  • 支持用户白名单(ALLOWED_USER_IDS

  • 超过 20 分钟的旧消息自动丢弃

3. 实时流式响应

Claude 的回复不是等全部生成完才显示,而是边思考边更新。你能看到 Claude 实时打字的过程,就像在终端里用 Claude Code 一样。长消息自动分段发送,体验很流畅。

4. 智能交互

  • Claude 的选项题自动转成 Telegram 内联键盘按钮,点一下就能选

  • 回复里的图片、PDF 等文件路径会自动发送为 Telegram 附件

  • 每个用户独立的 SDK 连接,支持并发消息(最多 3 条)

5. 功能完整

  • 支持所有 Claude Code 技能(/skill <name>)和斜杠命令(/commit/xhs-writer 等)

  • 支持模型切换(/model 在 Sonnet/Opus/Haiku 之间切换)

  • 支持会话恢复(/resume 查看和恢复历史对话)

  • 支持流式中断(/stop 立即停止 Claude 的回复)

上手指南

方式一:用 Claude Code 自动安装(推荐)

bash 复制代码
git clone https://github.com/terranc/claude-telegram-bot-bridge

cd claude-telegram-bot-bridge

claude

然后在 Claude Code 提示符里输入 /setup,它会自动帮你:

  • 检查系统环境(Python 3.11+、Claude CLI)

  • 收集 Bot Token 和用户白名单

  • 创建虚拟环境并安装依赖

  • 生成 .env 配置文件

完成后启动:

bash 复制代码
./start.sh --path /path/to/your/project

方式二:手动安装

如果你不想用 Claude Code,也可以直接运行安装脚本:

bash 复制代码
git clone https://github.com/terranc/claude-telegram-bot-bridge

cd claude-telegram-bot-bridge

./setup.sh

然后启动:

bash 复制代码
./start.sh --path /path/to/your/project

获取 Telegram Bot Token

@BotFather 创建一个 Bot,拿到 Token。

获取你的 Telegram 用户 ID

@userinfobot 发消息,它会告诉你你的用户 ID。

常用命令

bash 复制代码
# 前台运行(默认)

./start.sh --path /path/to/project

  


# 后台守护进程

./start.sh --path /path/to/project -d

  


# 调试模式(详细日志 + 聊天记录)

./start.sh --path /path/to/project --debug

  


# 检查运行状态

./start.sh --path /path/to/project --status

  


# 停止

./start.sh --path /path/to/project --stop

  


# macOS 开机自启

./start.sh --path /path/to/project --install

  


# 取消开机自启

./start.sh --path /path/to/project --uninstall

Telegram 内的命令

  • /new - 开始新对话

  • /model - 切换模型(Sonnet/Opus/Haiku)

  • /resume - 查看和恢复历史会话

  • /stop - 停止当前 Claude 回复

  • /skill <name> - 运行 Claude Code 技能

  • /skills - 列出所有可用技能

  • 其他斜杠命令(如 /commit/xhs-writer)直接发送即可

技术细节

架构

  • core/bot.py - Telegram Bot 主逻辑,命令处理、权限控制

  • core/project_chat.py - Claude SDK 集成,消息队列、工具权限回调

  • core/streaming.py - 流式响应处理,实时更新草稿消息

  • session/ - 会话管理,状态持久化到 JSON

  • utils/ - 配置、日志、聊天记录

数据存储

  • 运行时数据:PROJECT_ROOT/.telegram_bot/
  • sessions.json - 用户会话状态

  • logs/bot.log - 主日志(每日轮转)

  • logs/error_YYYYMMDD.log - 错误日志

  • logs/{user_id}_{session_id}_{date}.log - 调试聊天记录

  • SDK 对话历史:~/.claude/projects/{PROJECT_DIR_NAME}/*.jsonl

守护进程特性

  • 崩溃自动重启,记录退出码和运行时长

  • 60 秒内崩溃 5 次后停止重启(防止无限循环)

  • 基于 MD5 的依赖缓存,requirements.txt 未变时跳过重装

  • 14 天日志轮转

项目地址

GitHub: github.com/terranc/cla...

欢迎提 Issue 或 PR。如果你也觉得 OpenClaw 太重,可以试试这个方案。

后记

这个项目从想法到能用,大概花了一个周末。代码不复杂,但解决了我的实际问题。

有时候工具不需要很完美,够用就行。OpenClaw 是一辆卡车,我这个是一辆自行车------看你要运货还是通勤。

现在我在地铁上也能用手机跟 Claude 对话,让它帮我改代码、跑测试、查日志。实时流式响应让整个体验很流畅,就像在终端里用 Claude Code 一样。

下一步可能会加个语音输入功能,这样在路上也能用语音跟 Claude 对话。不过这是后话了。

先这样,继续撸代码去了 🚀

相关推荐
武子康3 小时前
🔥 codex-plugin-cc 原理全拆:四层桥接 + JSON-RPC 2.0 + JSONL + 后台任务状态机
人工智能·llm·claude
kyriewen16 小时前
看了微软几万人用AI编程的数据——效率涨24%的代价没人提
前端·ai编程·claude
武子康1 天前
OpenAI 把 Codex 接进 Claude Code:Coding Agent 从单兵工具进入协作系统
人工智能·openai·claude
喜欢天文的1 天前
一个桌面应用,如何把 7 个 AI 编程工具全部"中间人"掉——CC Switch 深度拆解(上)
claude
洛卡卡了1 天前
Claude Code 项目级 Skill:团队协作场景下的使用场景
人工智能·后端·claude
Lazy_zheng2 天前
TDD 实战:Claude Code Superpowers 保姆级教程14 个 Skills 全解析 + 实战开发
前端·claude·vibecoding
plainGeekDev3 天前
多步流水线 + HereDoc:一条脚本完成全自动内容生产
aigc·ai编程·claude
码哥字节3 天前
spec-superflow 上手指南:6 平台安装
claude
小狼1833 天前
实践3|用 Claude Code 从需求文档走到集成测试打通真数据库
claude
冬奇Lab3 天前
开源项目第157期:archify — 用自然语言生成可主题切换、高分辨率导出的架构图
人工智能·架构·claude