Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
3.4 KiB
3.4 KiB
铸渊运维守卫 · ZY-OPS-001 · 交付清单
新增文件(14个)
| 文件 | 功能 |
|---|---|
ops-agent/index.js |
主入口 · HTTP API (端口3950) + 定时巡检调度 |
ops-agent/health-checker.js |
三层健康检查 (快速5分钟 / 深度1小时 / 全量每天) |
ops-agent/repair-engine.js |
白名单自修复 (PM2重启 / 日志清理 / Nginx重载 / 依赖重装) |
ops-agent/memory.js |
永久记忆 (事件日志JSONL + 工单JSON + 统计) |
ops-agent/notifier.js |
邮件告警 + 工单通知 (QQ SMTP · HTML邮件) |
ops-agent/llm-client.js |
LLM推理 (17个模式匹配 + DeepSeek深度分析) |
ops-agent/cli.js |
终端交互对话 (zy-ops 命令) |
ops-agent/ecosystem.config.js |
PM2 常驻配置 |
ops-agent/web/index.html |
运维工单面板 UI |
ops-agent/web/app.js |
前端逻辑 (SSE实时推送 + 对话 + 工单管理) |
ops-agent/web/style.css |
深蓝主题样式 |
ops-agent/package.json |
依赖 (express + node-cron + nodemailer) |
ops-agent/README.md |
完整文档 |
ops-agent/.gitignore |
排除运行时 data/ |
部署到服务器后的使用方式
启动守卫:
bash
cd /opt/zhuyuan/ops-agent && npm install --production pm2 start ecosystem.config.js ln -s /opt/zhuyuan/ops-agent/cli.js /usr/local/bin/zy-ops
终端对话:
bash
zy-ops # 进入交互对话 zy-ops --ask "为什么MCP连不上" # 单次提问 zy-ops --check # 快速巡检
网页面板: 访问 http://服务器IP:3950/ops/
自动行为(部署后立即生效)
- ⏰ 每5分钟快速巡检(端口存活)
- ⏰ 每小时深度巡检(内存/磁盘/PM2/Nginx)
- ⏰ 每天早8点发送全量健康报告邮件
- 🔧 服务崩溃 → 自动重启(最多3次)
- 🎫 修不了 → 自动生成工单 + 邮件通知你
- 💬 你随时可以和它对话问问题
Nodemailer upgraded from ^6.9.0 to ^7.0.11 (installed 7.0.13), fixing both vulnerabilities:
- DoS via recursive addressparser (patched in 7.0.11)
- Email routing to unintended domain (patched in 7.0.7)
🛡️ 铸渊运维守卫 Phase 2 — 对话引擎增强
核心能力升级
| 功能 | Phase 1 | Phase 2 |
|---|---|---|
| 对话 | 单次问答 | ✅ 多轮对话,记住上下文,可追问 |
| 诊断 | 被动匹配 | ✅ 意图识别 → 自动执行工具 → LLM 分析 |
| 日志 | 无 | ✅ 直接查看任意 PM2 进程日志 |
| 系统监控 | 无 | ✅ 实时内存/磁盘/PM2/Nginx 面板 |
| CLI | 基础命令 | ✅ /logs, /sysinfo, /session, /new, 打字动画 |
| Web面板 | 基础对话 | ✅ 打字指示器、系统信息面板、会话管理 |
对话体验
冰朔问 "MCP连不上" → 运维守卫自动:
- 识别意图 =
diagnose - 自动执行健康检查
- 将检查结果 + 上下文传给 LLM
- LLM 给出自然语言诊断
- 冰朔可以继续追问 "刚才说的第二步怎么做?" — 它记得上下文
新增 API
GET /api/ops/sessions— 列出活跃会话GET /api/ops/sessions/:id/history— 获取会话历史GET /api/ops/pm2-logs/:name— 查看 PM2 日志GET /api/ops/system-info— 系统资源 + PM2 + Nginx
测试
- 54 个冒烟测试全部通过 ✅
- CodeQL 安全扫描已修复 ✅