一家公司跑着20台服务器,其中一台开始不对劲。按老流程走:应用变慢、应用崩溃、员工报修、工程师排查、最后修好。问题在于,这条链路里每一步都在浪费时间,而报修往往发生在崩溃之后。

AutoHeal AI 想改的就是这条链路。它把监控、异常检测、日志分析和自动化恢复塞进同一个应用,目标是在异常刚冒头时就给出解释,而不是等员工来喊。

整套系统跑在本地,不依赖云端AI接口。模型用 Gemma 3,运行时用 Ollama,下载完依赖和模型之后,断网也能用。

它到底怎么运转

流程被拆成一条明确的链路:服务器监控 → 检测到异常活动 → AI分析日志和指标 → Gemma解释可能原因 → 系统给出建议方案 → 批准后执行恢复动作 → 验证恢复结果 → 管理员收到报告。

注意中间那一步"批准"。Gemma 不直接执行系统命令,恢复动作由独立的恢复引擎负责,它要校验权限、执行预设策略,必要时请求人工批准。这个设计不是装饰,是把生成式AI和真实系统操作之间隔开一道闸门。

素材里给了一个示意输入:应用服务器01,CPU占用96%,内存89%,磁盘72%,错误日志里是请求超时、CPU高占用、应用响应延迟。Gemma 的示意输出会标出"高资源占用"警告,列出可能原因——请求量过大、后台进程吃资源、应用代码效率低——再给出建议动作,比如定位吃CPU的进程、检查请求日志、查看最近的部署,最后把风险等级标为 HIGH。

这段输出是示意,不是保证诊断。素材本身也强调,系统不保证每一次故障都能被预测或自动修复。

十个功能,两条技术线

功能清单可以按技术栈分成两组。一组是监控和机器学习:用 psutil 采集 CPU、内存、磁盘和服务状态,用 Isolation Forest 识别异常指标,用 SQLite 存监控数据和历史事件。另一组是生成式AI:Gemma 3 负责解释错误原因、回答运维问题、生成事件报告,Ollama 负责把它跑在本地。

  • 实时服务器监控:Python + psutil
  • AI异常检测:Isolation Forest
  • AI日志分析:Gemma 3
  • 故障风险看板:React
  • 离线AI问答:Ollama + Gemma
  • 自愈自动化:Python + Docker
  • 智能通知:本地通知、邮件
  • 根因建议:Gemma + Python
  • 事件历史:SQLite
  • AI事件报告:Gemma

架构上,React 看板接 FastAPI 后端,后端下面挂三个引擎:监控引擎、AI引擎、恢复引擎。监控引擎对接 psutil 指标,AI引擎对接 Ollama + Gemma,恢复引擎对接预设的批准动作。异常检测器和 Gemma 引擎并行跑,诊断与报告、恢复验证器各自收口。

开发语言是 Python,前端 React,数据库 SQLite,容器化用 Docker,可视化用 Recharts,版本控制 Git,代码托管 GitHub。素材提到,初始版本完全可以在一台 Windows 笔记本上开发。

三个能打动评委的演示点

第一个是预测性预警。假设CPU占用在几分钟内从40%爬到95%,异常检测器识别出这个模式,Gemma 给出解释:CPU利用率显著上升,可能指向资源密集型进程或应用流量增加,建议在性能恶化前排查相关进程。素材同时点明,要做到真正的故障预测,后续还需要包含真实故障的历史数据。

第二个是"问你的服务器"。管理员用自然语言提问,比如"为什么我的服务器变慢",Gemma 结合当前CPU高占用和日志里反复出现的超时错误作答,并可以准备一份排查清单。这里有个前提:问答必须基于真实监控数据,不能凭空编造服务器状态。

第三个是安全自愈,也是素材里认为最强的演示点。演示应用停止响应后,系统检测故障、收集日志、用 Gemma 给出可能原因、检查可用恢复流程、必要时请求批准、重启受影响的演示容器、检查应用是否健康、生成事件报告。评委能亲眼看到一次受控故障被检测并恢复。

开发周期估算是6到10周,难度标为"Hard"。路线图从第1周装环境开始,第2周做监控后端,第3周搭看板,第4周上异常检测,第5周把 Gemma 接进 FastAPI,第6周做离线问答,第7周做受控恢复自动化,第8周加事件报告和通知,第9周测试故障场景,第10周发布到 GitHub 并补文档。

素材最后留了一个硬件问题:Gemma 3 4B 对部分笔记本来说可能太重,需要先确认内存是4G、8G、16G还是32G,处理器是 Intel i3/i5/i7 还是 Ryzen,显卡是 NVIDIA 独显还是核显,系统是 Windows 10 还是 Windows 11。这些参数决定了该选哪个 Gemma 模型。

另外有一条许可提醒:Gemma 是开放权重模型,有自己的许可条款,不能自动把它描述成 OSI 认可的开源许可。应用本身仍然可以按开源方式发布,前提是遵守 Gemma 的许可。