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, 偏差过滤, 告警通知, 域名解析, 安全修复, 故障诊断, 无后门, 无线安全, 服务器运维, 生产环境, 端口检查, 系统健康检查, 系统巡检, 系统服务, 网络安全审计, 自动化运维, 请求拦截, 资源监控, 运维自动化, 逆向工具