Agent 工作站架构图
一台不接显示器的 ThinkStation:PVE 宿主机管理所有虚拟机和容器;agent 跑在 Ubuntu 虚拟机里,经 proxy 容器出网;pages 文档放在共享文件夹,由 web 容器通过 Cloudflare Tunnel 公开发布;笔记本和手机通过 Tailscale 远程访问。
四条主要的数据流
出网:agent → proxy → 互联网
每台 agent 虚拟机的 /etc/environment 里设置了 HTTPS_PROXY=http://192.168.50.101:7890,访问 Anthropic API、GitHub、npm、Docker Hub 都经过 proxy 容器里的 mihomo;国内网站和内网地址直连。见 搭建教程。
发布:访客 → Cloudflare → 隧道 → web 容器
web 容器里的 cloudflared 主动连到 Cloudflare,家里不用开放任何端口。访客打开 pages.chenos.dev,请求经隧道转给容器里的 Caddy(127.0.0.1:8787),Caddy 从只读挂载的 /srv/pages 读文件。见 共享文件夹与 pages。
远程:笔记本 / 手机 → Tailscale → 家庭网段
Tailscale 只装在 PVE 宿主机上,开启子网路由,整个家庭网段都能访问:PVE 网页、mihomo 面板、每台虚拟机的 SSH、T3 Code、Windows 的 RDP 和 Moonlight。虚拟机里不用装 Tailscale。见 Tailscale 教程。
共享:宿主机 /srv/shared → 各虚拟机
用 virtiofs 把宿主机目录挂进每台 agent 虚拟机的 /mnt/shared(读写),再软链接成 ~/NocoBase/pages;web 容器只读挂载其中的 pages/。宿主机每 10 分钟用 git 自动保存 pages 的历史版本。开发中的源码不放共享,每台虚拟机各自 clone。
地址和端口一览
| 地址 | 服务 | 谁能访问 |
|---|---|---|
192.168.50.205:8006 | PVE 网页管理 | 内网 / Tailscale |
192.168.50.101:7890 | mihomo 代理 | 内网(各虚拟机) |
192.168.50.101:9090/ui | mihomo 网页面板(有密码) | 内网 / Tailscale |
127.0.0.1:8787(web 容器内) | Caddy | 只有同一容器里的 cloudflared |
https://pages.chenos.dev | pages 文档 | 公网,任何人 |
192.168.50.111–.115:22 | agent 虚拟机 SSH(只允许密钥登录) | 内网 / Tailscale |
| agent 虚拟机里的 T3 Code 服务端 | T3 Code | 经 SSH,或 T3 Connect / 配对链接 |
Windows 虚拟机 :3389 | RDP 远程桌面 | 内网 / Tailscale,不要映射到公网 |
Windows 虚拟机 :47984–48010 | Sunshine(直通显卡时) | 内网 / Tailscale |
pages.chenos.dev 一个入口,而且是 cloudflared 从里面主动连出去的。路由器上不需要做任何端口映射。内存分配(64G)
宿主机约 6G,两个容器约 1G,虚拟机共 56G。Windows 平时关机时,这 8G 可以多开一台 agent。克隆机之间相同的内存会被 KSM 合并,实际占用通常比分配的少 10%–30%。依据见 选硬件。
对应的教程
- 总览与路线图:按什么顺序搭
- 选型与安装 PVE → proxy 容器和第一台虚拟机 → 开发环境与模板
- Tailscale 远程访问 · T3 Code · 共享文件夹与 pages 发布 · Windows 虚拟机