OpenSRE Telegram 网关部署实战:把聊天机器人变成你的 AI SRE
【免费下载链接】opensreBuild your own AI SRE agents. The open source toolkit for the AI era.项目地址: https://gitcode.com/GitHub_Trending/op/opensre
OpenSRE是一个开源的 AI SRE(智能站点可靠性工程)代理框架,让你在自己基础设施上搭建能排查生产事故、查询监控数据的 AI 助手。本文带你完成OpenSRE Telegram 网关部署:把 Telegram 聊天机器人变成你的 AI SRE,手机上直接和智能体对话查告警、跑定时报告,全程约 10 分钟。
为什么要把 AI SRE 部署到 Telegram?
凌晨 3 点告警响起时,你大概率不想打开电脑登录控制台——而 Telegram 正好是移动端最顺手的选择。OpenSRE 的 Telegram 集成提供两个方向的能力:
- 双向聊天:私聊机器人,它基于你已配置的集成(监控、日志、Kubernetes 等)调用工具,回答"这个告警为什么发生""服务现在什么状态"这类问题;
- 消息投递:告警、定时报告(cron)自动推送到指定的群、频道或私聊。
网关(Gateway)是 OpenSRE 的一个常驻进程,Telegram 使用**长轮询(long polling)**方式接收消息——不需要公网 HTTPS 地址,也不需要端口转发,本地就能跑。它的实现位于 gateway/transports/telegram/,整体架构说明见 gateway/README.md。
| 能力 | 是否支持 | 说明 |
|---|---|---|
| 入站(你 → AI SRE) | ✅ | Telegram 私信文本,经opensre gateway start长轮询接入 |
| 出站(AI SRE → 你) | ✅ | 告警投递 +telegram_send_message工具 + cron 定时报告 |
快速上手:3 步完成 Telegram 集成配置
第 1 步:安装 OpenSRE
macOS / Linux:
curl -fsSL https://install.opensre.com | bash如果你要阅读源码或二次开发,也可以克隆仓库(git clone https://gitcode.com/GitHub_Trending/op/opensre),完整安装说明见 SETUP.md。
第 2 步:用 BotFather 创建机器人拿到 Token
- 在 Telegram 中搜索@BotFather,发送
/newbot; - 给机器人起个显示名(如
OpenSRE Alerts),再给一个以bot结尾的唯一用户名; - BotFather 会回复一个形如
<数字ID>:<密钥>的HTTP API Token——请像密码一样保管它。
接着把机器人拉进目标会话:
- 群组:群设置 → 添加成员 → 搜索你的机器人;
- 频道:管理员 → 添加机器人,并授予Post Messages权限(必需,其他权限均不需要);
- 私聊:直接搜索机器人用户名并发送
/start。
第 3 步:一条命令配置并验证
opensre integrations setup telegram向导会依次询问Bot Token和默认聊天 ID(或@channelname),并当场校验:Token 错误、机器人不在群里,都会在这一步失败,而不是等到第一条告警时才报错。配置完成后运行验证:
opensre integrations verify telegram验证通过会显示机器人的@username。偏好环境变量的话,等效配置为:
TELEGRAM_BOT_TOKEN=<数字ID>:<密钥> TELEGRAM_DEFAULT_CHAT_ID=<聊天ID>💡 找聊天 ID:在目标会话里发条消息,然后浏览器访问
api.telegram.org/bot<TOKEN>/getUpdates,在 JSON 中找chat.id——群和频道是负数,记得连负号一起复制。
启动 Gateway:私聊里开启双向 AI SRE 对话
只收告警不用启动网关;想让机器人能回你话,还需要两步:
# 1. 把你自己的数字用户 ID 加入白名单(可用 @userinfobot 查询) opensre messaging allow -p telegram -u 123456789 # 2. 启动网关守护进程(web + Telegram 聊天 + 任务调度) opensre gateway start常用运维命令:
opensre gateway status # 查看守护进程与各组件状态 opensre gateway logs -f # 跟踪日志 opensre gateway stop # 停止启动后直接私聊机器人即可提问,内置命令有/new(新会话)、/help、/pair <code>(配对授权)。下面是 AI SRE 对流水线失败做根因分析的对话效果:
接收告警与定时报告
配置完成(setup + verify)后,出站投递即可工作,无需网关进程:
- 智能体可通过
telegram_send_message工具把调查结论主动发到指定chat_id; - cron 定时任务可以把每日巡检等报告推送到 Telegram:
opensre cron add --kind github_pr_sweep --cron "0 9 * * 1-5" \ --tz Asia/Shanghai --provider telegram --chat-id <聊天ID>常见坑与排错速查
| 症状 | 解决办法 |
|---|---|
401 Unauthorized | Token 失效——回 BotFather 重新生成并更新 |
chat not found(投递时) | 重新拉机器人进群,并重新获取chat_id |
| verify 通过但消息收不到 | 群升级为-100…前缀后 chat_id 会变,重新获取 |
User <id> is not in the allowed users list | 白名单必须用数字用户 ID(不是@用户名),或完成/messaging pair |
频道提示bot was kicked… | 频道需授予Post Messages管理员权限 |
更完整的排错表见 docs/messaging/telegram.mdx。
安全与部署建议
- Token 视为密码,OpenSRE 默认存入
~/.opensre/credentials.json,不要提交进代码库; - 白名单只认数字用户 ID,永远别用
@username; - 建议为 OpenSRE 建专用机器人,权限最小化;
- 远程部署(如
make deploy-gateway到 EC2)时,远端主机读不到你本地钥匙串,需把TELEGRAM_BOT_TOKEN、TELEGRAM_ALLOWED_USERS、LLM API Key 以明文环境变量写入部署主机的.env。
写在最后
到这里,你的 Telegram 机器人已经升级为一名 7×24 在岗的 AI SRE:告警自动推送、手机上直接追问根因、定时巡检报告准时送达。OpenSRE 是开源项目,Telegram 只是它支持的多个聊天渠道之一——如果你团队在 Slack 或 Discord,也可以参考 docs/messaging/index.mdx 一键切换,智能体核心能力完全复用。
【免费下载链接】opensreBuild your own AI SRE agents. The open source toolkit for the AI era.项目地址: https://gitcode.com/GitHub_Trending/op/opensre
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考