# NAS 每日巡检与自动修复

## 目标

每天自动检查 bot1 到 UGREEN NAS 的 SMB 挂载是否正常。重点处理 NAS 局域网 IP 变化导致的连接失败：如果旧 IP 连不上，脚本会在局域网内扫描候选 NAS，验证 `root_for_ai` SMB 共享，然后重新挂载到固定本地路径。

## 关键路径

- 巡检脚本：`/Users/bot1/.hermes/profiles/it/scripts/daily_nas_health_check.py`
- 固定挂载点：`/Users/bot1/Volumes/root_for_ai`
- 本项目目录：`/Users/bot1/Volumes/root_for_ai/AI工作区/通用_NAS每日巡检自动修复_20260607_1217`
- 最新 JSON：`deliverables/nas_health_latest.json`
- 本地 HTML：`deliverables/index.html`
- 历史 JSON：`work/daily_json/YYYY-MM-DD.json`

## 当前验证结果

- 当前 NAS 已挂载为 SMB：`//qianliyun@192.168.1.7/root_for_ai`
- 当前发现 IP：`192.168.1.7`
- 存储容量：约 `45.0GB / 3.6TB`，可用约 `3.5TB`
- 关键目录验证通过：`00_共享区`、`02_项目归档`、`03_用户资料`、`04_产品资产库`、`AI工作区`

## 自动修复边界

允许自动执行：

1. 读取 `.env` 与 NAS SMB 凭据文件中的变量名/值用于连接；不输出密码。
2. 检查挂载点是否为 SMB 挂载。
3. 扫描 `192.168.1.0/24` 中开放 SMB/Web/API/Gitea 端口的候选 IP。
4. 用临时挂载点验证候选 IP 的 `root_for_ai` 共享是否包含关键目录。
5. 如果固定挂载点未挂载或挂载异常，重新挂载 SMB 到 `/Users/bot1/Volumes/root_for_ai`。

明确不做：

- 不写入、移动、删除、覆盖 NAS 上的用户资料/业务资料；只更新本巡检项目自己的 JSON/HTML 报告文件。
- 不改 `03_用户资料`。
- 不改共享知识库内容。
- 不重启 Hermes gateway、LaunchAgent 或 NAS 服务。
- 不自动修改 profile `.env` 里的 NAS_HOST；脚本每次现场发现当前 IP。

## 手动验证命令

```bash
python3 -m py_compile /Users/bot1/.hermes/profiles/it/scripts/daily_nas_health_check.py
python3 /Users/bot1/.hermes/profiles/it/scripts/daily_nas_health_check.py
```
