TeleClaude:自托管 Telegram 机器人,实现隔离 Claude 代码会话
OpenClaw 关闭后,开发者无法通过 Telegram 访问 Claude Code。TeleClaude 解决了这个问题:这是一个基于 Bun 的 TypeScript 应用,能启动本地的 Claude Code CLI 进程,将超级群组话题的消息路由到隔离的项目目录。它使用你自己的 Claude 订阅的 OAuth 认证,无需中间商。
架构与路由
TeleClaude 通过 Grammy 接入 Telegram Bot API。超级群组话题的每条消息都会启动一个专属的 Claude Code 进程,并配有独立的工程文件夹。它支持会话连续性、上下文压缩和内存去重。
Telegram Bot API → Grammy 路由器 → 进程管理器 → Claude Code CLI(按话题隔离)
核心组件:
- 基于话题的路由,注入上下文。
- 进程管理器,支持 TTL、并发限制和清理。
- 基于文件的内存:SOUL.md(个性设定)、main-memory.md(共享知识库)、topic-memory.md(项目历史)。
内存系统与层级
内存采用三级结构,确保会话间上下文持久化:
project/
├── SOUL.md # 沟通风格、规则
├── main-memory.md # 指向共享知识库的符号链接
├── topic-memory.md # 自动更新的项目历史
└── memory/
├── people/
├── services/
├── shared/
└── projects/
Claude Code 会自动更新 topic-memory.md。重启或会话重置时,从文件重新加载上下文。去重机制会定期移除文件间的重复内容。
项目自动化与压缩
超级群组中新话题自动从 templates/ 创建目录。机器人链接 SOUL.md、main-memory.md,并初始化内存。第一条消息即启动 Claude Code,完整上下文就绪。
接近上下文限制时,自动压缩:关键事实存入内存,会话重置。使用 /compact 手动触发。
TeleClaude 功能
- 话题路由:隔离进程和目录。
- 持久内存:三级结构,支持跨项目访问。
- 自动项目创建:新话题使用模板。
- 语音消息:可选本地 Whisper 转录。
- 流式响应:输入指示器和增量更新。
- 模型支持:Opus、Sonnet、Haiku,或通过 Claude Code 的本地模型。
- 管理功能:TTL、限制、进程终止。
安装与配置
要求:Bun 1.0+、已授权的 Claude Code CLI、Telegram 机器人、启用话题的超级群组。
git clone https://github.com/devladpopov/teleclaude.git
cd teleclaude
bun install
cp .env.example .env
cp config/settings.example.json config/settings.json
bun run start
在 settings.json 中设置 allowedUsers、ttlMinutes(默认 30)、maxConcurrent(5)、claudePath。
机器人命令
| 命令 | 描述 |
|------|------|
| /help | 命令列表 |
| /status | 活跃进程与状态 |
| /ttl N | 空闲超时(1–1440 分钟) |
| /name <name> | 重命名话题 |
| /reset | 重置会话,保留内存 |
| /kill | 停止话题进程 |
| /memory | 内存统计 |
TeleClaude 与 OpenClaw 对比
| 方面 | TeleClaude | OpenClaw |
|------|------------|----------|
| 托管 | 自托管 | 云端 |
| 后端 | Claude Code CLI | API |
| 认证 | 个人 OAuth 订阅 | 托管服务 |
| 成本 | 仅 Claude 订阅 | 额外费用 |
| 内存 | 基于文件,持久化 | 内置 |
核心亮点
- 完整话题隔离,无需切换窗口。
- 自托管,仅需 Claude 订阅费用。
- 自动压缩与上下文恢复。
- 支持 Whisper 语音转录与流式回复。
- MIT 许可,可自定义模板和设置。
— Editorial Team
暂无评论。