# 2026-06-11 内置 Web 浏览器

## 摘要

新增侧栏「浏览器」页：地址栏 + iframe 预览 http(s) 站点；服务器列表增加「站点」快捷入口（由 domain 推导 `https://{host}`）。

## 动机

运维需在 Nexus 内快速查看子机网站，无需切换外部浏览器；与终端、文件管理形成并列运维入口。

## 涉及文件

| 文件 | 变更 |
|------|------|
| `docs/design/specs/2026-06-11-embedded-browser-design.md` | 设计说明 |
| `frontend/src/pages/BrowserPage.vue` | 浏览器页 |
| `frontend/src/composables/useEmbeddedBrowser.ts` | 导航与 session 历史 |
| `frontend/src/utils/browserUrl.ts` | URL 校验与域名推导 |
| `frontend/src/router/index.ts` | 路由 `/browser` |
| `frontend/src/App.vue` | 侧栏入口与全屏布局 |
| `frontend/src/pages/ServersPage.vue` | 「站点」按钮 |

## 限制

- 部分站点 `X-Frame-Options` 禁止嵌入 → 使用「新标签打开」
- 首版无 HTTP 反向代理，不解决所有站点嵌入问题

## 迁移 / 重启

- 仅前端构建部署，无需后端重启或数据库迁移

## 验证

```bash
cd frontend && npm run type-check && npx vite build
```

浏览器：`#/browser` 输入 URL；服务器列表点「站点」应打开对应域名。
