简介:本文面向希望在家庭 NAS 或私有服务器上搭建自托管 AI 智能体的开发者,完整梳理从创建 Linux 虚拟机、初始化系统、配置 SSH 远程运维通道,到安装运行时环境、部署智能体服务并配置进程守护与开机自启的全流程,并补充安全加固与常见问题排查要点。读者用 2 核 4GB 的轻量资源,即可复现一套全天候在线、数据留在本地的私有智能体服务。
自托管 AI 智能体的核心吸引力在于三点:对话数据与工作记录留在自己手里、服务可以全天候在线、扩展能力不受平台限制。而家庭或小型办公环境中的 NAS 天然适合承担这个角色,它常年开机、功耗低、自带虚拟化能力,用一台轻量虚拟机专门跑智能体服务,与 NAS 本身的存储业务互不干扰;虚拟机还带来快照与回滚能力,环境折腾坏了随时恢复。
整个部署链路可以概括为:NAS 虚拟化平台 → Linux 虚拟机 → SSH 远程运维通道 → 运行时环境 → 智能体服务 → 进程守护与开机自启。下面按这条链路逐步展开。
关于资源配置:智能体服务本身只承担“编排与调度”职责,重计算交给所接入的大模型完成,例如调用百度智能云等云厂商提供的大模型 API,或在另一台机器上运行本地推理服务。因此虚拟机本身压力很小,2 核 CPU + 4GB 内存通常绰绰有余;磁盘建议预留 40GB 以上,给系统、运行时和日志留出余量。若后续计划在本机直接跑模型推理,则需要重新评估 GPU 与内存规格,不在本文讨论范围内。
1. 准备系统镜像。 选择一款主流 Linux 发行版的长期支持版本即可,桌面版对新手更友好:安装与排障都有图形界面兜底。将镜像文件上传到 NAS 的共享目录,供虚拟化平台挂载使用。
2. 创建虚拟机。 在 NAS 的虚拟化组件中新建一台 Linux 虚拟机:CPU 分配 2 核、内存 4GB、磁盘 40GB 以上;网络模式建议选择桥接,让虚拟机直接获得局域网地址,后续 SSH 连接与端口访问都更省事。
3. 安装系统。 挂载镜像、启动虚拟机,按图形向导完成安装。两个小建议:一是安装时直接把系统语言选为中文,后续读日志、查文档、敲命令都更顺手;二是设置一个强密码,即便只在内网使用,也不要用弱口令。
安装完成后,先通过虚拟机平台提供的控制台(远程图形界面)完成首次登录,把 SSH 服务跑起来,之后的所有操作都可以转到远程终端进行,不必再盯着控制台窗口。
1. 更新系统并安装基础工具。 登录后先切换到 root(或全程使用 sudo),更新软件源索引,并装齐常用工具:
sudo -i # 输入密码切换到 rootapt update && apt install -y git curl wget vim nano openssh-server
(以上以使用 apt 包管理器的发行版为例,其他包管理体系的发行版替换为对应命令即可。)其中 git 用于拉取仓库与脚本,curl/wget 用于下载文件,vim/nano 用于编辑配置,openssh-server 提供远程登录能力。
2. 配置 SSH 服务。 编辑配置文件:
nano /etc/ssh/sshd_config
加入或修改以下三行,保证后续能用密码从远程登录管理:
Port 22PermitRootLogin yesPasswordAuthentication yes
按 Ctrl+O 保存、回车确认,Ctrl+X 退出编辑器,然后重启服务使配置生效:
systemctl restart ssh
这里要多说一句:这三行属于“调试友好”配置,等于开放了 root 账号的密码登录。放在纯内网环境短期使用问题不大,但如果这台虚拟机将来要做端口映射暴露到公网,就必须收紧:改用密钥登录、关闭密码认证、更换默认端口,并配合防火墙白名单限制来源 IP。安全配置应与部署场景匹配,而不是一味照抄模板。
3. 验证远程连接。 在虚拟机里执行 ip addr 查看局域网地址,然后在日常使用的电脑上用任意 SSH 客户端连接 用户名@虚拟机IP。连接成功后,后续部署全程都可以在这个终端里完成。
1. 为什么要用版本管理器。 这类自托管智能体工具大多发布在 JavaScript 生态中,对运行时版本有明确要求。直接使用系统自带的运行时往往版本过旧,手动安装又难以升级与切换。推荐通过版本管理器来管理:它能安装多个版本随时切换,还有一个关键好处,版本管理器会把运行时装在当前用户的主目录下,因此后续“全局安装”工具时完全不需要 root 权限,误操作破坏系统的风险也随之降低。
2. 安装步骤。 以下为示意流程,脚本地址与包名以工具官方文档为准:
# 1) 安装运行时版本管理器(脚本地址从其官方文档获取,勿用来路不明的镜像)curl -o- <版本管理器官方安装脚本地址> | bashsource ~/.bashrc# 2) 安装长期支持大版本并设为默认(22 为当前主流 LTS 大版本号,以官方要求为准)<vm> install 22<vm> use 22<vm> alias default 22# 3) 全局安装智能体工具本体<pm> install -g <工具包名>@latest
其中 <vm>、<pm> 分别代表运行时版本管理器与其配套的包管理器,实际命令名请对照官方文档替换。
3. 关于本地化版本。 部分智能体工具存在社区维护的中文本地化分支,安装包名与可执行命令名可能与原版不同(功能差异通常不大)。选择时务必核对来源是否可信、维护是否活跃,尽量从官方文档指出的渠道安装,避免装到被篡改的包。
4. 验证安装。 执行 <工具命令> --version 与 <工具命令> --help,能正常输出版本号与帮助信息,说明运行时与工具本体都已就绪。
1. 完成初始化向导。 首次运行工具时,一般会进入交互式引导流程,需要依次确认:模型接入方式(云端 API 密钥或本地推理服务地址;模型能力既可接入百度智能云等云厂商的大模型服务,也可指向自建推理端点)、消息通道(例如即时通讯渠道的接入凭证)、以及工作目录与相关权限。具体配置项以所用工具的文档为准,本文不展开具体参数。
2. 配置进程守护与开机自启。 直接在前台运行的进程,会随 SSH 会话断开而被终止,虚拟机重启后也不会自动拉起。生产式的做法是把它注册为系统服务。以 systemd 用户级服务为例,创建服务文件:
# ~/.config/systemd/user/agent.service[Unit]Description=Self-hosted AI agent serviceAfter=network-online.target[Service]ExecStart=%h/<工具可执行文件路径> runRestart=on-failure[Install]WantedBy=default.target
然后启用并设置开机自启:
systemctl --user enable --now agent.serviceloginctl enable-linger $USER # 允许用户服务在未登录时持续运行
3. 日常运维。 查看实时日志用 journalctl --user -u agent -f;升级时先通过包管理器更新全局包,再重启服务即可。所有运维动作都能在 SSH 终端里完成。
systemctl status ssh 服务状态、虚拟机网络模式是否为桥接、宿主机与客户端之间的防火墙规则。source ~/.bashrc 让环境变量生效;系统级全局安装需要 sudo,且容易造成目录权限混乱,不建议。最后给出几条让服务“长期稳”的建议:
按上述流程走完,一台 2 核 4GB 的 NAS 虚拟机就能稳定承载一套全天候在线的自托管 AI 智能体:数据留在本地,模型能力按需接入云端,后续扩展只需在虚拟机内继续叠加配置。整个过程不依赖任何特定品牌设备,通用虚拟化平台与主流 Linux 发行版均可复现。