说说N1 飞牛 NAS 部署 OpenClaw 实测:Node.js 环境、模型配置、微信接入与远程 SSH

前段时间遇到一个小问题,后来发现这是个挺常见的坑,顺手整理一篇笔记。

N1 飞牛 NAS 部署 OpenClaw 实测:Node.js 环境、模型配置、微信接入与远程 SSH

前言

这次我想验证的,不是 OpenClaw 能不能在高性能设备上跑,而是另一件更实际的事:一台已经刷好 ARM 版飞牛 NAS 的 N1 盒子,能不能长期承担 OpenClaw + 微信这个组合。

N1 的优势很明确:设备便宜、功耗低,而且适合 24 小时开机。问题也同样明显——ARM 环境、家目录、Node.js、Git、OpenClaw 版本、消息平台插件,这几层只要有一层没处理好,就很容易冒出来“看起来装上了,实际下一步又卡住”的情况。

因此这篇不把重点放在“百元设备也能跑 AI”这个结论上,而是沿着真实安装过程逐步验证:

  • SSH 能不能稳定进入飞牛终端;
  • Node.js 和 Git 环境能不能补齐;
  • OpenClaw 在 N1 上用哪个版本更稳;
  • 大模型配置能不能真正通过验证;
  • 微信插件能不能安装、扫码并完成实际对话;
  • 最终,如果人在外面,能不能继续通过 SSH 维护 OpenClaw。
前五步完成以后,OpenClaw 本身已经具备用条件。后面的cpolar只解决远程运维 N1的问题:把 SSH 端口提供到公网,方便异地改模型、看日志、升级 OpenClaw 或调整 channel。

全文会一直保持这个边界:OpenClaw 负责 Agent 和微信对话,cpolar 只负责远程进入 N1 做运维。

1 先确认 N1 是否具备部署条件

OpenClaw 还没开始安装之前,先把基础条件确认清楚。N1 这种设备真正容易出问题的地方,往往不是后面的 AI 配置,而是前面的系统、网络和终端环境。

原文要求 N1 至少满足以下条件:

1. 已刷入飞牛 OS (fnOS):各位的 N1 盒子务必已经成功刷入了 ARM 版本的飞牛 NAS 系统。
2. 稳定的网络连接:为了让各位的微信机器人 24 小时随时待命、秒回消息,强烈建议用网线将 N1 盒子直连路由器,告别 Wi-Fi 断联的烦恼。
3. 同局域网下的电脑:咱们得一台电脑来访问飞牛 NAS 的 Web 后台,这样操作起来才够丝滑。

这三个条件满足以后,再进入 OpenClaw 环境搭建。

2 先补齐 OpenClaw 运行环境

2.1 开启并连接SSH

刷好arm版飞牛Nas系统后,登录进飞牛Nas首页。接着进入【系统设置】中,选择【SSH】,将其启用:

接着,电脑摁下【Win + X】键,选择【终端(管理员)】打开PowerShell窗口:

接着在终端输入如下ssh命令,进行远程连接各位的飞牛Nas终端:

# 其中,n1为你的飞牛Nas用户名,IP地址为你的飞牛IP地址
ssh n1@192.168.50.228

如下图所示:

2.2 安装Node.js环境

这里是第一处值得注意的环境准备。

先在 home 目录下创建当前飞牛 NAS 用户对应的目录并修正权限。后面的 NVM 会依赖当前用户的 HOME 环境:

# 自动获取当前登录用户名并创建家目录,同时修正权限
sudo mkdir -p /home/$(whoami) && sudo chown -R $(whoami):$(id -gn) /home/$(whoami) && sudo chmod 755 /home/$(whoami) && ll /home

如下图,由于我的用户名是【n1】,因此输出的也是n1:

接着,进入到当前用户目录,并且创建基础配置文件:

cd ~ && touch .bashrc && ls -a

如下图:

接着,在终端执行以下命令(这会从 GitHub 下载 NVM 的源代码并存放到 ~/.nvm 目录):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

如下图:

安装完成后,执行如下命令,刷新配置(让 nvm 命令生效):

source ~/.bashrc

# 也可以执行
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # 加载 nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # 加载 nvm 补全

刷新后,进行安装 Node.js 长期支持版 (LTS):

nvm install --lts

(这一步会下载并安装 Node.js,过程可能得 1-2 分钟,请耐心等待。)

如下图所示:

也能通过如下命令查看版本确认:

node -v

如图:

Node.js 能正常返回版本以后,这一层环境才算准备完成。

2.3 安装 Git 环境

Git 已经存在的设备也能跳过安装,先检查当前版本:

git --version

如果没有输出版本信息,则输入如下命令进行安装:

sudo apt install git -y

能够输出类似【git version 2.39.x】或更高版本,说明 Git 环境已经可用。

3 安装 OpenClaw:先建立一个可复现的版本基线

Node.js 和 Git 都准备好以后,再开始安装 OpenClaw。

原文先查看版本列表:

npm view openclaw versions | tail -n 10

如下图所示:

原文当时看到的 OpenClaw 版本已经更新到 3.24 甚至更高,但在 N1 这类 ARM 飞牛 NAS 环境里,没有直接追最新版,而是选择已经验证过的 2026.3.13

这一步的意义不是说新版本一定不好,而是先用已经跑通的版本建立基线。等整条链稳定以后,再决定是否升级。

原文安装命令如下:

npm i -g openclaw@2026.3.13

如下图所示:

原文这次安装大约用了 6 分钟。安装完成以后,下一步继续跑新手引导,而不是直接判断 OpenClaw 已经可用。

4 配置 OpenClaw:先把模型链路跑通

安装包完成以后,接着执行新手引导并安装服务:

openclaw onboard --install-daemon

如下图所示,接着按键盘的左右键,进行选择,切换到【YES】,接着回车(如果选择NO了的话,重新执行引导命令进入即可)::

同意上述提示后,选择【QuickStart】,即代表快速开始,然后进行回车:

接着,来到选择 【AI大脑供应商】页面,也就是给OpenClaw配置一个AI大模型:

原文列出了【MiniMax、Qwen、硅基流动】等平台,并记录了当时的体验额度信息。这次实际配置用的是硅基流动,于是后续所有验证都围绕这一套参数继续。

首先,访问如下地址,来到硅基流动的注册登录界面:

https://cloud.siliconflow.cn/i/TGbSCR57

注册登录后,来到左侧活动中心下的认证专享礼部分,也能领取一张【16元】的认证奖励券:

接着,有了额度以后,即可将其接入到咱们部署的OpenClaw中了。点击侧边栏的【API密钥】,然后进行新建密钥:

创建好以后,点击【复制】按钮,将密钥复制下来备用:

接着,继续回到PoweShell终端的配置OpenClaw界面,用键盘上下选择【Custom Provider】回车,进行自定义配置:

在【API Base URL】这一栏中,将默认的地址去掉,填写如下【硅基流动】的Base API地址:

https://api.siliconflow.cn/v1

接下来,粘贴刚才复制好的【API Key】,然后继续回车:

接下来选择API 接口(Endpoints)兼容,默认为【OpenAI-compatible】,直接回车即可:

回车后,输入模型Code,即代表你要用的模型,可以在模型广场选择一个你要使用的模型Code,这里以【Qwen/Qwen3.5-397B-A17B】为例,因为这个模型本身自带视觉输入的能力,也就是有一定的图片识别能力,稍后配置好了咱们体验一下:

复制整个名称,然后回到配置界面,输入该模型Code,接着回车,等待验证:

Qwen/Qwen3.5-397B-A17B

如下图:

冒出来【Verification successful】以后,才说明模型提供商、API Key、Base URL 和模型 Code 这一整条链已经验证通过。

接着【Endpoint ID】项直接回车,模型别名可以自定义,也可以留空:

回车后,来到下方,选择【channel】部分,这里是配置消息平台,可以接入飞书等平台,这里优先跳过(可以以后配置),直接选选择最底下,跳过即可:

然后是询问配置【Search provider】网页搜索服务提供商的配置项,同样选择跳过:

接着来到技能配置项,直接选择【No】即可,以后配置即可:

来到【Enable hooks】项,可以按需选择,这里选择全部启用(建议启用,包含命令历史、记忆功能等),选择对应的按【空格】键即可选中:

选中后,回车,即开始安装【Gateway】,安装完成后会弹出新的窗口,进行启动OpenClaw的GateWay服务:

此时终端已经输出访问地址和 token。模型链路到这里已经成立,下一步再单独处理微信。

5 接入

由于飞牛 NAS 没有 GUI 浏览器,原文没有继续处理局域网 Web 页面,而是直接转到更实际的使用入口:微信。

这一阶段的判断标准很清楚:插件能不能装、二维码能不能扫、微信里能不能真正完成一轮对话。

首先,在手机微信中打开openclaw的插件位置,如下图所示:

复制其中的插件命令,在飞牛Nas终端执行(安装时间稍长):

npx -y @tencent-weixin/openclaw-weixin-cli@latest install

如下图所示,安装完成后,会冒出来二维码:

用手机微信扫一扫即可连接上openclaw-bot机器人账号:

连接成功并完成重启以后,继续做一次真实对话验证。原文使用的问题如下:

你好,你是谁,你当前运行在什么操作系统上,接入的是什么模型,你是基于什么和我对话的?

如下图所示:

从原文结果看,OpenClaw 已经能够通过微信正常完成这一轮对话。这意味着 N1 上的 Node.js、OpenClaw、模型配置和微信插件最终串成了完整链路:

到这里,N1 作为 24 小时在线 OpenClaw 主机的核心目标已经完成。下面的公网 SSH 只是为了方便后续远程维护。

6 穿透 SSH:给已经跑通的 OpenClaw 补远程运维入口

微信接入成功以后,OpenClaw 本身已经能用了。

但长期运行还会遇到另一类需求:换模型、调权限、升级版本、看日志、改 channel。这些操作仍然得进入 N1 终端。如果人不在局域网内,本地 SSH 地址就无法直接使用。

需要特别说明:这一步穿透的是 N1 的 SSH 端口,不是 OpenClaw 的微信消息,也不是模型 API。它的目的只是让你在外面仍然能登录 N1 做维护。

6.1 什么是cpolar?

  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。

6.2 安装cpolar

回到刚才的【PowerShell终端】窗口,执行如下命令进行一键安装:

sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

6.3 注册及登录cpolar web ui管理界面

访问cpolar官网,点击【免费注册】按钮,进行账号注册:

注册完成后,在浏览器中输入飞牛NAS的IP地址+9200端口访问 web ui管理界面:

http://192.168.50.228:9200/

输入刚才注册好的cpolar账号登录即可进入后台页面:

6.4 穿透ssh实现远程登录

点击左侧菜单栏的【隧道管理】,展开进入【隧道列表】页面,页面下默认会有 2 个隧道:

  • ssh隧道,指向22端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

可以看到,已经有一个ssh隧道了,这就是咱们需要的,因此我们直接来到【状态】下的【在线隧道列表】即可:

可以看到ssh的公网地址是:

tcp://1.tcp.nas.cpolar.cn:11225

让我们开一个新的【PowerShell】窗口连接试试(参考如下格式):

# ssh 飞牛用户名@穿透的域名地址 -p 端口
ssh n1@1.tcp.nas.cpolar.cn -p 11225

如下图:

连接成功以后,说明这条公网 TCP 隧道已经能够真正登录 N1。

到这里,远程运维场景才算验证完成:不在家时也可以进入终端修改 OpenClaw 配置、重启服务或查看日志。

⚠️ 安全提醒:SSH 端口暴露到公网后,应使用足够强的飞牛 NAS 登录密码。原文建议至少 12 位,包含大小写字母、数字和特殊符号,并避免 123456、admin 这类弱密码。

7 固定 TCP 地址

前面的随机 TCP 地址已经完成了最重要的验证:公网 SSH 可以真正连接 N1。

如果只是偶尔应急使用,随机地址已经够用;如果准备把它作为长期运维入口,再配置固定 TCP 地址会更方便。原文说明,随机地址大约每 24 小时会变化一次,而固定 TCP 需要对应套餐支持。

选择【预留】菜单:
](https://images2.cpolar.com/img/202603202130761.png)

往下滚动,可以看到保留的TCP地址项,填写其中的地区和描述项,然后点击保留按钮,操作步骤图如下:

列表中显示了一条已保留的Tcp地址记录:

注:TCP地址是唯一的,每个账号都不相同,请以自己生成保留出来的TCP地址为主

接着,进入侧边菜单栏的【隧道管理】下的【隧道列表】,可以看到名为【ssh】的隧道,点击【编辑】按钮进入编辑页面:

修改端口类型为【固定TCP端口】,然后填写前面固定好的TCP地址,点击更新按钮:

来到【状态】菜单下的【在线隧道列表】可以看到隧道名称为【ssh】的公网地址已经变更为【刚才固定好的TCP地址】了:

让我们再次用新的tcp地址连接测试一下:
如下图:

固定地址同样能够登录成功,说明长期远程 SSH 入口已经跑通。

总结

这篇真正值得保留的,不是“N1 也能跑 OpenClaw”这个结论,而是整条验证过程。

N1 这种 ARM 飞牛 NAS 要把 OpenClaw 真正跑通,至少经历了几层:

  • 先补齐当前用户家目录、.bashrc、NVM、Node.js 和 Git;
  • 不盲目追最新版,原文使用已经验证过的 2026.3.13
  • 通过 Custom Provider 配置硅基流动;
  • Base URL、API Key、OpenAI-compatibleQwen/Qwen3.5-397B-A17B 最终通过 Verification successful
  • Gateway 启动以后,再单独安装微信插件;
  • 扫码完成后,通过微信真实提问验证整条消息链;
  • OpenClaw 已经可用以后,才继续配置公网 SSH 作为远程运维入口;
  • 最终再用固定 TCP 地址做第二次 SSH 登录验证。
这也把整套系统的职责分得相对清楚:
  • N1 + 飞牛 NAS:提供长期在线的运行环境;
  • OpenClaw:负责 Agent、模型调用和微信消息处理;
  • 硅基流动 / Qwen 模型:提供这次实际配置的大模型能力;
  • 微信插件:负责把微信消息接入 OpenClaw;
  • cpolar:只负责让 N1 的 SSH 从外部网络可访问,方便异地维护。
所以,微信机器人能不能工作,并不依赖 cpolar;cpolar 解决的是“机器人已经跑起来以后,人不在家怎么维护它”。

对 N1 这种低功耗设备来说,真正重要的也不是追求最高性能,而是把版本、依赖、模型、消息入口和远程维护都放到一个长期稳定的流程里。原文已经把这条链从安装一直验证到了固定 TCP SSH 登录,这比单纯看到 OpenClaw 启动成功更有参考价值。


暂时整理到这里。以上都是个人理解,可能有疏漏,欢迎指正。

评论 (0)

暂无评论