我用AI agent 搭了一套All in 1:小龙虾+爱马仕+NAS全家桶
前言
手痒了好久,终于把家里的黑群晖换成了更灵活的PVE虚拟化方案。分享一下完整过程,希望能帮到想折腾但又不想踩太多坑的值友。
整个搭建过程基本由AI Agent完成,我只需要"批准执行"和"验收结果",省心不少。
最终实现的能力:
🖥 NAS双剑合璧:TrueNAS(大容量存储+NFS共享)+ 飞牛fnOS(影音应用)
🔀 软路由:OpenWrt + iStoreOS双保险
🤖 AI助手:接入微信/飞书,自然语言控制家里所有服务
💰 全套硬件约3000元,待机仅25W,年电费~110元
一、整体架构预览

【图1:PVE网络架构图 — 】
如上图所示,所有服务运行在同一台N100小主机上,通过vmbr0虚拟网桥对接家庭路由器,各VM获取独立局域网IP,互相内网通信。
二、硬件清单
2.1 设备选型思路
我的需求是:All in One = 路由 + NAS + AI助手 + 虚拟化
以前为了做黑群晖配置的闲置电脑,NVMe SSD1TB作为PVE系统盘 + VM存储池,SATA SSD 240G直通给fnOS做本地存储,HDD紫盘 4TB共4块直通TrueNAS做NAS存储,还有一块HBA卡LSI 9211-8i1阵列卡,硬盘柜专用。
预算参考:主机+硬盘全套二手价格约3000元左右,比买群晖+NAS便宜不少。
2.2 硬盘资源分配

【图2:硬盘资源分配总览】
核心思路:两块NVMe分别做系统盘和VM虚拟磁盘池;4块HDD通过HBA卡直通给TrueNAS管理;Kingston SSD直通fnOS做本地存储供APP使用。
三、基础环境:安装PVE 9.1
3.1 下载PVE镜像
访问 Proxmox官网
下载 Proxmox VE 9.1 ISO
用Rufus或Ventoy制作启动U盘
3.2 安装PVE
主机接显示器+键盘,启动后选第一个选项进入安装
目标硬盘:选择较小的NVMe SSD(如nvme0n1)
国家:China,时区 Asia/Shanghai
设置root密码:建议用强密码,记录下来
管理网口:选择接路由器的网口
配置IP:建议设置固定IP(如192.168.0.223)
⚠️ 安装时选择"高级模式"可以指定安装到哪块硬盘,避免装错盘。
3.3 PVE基础配置
安装完成后,通过浏览器访问:https://192.168.0.223:8006
配置国内镜像源(可选,海外机器跳过)
bash
复制
# 替换为清华大学镜像源
sed -i 's|http://ftp.debian.org|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
apt update && apt upgrade -y
关闭订阅提示(可选)
bash
复制
sed -i "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-api/proxmoxlib.js
systemctl restart pveproxy
四、存储池配置
4.1 创建NVMe存储池
PVE自带local存储空间有限,建议创建thin-pool供虚拟机使用:
bash
复制
# 创建新的LVM Thin Pool(使用第二块NVMe SSD)
pvcreate /dev/nvme1n1
vgcreate nvme-vg /dev/nvme1n1
lvcreate -L 50G -n nvme-thin nvme-vg
lvconvert --type thin-pool nvme-vg/nvme-thin
# 在PVE Web界面添加存储
# Datacenter → Storage → Add → LVM-Thin
# ID: nvme-thin
# Volume Group: nvme-vg
# Thin Pool: nvme-thin
4.2 存储规划参考
存储名称类型来源用途localdirPVE系统盘ISO、备份local-lvmlvmthinnvme0n1少量VM系统盘nvme-thinlvmthinnvme1n1主要VM磁盘
五、创建虚拟机
5.1 TrueNAS SCALE(NAS系统)
下载ISO:访问 TrueNAS下载页,下载Enterprise或Community版本
创建VM:
bash
复制
# 创建VM
qm create 100 --name truenas --bios ovmf --machine q35 --cpu host --cores 4 --memory 16384
# 系统盘(32G足够)
qm set 100 --scsi0 nvme-thin:vm-100-disk-0,size=32G
# EFI盘
qm set 100 --efidisk0 nvme-thin:vm-100-disk-1,size=4M
# 启动顺序
qm set 100 --boot order=scsi0
# 网络
qm set 100 --net0 virtio,bridge=vmbr0
# 上传ISO后挂载
qm set 100 --ide2 local:iso/TrueNAS-SCALE-24.04.0.iso,media=cdrom
硬盘直通(HBA卡直连):
bash
复制
# 在PVE上确认HBA卡PCI地址
lspci | grep -i sas
# 直通给VM 100(替换01:00.0为实际PCI地址)
qm set 100 --hostpci0 01:00.0,pcie=1
⚠️ 直通前需在BIOS中开启VT-d/IOMMU,并在PVE grub中添加
intel_iommu=on
5.2 飞牛NAS fnOS(国产轻量NAS)
下载ISO:访问 飞牛官网,下载最新ISO
创建VM:
bash
复制
# 创建VM
qm create 104 --name fnas --bios ovmf --machine q35 --cpu host --cores 4 --memory 4096
# 系统盘
qm set 104 --scsi0 nvme-thin:vm-104-disk-1,size=32G
# 网络
qm set 104 --net0 virtio,bridge=vmbr0
# 挂载ISO
qm set 104 --ide2 local:iso/fnos-1.1.26-1650.iso,media=cdrom
# 启动顺序
qm set 104 --boot order=ide2;scsi0
添加本地硬盘给fnOS(关键步骤):
fnOS不支持NFS远程挂载作为存储空间,必须直通物理硬盘:
bash
复制
# 关闭VM
qm stop 104
# 通过磁盘ID直通SSD(比设备名更稳定)
qm set 104 --sata1 /dev/disk/by-id/ata-KINGSTON_SA400S37240G_50026B73808432E3
# 启动VM
qm start 104
然后在fnOS管理页面:【存储管理】→【存储空间】→ 新建存储空间 → 选择224G SSD
5.3 OpenWrt(软路由)
bash
复制
# 创建VM
qm create 101 --name openwrt --cpu host --cores 2 --memory 512
# 系统盘
qm set 101 --scsi0 nvme-thin:vm-101-disk-1,size=124M
# 网络(设置为WAN口)
qm set 101 --net0 virtio,bridge=vmbr0
# 下载OpenWrt镜像并导入
cd /var/lib/vz/template/iso/
wget https://downloads.openwrt.org/releases/23.05.0/targets/x86/64/openwrt-23.05.0-x86-64-generic-ext4-combined.img.gz
gunzip openwrt-*.img.gz
# 转换格式并导入
qm importdisk 101 openwrt-*.img nvme-thin --format qcow2
5.4 iStoreOS(备选路由/NAS)
bash
复制
# 创建VM
qm create 102 --name istoreos --cpu host --cores 2 --memory 1024
# 系统盘
qm set 102 --scsi0 nvme-thin:vm-102-disk-1,size=2436M
# 网络
qm set 102 --net0 virtio,bridge=vmbr0
5.5 LXC容器(AI Agent)
bash
复制
# 下载Debian模板
pveam update
pveam download local debian-12-standard_amd64.tar.gz
# 创建LXC容器
pct create 103 local:vztmpl/debian-12-standard_amd64.tar.gz
--hostname openclaw-agent
--memory 4096
--cores 4
--rootfs local-lvm:20G
--net0 name=eth0,bridge=vmbr0,ip=192.168.0.84/24,gw=192.168.0.1
--features nesting=1,keyctl=1
# 启动容器
pct start 103
pct enter 103
六、TrueNAS配置
6.1 初始化设置
访问
https://192.168.0.65首次登录:账号
admin,设置密码进入【Storage】→【Create Pool】
6.2 创建存储池
bash
复制
# SSH到TrueNAS
ssh admin@192.168.0.65
# 查看可用硬盘
midclt call disk.query | python3 -m json.tool | grep name
# 创建存储池(使用4块4TB硬盘)
midclt call pool.create '{
"name": "DATA",
"topology": {
"data": [{"type": "RAIDZ2", "disks": ["sdb", "sdc", "sdd", "sde"]}]
}
}'
6.3 创建数据集
bash
复制
# 创建通用存储数据集
midclt call pool.dataset.create '{"name": "DATA/general"}'
# 创建AI Agent专用存储(带quota)
midclt call pool.dataset.create '{"name": "DATA/agent-storage"}'
6.4 配置NFS共享
bash
复制
# 启用NFS服务
midclt call service.start "nfs"
# 创建NFS共享(允许内网访问)
midclt call sharing.nfs.create '{
"path": "/mnt/DATA/agent-storage",
"hosts": ["192.168.0.0/24"]
}'
6.5 LXC挂载NFS
bash
复制
# 停止容器
pct stop 103
# 添加NFS挂载点
pct set 103 -mp0 /mnt/agent-storage,mp=/mnt/agent-storage
# 启动容器
pct start 103
pct enter 103
# 安装NFS客户端并挂载
apt update && apt install nfs-common -y
mount -t nfs 192.168.0.65:/mnt/DATA/agent-storage /mnt/agent-storage
# 开机自动挂载(写入/etc/fstab)
echo "192.168.0.65:/mnt/DATA/agent-storage /mnt/agent-storage nfs defaults 0 0" >> /etc/fstab
七、Caddy反向代理配置
7.1 安装Caddy
bash
复制
# SSH到LXC 103
pct enter 103
# 安装Caddy
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' |
gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg]
https://dl.cloudsmith.io/public/caddy/stable/deb any-version main"
> /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install caddy -y
7.2 Caddyfile配置
bash
复制
八、AI Agent配置
8.1 安装OpenClaw
OpenClaw是AI网关服务,负责接收各平台消息并调用LLM API处理:
bash
复制
8.2 安装Hermes(机器人接入层)
Hermes负责对接微信、飞书等通讯平台,将消息转发给OpenClaw处理:
bash
复制
8.3 配置微信/飞书接入
bash
复制
# 配置微信平台接入
openclaw config set platforms.wechat.enabled true
openclaw config set platforms.wechat.auto_reply true
# 配置飞书(需在飞书开放平台创建应用)
openclaw config set platforms.feishu.enabled true
openclaw config set platforms.feishu.app_id 你的AppID
openclaw config set platforms.feishu.app_secret 你的AppSecret
# 重启服务使配置生效
systemctl restart openclaw hermes
⚠️ 重要限制:每个Hermes实例只能接入一个微信账号,多账号需要部署多实例。
8.4 验证链路
bash
复制
# 查看服务状态
systemctl status openclaw hermes caddy
# 测试OpenClaw API
curl -X POST http://localhost:3000/api/chat
-H "Content-Type: application/json"
-d '{"message": "你好"}'
# 查看Hermes日志
journalctl -u hermes -f
九、网络架构总览

【图3:PVE搭建流程图 】
所有服务运行在同一台物理主机(PVE)上,通过 vmbr0 网桥连接家庭路由器,各VM获取独立局域网IP,相互之间通过内网通信。
节点IP角色PVE宿主机192.168.0.223虚拟化平台TrueNAS (VM 100)192.168.0.65统一存储 NASfnOS (VM 104)192.168.0.75轻量文件NAS+影音LXC 103192.168.0.84AI Agent + CaddyOpenWrt (VM 101)根据路由设置软路由iStoreOS (VM 102)根据路由设置备选路由/NAS
十、最终成果
10.1 服务清单
服务地址说明:PVE管理 https://192.168.0.223:8006虚拟机管理
TrueNAS https://192.168.0.65NAS存储管理
fnOS http://192.168.0.75:5666轻量NAS+影音APP
OpenClaw AP Ihttp://192.168.0.84:3000AI网关
Hermes http://192.168.0.84:8000微信/飞书机器人
iStoreOS http://192.168.0.3备选路由/NAS
十一、避坑指南
11.1 硬盘直通注意
HBA卡直通:确保在BIOS中开启VT-d/IOMMU,grub添加
intel_iommu=on直通方式:整块HBA卡直通比逐个磁盘直通更稳定
热插拔:直通硬盘需要关机才能热添加,不能在线插拔
11.2 fnOS存储特殊说明
fnOS的APP(如影音)只能使用本地存储空间,NFS挂载的目录无法被识别为可用存储。解决方案:
将空闲SSD通过
qm set 104 --sata1 /dev/disk/by-id/...直通给fnOS VM在fnOS管理界面创建存储空间后,APP才能正常选择硬盘
11.3 网络注意
网桥模式:PVE默认的vmbr0就是桥接模式,VM直接获取DHCP IP
MAC地址:每个VM的MAC要唯一,否则会IP冲突
内网DNS:建议在路由器上设置.local域名解析
11.4 TrueNAS注意
ECC内存:生产环境建议用ECC,但家用问题不大
备份:重要数据一定要有备份策略(3-2-1原则)
SMB协议:Windows访问用SMB3,Mac用AFP或SMB
11.5 AI Agent注意
API Key安全:DeepSeek等API建议设置额度限制,防止超支
微信限制:每个Hermes实例只能绑定一个微信号,个人号有被限制风险
配置方式:OpenClaw配置必须用CLI命令(
openclaw config set),禁止直接编辑JSON文件数据安全:敏感信息不要发给AI
十二、扩展玩法
12.1 Docker容器
在TrueNAS或fnOS中安装Docker,跑各种服务:
Jellyfin/Emby 影音服务
Home Assistant 智能家居
AdGuard Home 广告拦截
Nginx Proxy Manager 反代
12.2 远程访问
内网穿透:Cpolar、frp
VPN:WireGuard、Tailscale
DDNS:建议用域名+动态DNS,搭配Caddy自动HTTPS
12.3 监控告警
PVE自带邮件告警
TrueNAS告警配置(磁盘SMART监控)
Grafana + Prometheus监控面板
12.4 AI扩展
接入OpenRouter访问多种模型
结合Home Assistant实现智能家居语音控制
用NFS共享存储作为AI Agent的持久化知识库
结语
All in One方案适合爱折腾、愿意花时间维护的值友。如果你只是想安安静静用NAS,买成品是更省心的选择。
但如果你和我一样喜欢自己掌控一切、享受折腾的乐趣,这套方案值得一试。整个搭建过程用AI Agent辅助,效率提高了不少——很多繁琐的命令行操作都可以委托给AI完成,我只需要验收结果就好。
有问题欢迎评论区交流,看到会回复~
声明:本文仅为个人经验分享,不构成任何商业建议。设备选型和配置请根据实际情况调整。
作者提示含AI生成内容。作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

惰落天使
校验提示文案
youjumped
校验提示文案
惰落天使
校验提示文案
惰落天使
校验提示文案
youjumped
校验提示文案
惰落天使
校验提示文案