Claude Code Telegram Bot 深度调研与使用教程
整理时间: 2026-03-29
来源: GitHub RichardAtCT/claude-code-telegram
整理人: AI助手(小开)
摘要
claude-code-telegram 是一个让用户通过 Telegram 远程控制 Claude Code 的 Bot。项目实现了多层安全防护、用户白名单机制、SDk + CLI 双模式,并支持会话持久化。主人提到想搞清楚它用的什么模型,这个 Bot 本身不自带模型,它是通过调用 Claude Code 来实现的,而 Claude Code 底层用的是 Anthropic 的 Claude 系列模型。
一、项目概述
核心定位
通过 Telegram Bot 提供 Claude Code 的远程访问能力,让开发者可以在任何地方与自己的项目对话,无需终端命令。
官方描述
A powerful Telegram bot that provides remote access to Claude Code, enabling developers to interact with their projects from anywhere with full AI assistance and session persistence.
关键特性
| 特性 | 说明 |
|---|---|
| 远程访问 | 通过 Telegram 控制 Claude Code |
| 会话持久化 | 每个用户/项目目录独立会话 |
| 双模式支持 | SDK(主要)+ CLI(备用) |
| 多层认证 | 白名单 + 可选 Token |
| 文件操作沙箱 | 限制在指定目录内 |
二、架构与原理
2.1 核心工作流
用户发送消息(Telegram)
↓
Telegram Bot 接收消息
↓
消息转发到 Claude Code(SDK/CLI)
↓
Claude Code 处理请求
↓
结果通过 Bot 返回
2.2 双模式支持
| 模式 | 说明 | 优先级 |
|---|---|---|
| SDK 模式 | 使用 Claude Code SDK | 主要 |
| CLI 模式 | 降级使用命令行 | 备用 |
2.3 会话管理
- 每个用户有独立会话
- 每个项目目录有独立会话
- 支持会话持久化
三、安全模型(重点)
3.1 多层防御机制
项目实现了纵深防御(Defense-in-Depth)安全模型:
| 层级 | 安全措施 |
|---|---|
| 第一层 | 用户白名单(User Whitelist) |
| 第二层 | 可选 Token 认证 |
| 第三层 | 文件操作沙箱(Approved Directory) |
| 第四层 | API Key 环境变量隔离 |
3.2 白名单机制
只有预先批准的用户 ID 才能访问 Bot:
# 配置环境变量
ALLOWED_USERS=user_id_1,user_id_2,user_id_3
3.3 目录沙箱
文件操作被限制在指定目录内:
# 配置环境变量
APPROVED_DIRECTORY=/home/username/projects
3.4 安全建议
| 建议 | 说明 |
|---|---|
| 使用白名单 | 只允许受信任的用户 ID |
| 配置沙箱目录 | 限制文件操作范围 |
| 分离 API Key | 不要在 Bot 环境暴露 Key |
| 使用 Token | 启用可选的 Token 认证 |
四、环境变量配置
4.1 Telegram 配置
| 变量 | 说明 |
|---|---|
TELEGRAM_BOT_TOKEN |
BotFather 给的 Token |
TELEGRAM_BOT_USERNAME |
Bot 的用户名 |
ALLOWED_USERS |
允许访问的用户 ID(逗号分隔) |
4.2 API 配置
| 变量 | 说明 |
|---|---|
ANTHROPIC_API_KEY |
Anthropic API Key |
OPENAI_API_KEY |
OpenAI API Key(语音识别用) |
4.3 安全配置
| 变量 | 说明 |
|---|---|
APPROVED_DIRECTORY |
文件操作沙箱目录 |
NOTES_DIRECTORY |
Obsidian 笔记目录(可选) |
4.4 MCP 配置
| 变量 | 说明 |
|---|---|
ENABLE_MCP |
是否启用 MCP |
五、安装与使用教程
5.1 前置要求
- Node.js / Bun 环境
- Telegram Bot Token
- Claude Code 访问权限
- Anthropic API Key
5.2 创建 Telegram Bot
- 打开 Telegram,搜索 @BotFather
- 发送
/newbot - 输入 Bot 名称
- 输入 Bot 用户名(必须以 bot 结尾)
- 复制获得的 Token
5.3 获取用户 ID
- 打开 Telegram,搜索 @userinfobot
- 发送任意消息
- 获取自己的 User ID
5.4 安装方式
方式一:源码安装
git clone https://github.com/RichardAtCT/claude-code-telegram.git
cd claude-code-telegram
npm install
方式二:Docker 部署
docker pull ghcr.io/richardatct/claude-code-telegram
5.5 配置环境变量
# Telegram
export TELEGRAM_BOT_TOKEN="your_token_from_BotFather"
export TELEGRAM_BOT_USERNAME="your_bot_name"
export ALLOWED_USERS="your_telegram_user_id"
# Claude Code
export ANTHROPIC_API_KEY="your_anthropic_key"
# 安全
export APPROVED_DIRECTORY="/path/to/allowed/projects"
5.6 启动
# 开发模式
npm run dev
# 生产模式
npm start
5.7 使用 Bot
- 在 Telegram 打开你的 Bot
- 发送
/start或任意消息 - Bot 会检查你的用户 ID 是否在白名单
- 通过自然语言与 Claude Code 对话
六、主人关心的问题:它用的什么模型?
回答: 这个 Bot 本身不运行任何 AI 模型,它只是一个代理层:
| 组件 | 作用 |
|---|---|
| Telegram Bot | 接收用户消息,返回结果 |
| Claude Code | 处理代码任务(使用 Claude 系列模型) |
| Anthropic API | 提供 Claude 模型能力 |
所以:
- Bot 本身没有特定模型
- 实际能力取决于你的 ANTHROPIC_API_KEY
- 底层模型是 Claude 系列(如 Claude 3.5 Sonnet)
七、与其他方案的对比
| 方案 | 本项目 | OpenClaw |
|---|---|---|
| 集成方式 | Telegram → Claude Code | 多渠道集成 |
| 安全 | 白名单 + 沙箱 | 群组规则 |
| 会话 | 项目级持久化 | 多会话管理 |
| 部署 | 需自行部署 | 官方托管可选 |
八、适用场景
| 场景 | 适合度 |
|---|---|
| 远程 Coding | ⭐⭐⭐⭐⭐ |
| 移动办公 | ⭐⭐⭐⭐⭐ |
| 家庭服务器 | ⭐⭐⭐⭐ |
| 公共 Bot | ⭐(安全考虑) |
九、总结
一句话: 把 Claude Code 装进 Telegram,随时随地 Coding。
核心价值:
- 远程控制,无需终端
- 多层安全防护
- 会话持久化
- SDK + CLI 双保险
注意: Bot 本身不运行模型,实际能力取决于你的 Anthropic API Key 配置。
相关链接
| 资源 | 地址 |
|---|---|
| GitHub | https://github.com/RichardAtCT/claude-code-telegram |
| BotFather | @BotFather(Telegram) |
| UserInfoBot | @userinfobot(Telegram) |