# 2026-06-10 — 移除浏览器 RDP 功能

## 摘要

按产品决定，完全移除 Nexus 内浏览器远程桌面（3389 / guacd / Guacamole）及相关 API、前端页、探针与 Docker 侧车。

## 动机

RDP 浏览器方案投入高、目标机黑屏等问题无法在平台侧根治；不再维护该功能。

## 删除范围

### 后端

- `server/api/rdp.py`、`server/api/rdp_hosts.py`
- `server/infrastructure/guacamole/`（协议、WS 隧道）
- `server/utils/rdp_config.py`、`server/infrastructure/database/rdp_host_repo.py`
- `RdpHost` 模型；迁移 `DROP TABLE IF EXISTS rdp_hosts`
- `server/config.py` 中 `GUACD_*`
- `servers` API：`/rdp-connect` 与 `rdp_*` 字段读写

### 前端

- `RdpPage.vue`、侧栏「3389远程」、路由 `/rdp`
- `composables/rdp/*`、`components/rdp/*`、`guacamole.d.ts`
- 依赖 `guacamole-common-js`

### 运维 / 测试

- `docker-compose.yml`、`docker/docker-compose.prod.yml` 中 `guacd` 服务与环境变量
- `scripts/rdp_*.py`、`scripts/guacd_*.py`
- `tests/test_rdp_*.py`、`tests/test_guacamole_protocol.py`
- E2E `rdp-connect.spec.mjs`

## 迁移 / 重启

- 启动时自动 `DROP TABLE rdp_hosts`（若存在）
- 生产需重新 `docker compose up` 以停掉 guacd 容器并更新 nexus 镜像/前端
- 可从 `.env` 删除 `NEXUS_GUACD_HOST` / `NEXUS_GUACD_PORT`（可选）

## 验证

```bash
pytest tests/ -q --ignore=tests/integration
cd frontend && npm run type-check && npx vite build
```

侧栏不应再出现「3389远程」；`/app/#/rdp` 应 404 或回仪表盘（无路由）。
