加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Kai:把 AI 编程助手装进口袋的 Telegram 控制台
凌晨 2 点,你在家中休息,服务器上的 CI 流水线突然报红——PR #847 的单元测试失败了。如果你在电脑前,直接打开终端敲几行命令就能定位。但你不在。你拿出手机,打开 Telegram,给你的 AI 助手发了一条消息:「review #847」。三分钟后,它返回了详细的分析:哪个测试文件、哪一行、失败原因,以及它认为的修复建议。
这不是科幻场景——这就是 Kai 做的事。
Kai 的作者 dcellison 是一个有深度 DevOps 经验的独立开发者。他发现市面上的 AI 编程助手(Claude Code、Goose、Codex CLI)都很强大,但都运行在本地终端里——这意味着你必须坐在电脑前才能使用。他希望把这些 AI 助手的强大能力延伸到手机上,通过 Telegram 这个他已经重度依赖的通讯工具,随时随地控制他的 AI 编程助手。
更深层的驱动力是隐私和控制。市面上的很多 AI 产品把对话数据发送到云端,但 Kai 坚持:所有数据都在本地,API Key 从不进入对话上下文,一切都在你自己的机器上运行。
想象 Claude Code 是一个超级智能的程序员,但这个程序员只能在你坐在电脑前时跟你说话。Kai 就是这个程序员的「手机遥控器」——你可以通过 Telegram 远程给他发指令,查看结果,就像在手机上的 WhatsApp 对话一样简单。
通过 Telegram 与 AI 编程助手对话,支持流式输出(实时看到 AI 逐字回复)、多轮对话、命令切换工作区。每个用户有独立的进程、对话历史和工作空间,数据完全隔离。
| 后端 | 说明 |
|---|---|
| Claude Code | 默认后端,Anthropic 的官方编程工具 |
| Goose ACP | Block 开发的开源 AI Agent |
| OpenAI Codex CLI | OpenAI 的命令行编程工具 |
| OpenCode ACP | OpenCode 的 ACP 接口实现 |
不同后端的模型选择也不同:Claude Code 支持 Opus/Sonnet/Haiku,Goose/Codex/OpenCode 各自支持自己的模型体系。
三层持久化记忆设计:
当代码被 push 到 PR 时,Kai 自动启动一次性 agent 分析 diff,检查 bug、风格问题和规范一致性,直接在 PR 上发表评论。当新 issue 被创建时,自动进行 triage——打标签、检查重复、分配项目、发送 Telegram 通知。
一台服务器上的 Kai 实例可以服务多个 Telegram 用户,每个用户完全隔离:独立的 agent 进程、独立的工作空间、独立的历史记录。如果配置了 OS 用户分离(os_user),还能实现进程级别的系统账户隔离。
这是 Kai 最值得称道的工程设计:
Path.relative_to() 限制在工作区目录内完全在本地处理,不需要任何云端语音 API。
「下午 3 点提醒我 check CI 状态」「每 30 分钟检查一次 GitHub issue」「当某条件满足时自动取消监控任务」——自然语言即可创建,agent job 完整执行多轮推理。
HTTP 服务器接收 GitHub(push/PR/issue/comment/review 经验证)和通用 webhook(CI pipeline/监控告警/部署钩子),路由到 agent 处理。
┌─────────────────────────────────────────────────────────┐
│ Telegram Bot │
│ (python-telegram-bot, 双模式: 长轮询/ webhook) │
└──────────────────────┬──────────────────────────────────┘
│ 消息路由
┌──────────────────────▼──────────────────────────────────┐
│ Kai 主进程 (Python) │
│ ┌─────────┐ ┌──────────┐ ┌────────┐ ┌────────┐ │
│ │ Webhook │ │ Scheduler│ │ Memory │ │ Sessions│ │
│ │ Server │ │(APScheduler)│ │ Manager│ │ (SQLite)│ │
│ └─────────┘ └──────────┘ └────────┘ └────────┘ │
└──────────────────────┬──────────────────────────────────┘
│ 进程池 / 生命周期管理
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│Claude Code│ │ Goose │ │ Codex │
│ Subprocess│ │ ACP │ │ CLI │
│(用户A) │ │(用户B) │ │(用户C) │
└──────────┘ └──────────┘ └──────────┘
核心抽象是 AgentBackend ABC(backend.py),统一管理所有后端的生命周期、认证和传输层,不管底层是 Claude Code CLI 还是 OpenAI Codex CLI。
优点:
make config 配置向导,交互式引导挑战:
Kai 代表了一个趋势:AI Agent 的「随时随地可访问」。传统的 AI 编程助手受限于终端,而 Kai 通过 Telegram 这个全球最大的即时通讯平台之一,打破了物理位置的限制。它同时也是一个优秀的多后端 Agent 编排框架范例——通过统一的 ABC 抽象,让不同的 AI 后端(Claude/Goose/Codex/OpenCode)可以无缝切换,为 Agent 框架的可插拔设计提供了参考。
项目增长曲线平稳(34 stars),属于小众但高质量的垂直工具,在 GitHub 的 telegram-bot 和 ai-agent 交叉领域有独特定位。