# 铸渊运维守卫 · 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:

1. **DoS via recursive addressparser** (patched in 7.0.11)
2. **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连不上"** → 运维守卫自动：

1. 识别意图 = `diagnose`
2. 自动执行健康检查
3. 将检查结果 + 上下文传给 LLM
4. LLM 给出自然语言诊断
5. 冰朔可以继续追问 **"刚才说的第二步怎么做？"** — 它记得上下文

### **新增 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 安全扫描已修复 ✅