ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

NAS虚拟机部署OpenClaw,打造7×24小时常驻AI Agent

NAS虚拟机部署OpenClaw,打造7×24小时常驻AI Agent 把 OpenClaw 这类开源 AI Agent 部署到个人电脑上并不难难的是让它像 NAS 里其他服务一样 7×24 小时稳定运行。很多人本地跑通之后换到 NAS 虚拟机上就遇到一连串问题终端一关服务就挂、API Key 明明没错却一直报 unknown model、NAS 重启后 Agent 不会自动恢复、配置目录里多出 approval 文件不知道能不能删。这篇文章会完整梳理一条“ NAS 虚拟机 OpenClaw ”的落地路径从虚拟化选型、Linux 环境初始化、OpenClaw 安装、DeepSeek 等模型 API 配置到 systemd 后台保活与常见报错排查尽量把每一步的原理和坑点都讲清楚。不管你用的是群晖、飞牛这类带虚拟机模块的 NAS还是 PVE 全家桶按照文中的配置思路都能迁移过去。本文更适合有一定 Linux 基础、想在家用或小型办公室环境里运行一个常驻 AI 助手的开发者。如果你之前只用 Docker 跑过服务看到 systemd 相关内容也不需要紧张我会把每个配置项的含义拆开说明。1. OpenClaw 是什么为什么需要部署在 NAS 虚拟机上1.1 OpenClaw 的核心定位OpenClaw 是一款开源的个人 AI Agent智能体框架。直接理解的话它不是一个“聊天网页”而是一个长期运行的服务进程。你可以给它配置一个大模型 API比如 DeepSeek API然后 Agent 就能接收任务、拆分步骤、调用工具、访问技能文件甚至自动执行一些已经获得授权的命令。很多首次接触的人会把“ Agent 框架”和“大模型 API demo”混在一起。两者的核心区别在于大模型 API demo每次调用都是“问一句答一句”没有状态没有工具调用。Agent 服务有记忆、有工具、有审批机制能完成多步骤任务通常需要有一个守护进程长期跑着。OpenClaw 这类框架还有一个安全设计它对那些需要真实执行的命令采取“审批”机制。当 Agent 计划执行某个敏感命令时不会直接运行而是先记录或提示用户确认。不少人在部署时会看到配置目录下出现exec-approvals.json这个文件保存的就是历史上被批准过的命令记录。它很重要不是随便一个缓存文件。1.2 为什么选择 NAS 虚拟机的组合NAS 最大的优势是常电、低功耗、存储集中。把 OpenClaw 放进 NAS 虚拟机等于给 Agent 安排了一个不关机的小型服务器而且它产生的日志、配置、审批记录都可以落在本地存储里不会被云厂商收走。在这个方案里“虚拟机”不是可有可无的中间层。相比直接把服务塞进 NAS 系统虚拟机有几个实际价值隔离环境OpenClaw 依赖的运行时、配置文件、权限体系都在一个独立 Linux 系统里不会污染 NAS 主系统。快照回滚虚拟机可以在升级前打快照出问题时一分钟内回滚。权限可控你可以在虚拟机里创建专用服务账号而不是以 NAS 管理员身份运行 Agent。便于迁移把整个虚拟机导出或备份就能在另一台机器上恢复同一个环境。当然虚拟化也有额外开销。如果 NAS 本身只有 2GB 内存跑虚拟机可能不如直接跑容器方案舒服。但若你已经有 NAS 虚拟机环境或者想把 Agent 与媒体服务、监控服务隔离开虚拟机仍然是比较稳妥的方案。1.3 这个方案适合谁这套部署方式比较适合三类用户家里已经有群晖、飞牛、PVE 环境的 homelab 玩家。想长期运行一个智能助手而不是每次临时启停脚本的开发者。对数据隐私比较敏感希望 Agent 的配置、日志、历史记录都留在自己设备上的人。如果你只是想在电脑上随便体验一次 OpenClaw直接用本地虚拟机验证即可不一定非得上 NAS。但如果你希望它像服务一样每天稳定在线NAS 虚拟机的思路值得看完。2. 部署前的方案选型与硬件准备2.1 先分清本地 VMware 与 NAS 虚拟机开始之前先做一次容易混淆的概念清扫。很多人最先接触的虚拟化工具是 VMware Workstation它属于运行在 Windows/Linux 桌面系统上的虚拟化软件适合用来临时测试 Linux 镜像或调试 OpenClaw 配置。而 NAS 上常见的虚拟化平台则是另一类比如群晖的 Virtual Machine Manager、飞牛的自带虚拟机模块、PVE 或 ESXi 这类底层虚拟化系统。实际部署中比较顺畅的流程是在本地 VMware Workstation 或 VirtualBox 里安装 Ubuntu快速验证 OpenClaw 安装和 API 配置。跑通之后在 NAS 虚拟机上按同一套配置正式部署。这样做的好处是把“配置问题”和“环境问题”分开。如果本地能跑说明 OpenClaw 配置基本没问题如果上 NAS 后异常重点排查虚拟机资源、网络、开机启动、权限这几个差异点。NAS 虚拟化平台本身是否支持主要看 CPU 是否开启硬件虚拟化也就是 Intel VT-x 或 AMD-V。常见 NAS 系统中群晖需要安装 Virtual Machine Manager 套件飞牛和 PVE 通常在创建虚拟机界面就能直接选择 Linux 系统。不同品牌界面差异很大但核心配置项是一致的。2.2 虚拟机资源建议OpenClaw 本身不是特别吃资源真正需要评估的是它还要承担哪些工作。如果只是通过 API 调用模型、执行少量定时任务低配虚拟机就够但如果同时运行多个智能体会话、接入消息平台、跑本地技能脚本内存就要留足。配置项最低要求推荐配置vCPU2 核4 核内存4 GB8 GB系统盘32 GB64 GB网络桥接模式固定内网 IP宿主机虚拟化Intel VT-x / AMD-V开启嵌套虚拟化备用内存是我最想强调的一点。虚拟机会占用 NAS 物理内存而且 Linux 系统的 page cache 会随着运行时间增长。如果 NAS 本身也要跑 Docker、相册索引、视频转码建议给虚拟机预留足够内存避免多个服务互相挤占导致 OOM也就是内存溢出。2.3 磁盘与镜像准备OpenClaw 的安装文件不会特别大但由于会持续写日志、缓存、审批记录磁盘不建议太小。你可以用精简配置创建虚拟磁盘但要注意精简配置只是“按需占用物理空间”并不代表磁盘空间永远够用。建议提前准备好 Ubuntu Server LTS 镜像。这类镜像比较稳也是很多服务端软件的默认适配系统。不要选带桌面环境的 Ubuntu Desktop会白白占用内存和 CPU。服务器部署尽量用 Server 版本毕竟我们管理它主要靠 SSH。3. 在 NAS 上创建 Linux 虚拟机3.1 创建虚拟机时的关键配置无论你使用哪个 NAS 品牌创建虚拟机时下面几步是通用的上传 Ubuntu Server ISO 镜像到 NAS 存储。新建虚拟机操作系统类型选 Linux版本选 Ubuntu 64-bit。分配 CPU 和内存参照上一节的推荐值。创建虚拟磁盘建议放在 SSD 存储池或读写性能较好的卷上。网络选择桥接模式让虚拟机获得与 NAS 同一网段的独立 IP。安装系统时Ubuntu 安装器会询问是否安装 OpenSSH server这一步务必勾选。OpenClaw 是命令行服务绝大多数操作都通过 SSH 完成没有 SSH 服务会让后续部署非常别扭。安装过程中还会有引导和分区的选项新手直接使用默认的“使用整个磁盘”即可不需要手动分区。3.2 配置静态 IP 与远程访问虚拟机启动后第一件事是拿到它的 IP 地址。桥接模式下登录虚拟机控制台输入下面命令查看地址ip addr动态 IP 在长时间运行的场景中不太可靠。如果 NAS 重启或路由器重新分配地址虚拟机 IP 变了OpenClaw 的 Web 管理面板和外部回调地址都会失效。这里建议直接在虚拟机里配置静态 IP。Ubuntu Server 的网络配置通常使用 netplan。先查看当前网卡名称然后编辑配置文件sudo nano /etc/netplan/99-openclaw.yaml示例内容如下注意替换为自己的网卡名、IP 和网关network: version: 2 ethernets: eth0: dhcp4: false addresses: - 192.168.1.88/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 192.168.1.1 - 223.5.5.5其中192.168.1.88是给虚拟机分配的固定 IP192.168.1.1是路由器网关DNS 地址要换成你内网实际可用的 DNS。保存后执行sudo netplan apply配置成功后重新ip addr查看确认地址。之后在电脑上用 SSH 登录ssh 用户名192.168.1.88后续所有操作都可以在 SSH 会话中完成。3.3 系统初始化操作登录虚拟机后先做一轮基础初始化保证后续安装 OpenClaw 时系统是干净的。sudo apt update sudo apt upgrade -y sudo apt install -y curl git htop tar ca-certificates如果虚拟机内存只有 4GB建议补充一个 swap 文件避免内存不足时进程被系统杀掉sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab注意如果虚拟磁盘使用 Btrfs 等不支持 fallocate 的文件系统可以用dd方式创建 swap 文件。这里以默认 ext4 为例命令在大多数 Ubuntu 安装场景下可以直接使用。4. 安装 OpenClaw4.1 安装方式的选择OpenClaw 的迭代速度比较快官方可能同时提供多种安装方式比如 Release 二进制、Docker 镜像、官方安装脚本。它们在原理上都是把一个可执行服务放到系统里然后通过配置目录读取 API 设置。本文以 Release 二进制解压到/opt/openclaw为例因为这种方式最适合和 systemd 配合也更方便控制服务账号和权限。如果你选择 Docker 方式思路不完全一样。先说一个安全建议官方文档如果提供“一键脚本”不要直接curl | bash完事。比较稳妥的做法是先把脚本下载到本地打开看一眼它做了什么确认没有把 API Key 或系统信息发送到未知服务器再执行。另外市面上有一些第三方“一键部署工具”会要求你提供 API Key甚至帮你远程配置。使用前请务必核实对方是否可信。自己用开源项目部署本来就是为了掌握数据和密钥不要把最核心的 Key 交给来路不明的工具。4.2 下载并解压 Release先查看虚拟机的 CPU 架构以选择正确的安装包uname -m如果输出x86_64选择 amd64 版本如果输出aarch64选择 arm64 版本。下面命令中的owner、tag、archive是占位符需要到官方 GitHub Releases 页面替换为实际值# 进入临时目录 cd /tmp # 下载 release 压缩包地址以官方发布页为准 curl -fL -o openclaw.tar.gz \ https://github.com/owner/openclaw/releases/download/tag/openclaw-linux-amd64.tar.gz # 解压到 /opt/openclaw sudo mkdir -p /opt/openclaw sudo tar -xzf openclaw.tar.gz -C /opt/openclaw # 查看解压内容 ls -l /opt/openclaw解压之后通常会看到一个可执行文件也可能附带默认配置样例。先手动执行一下确认它能正常运行。下面命令中openclaw是可执行文件名按实际解压结果替换/opt/openclaw/openclaw --version /opt/openclaw/openclaw --help由于不同版本子命令可能不同建议把--help输出完整看一遍确认服务启动命令到底是start、serve还是run。这一步非常重要可以避免后续在 systemd 配置里写错命令
返回列表