# 2026-05-27 Agent安装修复 + 两台子服务器Agent部署

## 变更摘要
1. 修复 Agent 安装 404 错误（/agent/ 静态文件未挂载）
2. 修复 curl|bash 管道错误隐藏问题
3. 修复 CRLF 导致远程 shell 脚本执行失败
4. 部署 Agent 到两台子服务器

## 动机
Agent 安装命令一直返回 404，因为 FastAPI 未挂载 /agent/ 静态文件路由。
curl|bash 管道模式会隐藏下载失败。
Windows 工作区给 .sh/.py 文件添加了 CRLF，导致 Linux 上 `\r': command not found`。

## 涉及文件

### 后端
- `server/main.py` — 新增 `app.mount("/agent", StaticFiles(...))` 挂载 web/agent/ 目录
- `server/api/servers.py` — 3处 `curl ... | bash -s --` 改为 `TMP=$(mktemp) && curl ... -o "$TMP" && bash "$TMP" --`

### 前端/Agent
- `web/agent/install.sh` — CRLF→LF
- `web/agent/agent.py` — CRLF→LF
- `web/agent/agent.sh` — CRLF→LF

### 部署脚本
- `deploy/install.sh` — CRLF→LF
- `deploy/health_monitor.sh` — CRLF→LF
- `deploy/db_backup.sh` — CRLF→LF

### 根目录
- `.gitattributes` — 新增，防止 git 自动转 CRLF（*.sh eol=lf, *.py eol=lf）

## Agent 部署结果

| 服务器 | IP | server_id | 状态 |
|--------|-----|-----------|------|
| 机器人 | 66.154.115.131 | 8 | ✅ online, agent_version=2.0.0 |
| 冲量银海 | 39.105.228.140 | 9 | ✅ online, agent_version=2.0.0 |

### 冲量银海额外步骤
- 需先 `apt install python3.11-venv`（Debian 12 默认不带 python3.11-venv）
- install.sh 第2步 `python3 -m venv` 在缺少 ensurepip 时会静默失败，source activate 报错

## 需要迁移/重启
- 是：需重启 Nexus 后端（Supervisor: `supervisorctl restart nexus`）
- 是：需 Nginx reload（`nginx -s reload`）
- 否：无数据库迁移

## 验证方式
1. `curl https://api.synaglobal.vip/agent/install.sh` → 返回脚本内容（非 404）
2. Nexus Dashboard 显示 2 台服务器在线
3. `curl https://api.synaglobal.vip/api/servers/8` → `is_online: true, agent_version: "2.0.0"`
4. `curl https://api.synaglobal.vip/api/servers/9` → `is_online: true, agent_version: "2.0.0"`

## 已知问题
- install.sh 第2步 venv 创建在缺少 python3-venv 时会静默失败，应加检测
- batch install API 返回 success:false 但无具体错误信息，需改进错误上报
