omantoni040-ui/autonomous-devops-repair-agent
GitHub: omantoni040-ui/autonomous-devops-repair-agent
一个面向生产 Linux 服务器的 AI 驱动 DevOps 诊断 Agent,能自动扫描系统健康状况、生成结构化故障报告并发出告警通知,帮助没有专职 SRE 的小团队快速定位常见基础设施问题。
Stars: 0 | Forks: 0
# 面向生产服务器的自主 DevOps 修复 Agent
一个专为提交“告诉我们你用 Agent 构建了什么”这类需求而设计的开箱即用的 Agent 项目。
本项目展示了一个 AI 驱动的 DevOps 工作流,其中 Agent 会扫描 Linux VPS,诊断可能存在的生产环境问题,创建故障报告,并准备安全的恢复建议。
## 为什么这个项目很有趣
小型团队或个人通常会在 VPS 上运行多个服务,而没有配备全职的 SRE。这个 Agent 就像一个轻量级的故障指挥官:
- 检查磁盘、内存、CPU 负载
- 检查重要端口
- 检查已配置的 systemd 服务
- 检查 Docker 容器健康状况
- 检查域名 DNS 解析
- 生成 Markdown + JSON 格式的故障报告
- 创建用于审查的证明产物
- 可选发送 Telegram 告警
它**默认是安全的**:它不会删除文件、重启生产服务、轮换密钥或自动更改运行中的配置。
## 快速开始
```
git clone https://github.com/omantoni040-ui/autonomous-devops-repair-agent.git
cd autonomous-devops-repair-agent
python3 vps_doctor.py --help
python3 vps_doctor.py scan
python3 vps_doctor.py report
python3 vps_doctor.py demo-incident
python3 vps_doctor.py notify-telegram --dry-run
```
## 配置
编辑 `config.example.json` 或将其复制:
```
cp config.example.json config.json
```
示例:
```
{
"ports": [80, 443, 3000],
"services": ["nginx", "docker"],
"domains": ["example.com"]
}
```
使用自定义配置运行:
```
python3 vps_doctor.py --config config.json report
```
## Telegram 通知
设置环境变量:
```
export TELEGRAM_BOT_TOKEN="REDACTED"
export TELEGRAM_CHAT_ID="REDACTED"
python3 vps_doctor.py notify-telegram
```
## 这个仓库的用途
本仓库是一个实用的入门套件,用于在 Linux VPS 上构建安全、Agent 辅助的 DevOps 监控和故障响应工作流。
在以下情况下可以使用它:
- 快速检查服务器是否健康或需要关注
- 检测常见的 VPS 问题,例如端口关闭、磁盘使用率过高、内存压力、systemd 服务失败、Docker 问题或 DNS 故障
- 无需手动收集每一个指标,即可生成简洁的 Markdown 和 JSON 故障报告
- 在进行有风险的生产环境更改之前,准备一份安全的恢复清单
- 为演示、资金申请、黑客松、内部工具或个人项目集创建证明产物
- 在扫描报告警告或严重发现时发送可选的 Telegram 告警
## 工作原理
```
Scan server → classify risk → collect evidence → write report → suggest safe next steps → notify operator
```
该 Agent 不会盲目修改生产环境。它专注于诊断、报告和经操作员批准的恢复。这使其对独立开发者、小团队、VPS 运维人员以及任何管理多个服务但没有专职 SRE 的人都非常有用。
## 输出示例
运行扫描后,该工具会打印一个简明的健康状况摘要,并可以保存完整的产物:
```
Status: critical | Risk: 55/100
- disk: healthy — Root disk usage is 31.24%
- memory: healthy — Memory usage is 4.67%
- ports: critical — Ports closed: 80, 443
- docker: warning — Docker command failed or permission denied
Saved JSON: reports/scan-YYYYMMDD-HHMMSS.json
Saved Markdown: reports/incident-YYYYMMDD-HHMMSS.md
```
## 为什么这很重要
小型生产服务器通常以简单但代价高昂的方式发生故障:端口关闭、磁盘填满、Docker 状况不佳、域名停止解析,或者服务静默崩溃。这个仓库将这些检查转化为一个可重复的工作流,它可以生成证据、风险评分和明确的后续步骤,而不是零散的手动调试。
## 演示清单
你可以通过简单的本地或 VPS 运行来演示该项目:
1. 运行健康扫描:
python3 vps_doctor.py scan
2. 生成完整的故障报告:
python3 vps_doctor.py report
3. 查看生成的产物:
- `reports/scan-*.json` 用于结构化的机器可读结果
- `reports/incident-*.md` 用于人类可读的故障摘要
- `incidents/demo-disk-pressure.md` 用于示例恢复场景
4. 可选:测试 Telegram 告警格式而不发送真实故障:
python3 vps_doctor.py notify-telegram --dry-run
## 更多项目想法
我在 [IDEAS.md](IDEAS.md) 中保留了一份更长的路线图。它包括仪表板、定期检查、配置文件支持、安全修复预览模式、多服务器监控、GitHub Actions 演示以及插件式检查。
## 安全模型
本项目默认设计为安全的。它进行诊断、报告并推荐后续步骤,但避免有风险的生产操作,除非操作员批准它们。
内置安全规则:
- 未经批准不进行破坏性清理
- 报告中不打印密钥
- 不自动重启生产环境
- 不进行任何数据库删除操作
- 无需硬编码凭据
- 没有审计跟踪就不会进行静默修复
目标是帮助操作员在发生故障期间更快地采取行动,同时在可能影响生产环境的更改中仍保持人工审批环节。
标签:AIOps, Docker监控, Linux服务器, Mr. Robot, Python, SRE, SYN扫描, Telegram, VPS, 偏差过滤, 告警通知, 域名解析, 安全修复, 故障诊断, 无后门, 无线安全, 服务器运维, 生产环境, 端口检查, 系统健康检查, 系统巡检, 系统服务, 网络安全审计, 自动化运维, 请求拦截, 资源监控, 运维自动化, 逆向工具