Agent 工作站:总览与路线图
一台不接显示器的 ThinkStation,装 Proxmox VE,跑多台 Ubuntu 虚拟机给调用云端 API 的 coding agent 使用;mihomo 做共享代理,Tailscale 远程访问,T3 Code 做图形界面,共享文件夹里的 pages 通过 Cloudflare Tunnel 公开发布。
路线图
备份、安全与维护
定时备份和恢复演练、安全加固、容量监控、日常更新。
1. 选硬件
用途是跑虚拟机和调用云端 API 的 agent:模型在云上,这台机器主要是等 API 返回、执行命令(装依赖、构建、跑测试、开浏览器)、维持虚拟机。所以内存决定能同时跑几个 agent,硬盘决定能放多少东西,CPU 够用就行。
以 ThinkStation P3 Tower Gen 2(Core Ultra 9 285)为例:
| 部件 | 建议 |
|---|---|
| CPU | Ultra 9 285 够用,不用升级。注意它没有超线程,24 核就是 24 线程;大小核混合架构用 PVE(KVM)没问题,但 ESXi 支持很差 |
| 内存 | 128G(2×64G),留出插槽以后加到 192G 或 256G。有 ECC 选项就选 ECC,7×24 开机更稳 |
| 硬盘 | 原装 2T 做系统盘,再加一块 4T NVMe 放虚拟机和数据,选 TLC 颗粒,不要 QLC |
| 显卡 | 不要独显,核显就能开机和装系统。别被加一张专业卡抬价 |
| 远程管理 | Ultra 9 285(非 K 版)支持 vPro / Intel AMT,可以远程看 BIOS、开关机、重装系统。下单前确认 vPro 是开启的 |
| 网络 | 板载网口就够;有 NAS 或内网大量传文件,再考虑 2.5G/10G 网卡 |
内存怎么估算
| 每个 agent 在做什么 | 每个大约占用 |
|---|---|
| 只读写代码、跑简单命令 | 2–4G |
| 跑 Node/Java 项目,要构建和测试 | 4–8G |
| 还要开浏览器做自动化测试,或者带数据库 | 8–12G |
宿主机自己预留 8G 左右,proxy 和 web 两个容器加起来约 1G。由此估算:64G 约能同时跑 6–8 个中等负载的 agent,128G 约 15 个,192G 20 个以上。像 NocoBase 这样的 monorepo(带数据库,构建也重),按每个 agent 8G 算比较稳妥。
替代方案:不需要品牌机的上门保修和 vPro 的话,自己组 Ryzen 9 9950X(16 核 32 线程,全是同一种核心,虚拟化更省心)加 128G 内存和 4T 硬盘,通常更便宜。缺少的远程管理,可以另外买一个 IP-KVM(PiKVM、JetKVM 等)补上。
2. 规划网段和 IP
所有教程里的地址都按这台工作站实际的网络来写。你家的网段不一样的话,按下面的表对应替换:
入户光纤 → 光猫(192.168.100.x)
└── 路由器 WAN 口
└── 家庭局域网 192.168.50.0/24(网关 192.168.50.1)
├── Mac 192.168.50.59
└── 工作站 PVE 192.168.50.205
192.168.100.2,和 Mac 不在同一个网段,后来改插路由器重装。判断方法:电脑和 PVE 的 IP 前三段要一样。电脑的 IP 在 Mac 终端里用 ipconfig getifaddr en0 查。192.168.50.x 是华硕路由器的默认网段,不算少见。在外面通过 Tailscale 连回家时,如果所在网络恰好也是这个网段,就会冲突。真遇到了,再考虑把家里改成更少见的网段,比如 10.10.0.x。推荐的 IP 规划
| 机器 | 示例 IP | 说明 |
|---|---|---|
| 路由器(网关) | 192.168.50.1 | |
| Mac(笔记本) | 192.168.50.59 | DHCP 自动获取 |
| PVE 宿主机 | 192.168.50.205 | 安装程序按 DHCP 自动填入的地址,直接用;装好后在路由器上绑定 |
| proxy 容器(mihomo) | 192.168.50.101 | 创建容器时设为静态 IP |
| web 容器(Caddy + cloudflared) | 192.168.50.102 | 创建容器时设为静态 IP |
| agent-01、agent-02 … | 192.168.50.111、.112 … | 虚拟机用 DHCP,在路由器里按 MAC 地址绑定 |
路由器上要做的设置
以华硕路由器为例:浏览器打开 http://192.168.50.1 → 高级设置 → 内部网络(LAN)→ DHCP 服务器:
- IP 池起始地址改成
192.168.50.150:.2~.149不再自动分配,留给容器和虚拟机用固定 IP - 启用手动指定 IP,把 PVE 网卡的 MAC 地址绑定到
192.168.50.205(它在自动分配范围里,必须绑定)。MAC 在 PVE Shell 里用ip -br link show vmbr0查 - agent 虚拟机也在这里按 MAC 绑定
.111、.112…(有的路由器只允许绑定范围内的地址,被拒绝的话改用范围内的地址,或者在虚拟机里设固定 IP)
换了网段,这些地方要跟着改
| 位置 | 要改什么 |
|---|---|
| PVE 安装向导的网络设置 | IP、网关、DNS |
| 每个 LXC 容器的网络设置 | IPv4/CIDR、网关 |
mihomo 的 config.yml | rules 里的内网 IP-CIDR 直连规则(192.168.0.0/16、10.0.0.0/8 已经覆盖了常见内网段) |
虚拟机的 /etc/environment | 代理地址,以及 no_proxy 里的内网网段。用 10.x 网段时要把 10.0.0.0/8 加进 no_proxy,否则访问内网也会绕到代理 |
| Docker 的代理配置 | 同上,NO_PROXY 加上你的网段 |
| Tailscale | --advertise-routes= 后面的网段,以及后台批准的子网 |
你电脑的 ~/.ssh/config | 每台虚拟机的 HostName |
cloudflared 的 config.yml | 如果转发到其他机器的内网 IP |
使用 Claude 的合规提醒
- 多台虚拟机跑 Claude Code 本身是允许的,前提是同一个人的账号。订阅制(Pro / Max)的额度是整个账号共用的,有 5 小时滚动额度和每周额度,开 5 个 agent 并行,消耗速度大约就是 5 倍。用完是暂时不能用,不是封号。
- 并行的 agent 多、需要长时间跑,更适合用 API Key 按用量付费,不受订阅额度限制。
- 不能共享账号:不能把账号、登录信息、API Key 给其他人用。团队使用应该每人一个账号,或者开 Team / Enterprise 计划。这也是模板里不放登录信息、每台单独登录的原因之一。
- 地区限制:Anthropic 不支持在中国大陆和香港使用,由这些地区的公司控股超过 50% 的企业也不能使用。代理只解决网络连通,不能让在不支持的地区使用变得合规。在不支持的地区,可以把同样这套架构接到当地可以合规使用的模型服务上。
- 具体以官方文件为准:Anthropic 的服务条款、使用政策、支持的国家和地区。
待实机确认
这些教程是按官方文档和经验写的,以下几处建议在真机上确认,如果和实际不一样,以实际为准:
- PVE 9 里 目录映射(Directory Mappings)和 Virtiofs 设备的菜单名称
- 加了 virtiofs 设备的虚拟机,能不能拍包含内存状态的快照(只拍硬盘的快照应该没问题)
- Clash Verge 局域网代理的默认端口:Rev 版是 7897,老版本是 7890,以软件里显示的为准
- T3 Code 设置里的菜单名称(它更新很快)
- PVE 创建 Windows 虚拟机时“为 VirtIO 驱动添加额外的驱动器”选项的名称;BIOS 里“主显示”选项的名称
- Debian 容器模板里 apt 源文件的位置(
sources.list还是*.sources),教程里的命令两种都处理了
已在实机上确认(2026-10-07,PVE 9.2.21):安装向导、换源、“CT 模板”下载与上传、创建 CT(含“嵌套”选项)的菜单名称和流程,与教程一致。