pages.chenos.dev / workstation / 架构图

Agent 工作站架构图

一台不接显示器的 ThinkStation:PVE 宿主机管理所有虚拟机和容器;agent 跑在 Ubuntu 虚拟机里,经 proxy 容器出网;pages 文档放在共享文件夹,由 web 容器通过 Cloudflare Tunnel 公开发布;笔记本和手机通过 Tailscale 远程访问。

2026-10-06下载 PNG 图片IP 均为示例,按 规划网段和 IP 换成你自己的
互联网 访客浏览器 打开 pages.chenos.dev Cloudflare pages.chenos.dev(隧道入口) Anthropic API · GitHub · npm Docker Hub · 机场节点 Tailscale 协调服务器 / 中继 你的设备(在家或在外) 笔记本 Tailscale 客户端 VS Code Remote-SSH T3 Code 桌面 App 浏览器 → PVE :8006 RDP / Moonlight SSH(~/.ssh/config) 手机 Tailscale App Termius / Mosh + tmux T3 Connect / Moonlight PVE 手机网页 家庭局域网 192.168.50.0/24 路由器 192.168.50.1 DHCP 按 MAC 绑定固定 IP ThinkStation P3 Tower Gen 2(不接显示器) Proxmox VE 9 宿主机 · 192.168.50.205 网页管理 :8006 Tailscale 子网路由 → 整个网段 vmbr0 网桥 连接所有 VM/LXC 模板 tpl-agent 9000 · 克隆新 agent 存储 local-lvm · data4t 定时备份 vzdump(待写) LXC 容器(轻量、可信的小服务) 101 proxy · 192.168.50.101 mihomo 代理 :7890 网页面板 :9090/ui 1 核 · 512M · 开机自启 102 web · 192.168.50.102 Caddy 127.0.0.1:8787 cloudflared 隧道(主动连出) /srv/pages(只读挂载) 共享文件夹 /srv/shared pages/ · ref/ · inbox/ virtiofs → 各 VM /mnt/shared(读写) 每 10 分钟 git 自动保存 pages 历史 ↑ 虚拟机:agent 用 Ubuntu Server 24.04(从模板克隆),另有一台 Windows 11 200 agent-01 · .111 16G · 全量构建/测试 Claude Code + T3 服务端 Node 24 · pnpm Docker(Postgres) tmux 里跑 agent /mnt/shared(virtiofs) HTTPS_PROXY → proxy 201 agent-02 · .112 8G · 日常开发 Claude Code + T3 服务端 Node 24 · pnpm Docker(Postgres) tmux 里跑 agent /mnt/shared(virtiofs) HTTPS_PROXY → proxy agent-03 … 05 .113 – .115 各 8G 环境同上 按需开机 300 win11 · Windows 11 Pro 8G · 平时关机,要用再开 RDP(只走内网/Tailscale) 可选:独显直通 → Sunshine + Moonlight 串流 → 或直接接显示器 + USB 键鼠 VirtIO 驱动 · QEMU Agent 硬件 Core Ultra 9 285 24 核 24 线程 · vPro 内存 64G 可升 128G NVMe 2T 系统盘 NVMe 4T(建议加) 数据盘 data4t 核显 PVE 开机用 独立显卡(可选) 直通给 win11 1 2 3 4 ① 出网:agent 经 proxy(mihomo)访问 API、GitHub、npm ② 发布:web 容器里的 cloudflared 主动连 Cloudflare,访客打开 pages ③ 远程:笔记本、手机经 Tailscale 子网路由进入家庭网段 ④ 共享:宿主机 /srv/shared 用 virtiofs 挂进各虚拟机,只读挂进 web

四条主要的数据流

1

出网:agent → proxy → 互联网

每台 agent 虚拟机的 /etc/environment 里设置了 HTTPS_PROXY=http://192.168.50.101:7890,访问 Anthropic API、GitHub、npm、Docker Hub 都经过 proxy 容器里的 mihomo;国内网站和内网地址直连。见 搭建教程。

2

发布:访客 → Cloudflare → 隧道 → web 容器

web 容器里的 cloudflared 主动连到 Cloudflare,家里不用开放任何端口。访客打开 pages.chenos.dev,请求经隧道转给容器里的 Caddy(127.0.0.1:8787),Caddy 从只读挂载的 /srv/pages 读文件。见 共享文件夹与 pages。

3

远程:笔记本 / 手机 → Tailscale → 家庭网段

Tailscale 只装在 PVE 宿主机上,开启子网路由,整个家庭网段都能访问:PVE 网页、mihomo 面板、每台虚拟机的 SSH、T3 Code、Windows 的 RDP 和 Moonlight。虚拟机里不用装 Tailscale。见 Tailscale 教程。

4

共享:宿主机 /srv/shared → 各虚拟机

用 virtiofs 把宿主机目录挂进每台 agent 虚拟机的 /mnt/shared(读写),再软链接成 ~/NocoBase/pages;web 容器只读挂载其中的 pages/。宿主机每 10 分钟用 git 自动保存 pages 的历史版本。开发中的源码不放共享,每台虚拟机各自 clone。

地址和端口一览

地址服务谁能访问
192.168.50.205:8006PVE 网页管理内网 / Tailscale
192.168.50.101:7890mihomo 代理内网(各虚拟机)
192.168.50.101:9090/uimihomo 网页面板(有密码)内网 / Tailscale
127.0.0.1:8787(web 容器内)Caddy只有同一容器里的 cloudflared
https://pages.chenos.devpages 文档公网,任何人
192.168.50.111–.115:22agent 虚拟机 SSH(只允许密钥登录)内网 / Tailscale
agent 虚拟机里的 T3 Code 服务端T3 Code经 SSH,或 T3 Connect / 配对链接
Windows 虚拟机 :3389RDP 远程桌面内网 / Tailscale,不要映射到公网
Windows 虚拟机 :47984–48010Sunshine(直通显卡时)内网 / Tailscale
对公网开放的只有 pages.chenos.dev 一个入口,而且是 cloudflared 从里面主动连出去的。路由器上不需要做任何端口映射。

内存分配(64G)

宿主机 6G
1G
agent-01 16G
agent-02 ~ 05 · 4 × 8G
win11 8G

宿主机约 6G,两个容器约 1G,虚拟机共 56G。Windows 平时关机时,这 8G 可以多开一台 agent。克隆机之间相同的内存会被 KSM 合并,实际占用通常比分配的少 10%–30%。依据见 选硬件。