@fnnas-labs/fnos-cli

中文文档
0.6.2发布于 2026/11/12MITES Module零依赖构建来源已验证近 30 天下载 2964

fnOS 命令行客户端与 Agent Skill

原始使用文档
文档目录6 节
  1. 安装与升级
  2. 授权
  3. DSH 集成
  4. 许可
  5. 首次运行与缓存
  6. 镜像配置

@fnnas-labs/fnos-cli

fnOS 命令行客户端与 Agent Skill,支持 macOS、Linux 和 Windows 的 x64、arm64。需要 Node.js 18+ 与 npm。

了解飞牛 NAS 与 fnOS,访问 飞牛官网。

安装与升级

npx -y --package=@fnnas-labs/fnos-cli@latest fnos-cli install
fnos-cli --version
fnos-cli --help

该命令安装同版本全局 CLI,并把对应 Skill 安装到 ~/.agents/skills/fnos-cli。已运行的 Agent 可能需要重启才能发现 Skill。现有安装不会自动更新;重复安装命令可显式升级。npm 处理发布期间 latest 可能仍为上一版,执行新能力前检查版本和帮助。

npx -y --package=@fnnas-labs/fnos-cli@latest fnos-cli install --skill-only
npx -y --package=@fnnas-labs/fnos-cli@latest fnos-cli install --project
npx -y --package=@fnnas-labs/fnos-cli@latest fnos-cli install --skip-skill

--skill-only 只安装 Skill;--project 安装到当前项目 .agents/skills/fnos-cli;--skip-skill 只安装 CLI。也可不全局安装,直接用 npx -y --package=@fnnas-labs/fnos-cli@latest fnos-cli --help。

新版只提供 fnos-cli,不提供旧兼容入口。需要重新 OAuth 授权:状态与其他产品隔离,仅使用 FNOS_CLI_* 配置变量。旧凭据不迁移、不读取、不删除。升级只清理能确认归属且未经修改的旧入口和 Skill;未知归属或修改过的内容保留并提示。

授权

安装不等于登录。把 NAS 目标和 profile 告诉 Agent,Agent 生成授权链接:

fnos-cli --profile home --host <nas-host> login --authorize-only --agent-name '<agent>'

用户在浏览器自行登录并授权,把一次性 code 主动发回 Agent;无需运行终端。Agent 以相同目标、profile、执行主机、系统用户和配置环境执行 login --code '<code>',检查令牌保存并做只读验证。完整流程见包内 skill/reference/oauth.md。不提供密码或 token;code 可能留在聊天、工具调用记录和进程参数中。SSH 和容器不自动共享状态;macOS Keychain 可能需要系统批准。用户也可主动选择普通 login 的手动终端流程。

DSH 集成

fnOS 保留 DSH 支持,使用同包的 Skill 和启动器。集成说明见包内 npm/README.dsh.md;两步授权无需交互终端,用户仍自行在浏览器登录并回传 code。

许可

本包使用标准 MIT,版权主体为 Guangzhou TR Intelligent Manufacturing Technology Co., Ltd.。许可覆盖分发的 CLI、Skill 与集成代码,不覆盖 NAS 操作系统、服务端或 API 访问授权。详见包内 LICENSE;第三方声明 保留在公开仓库中。

首次运行与缓存

安装包携带固定版本的轻量启动器。首次执行 fnos-cli --version、--help 或业务命令时,启动器只下载当前执行主机对应的一份 CLI,按包内 SHA-256 校验后运行。下载提示写入 stderr,不混入业务 JSON;安装 Skill 文档不会触发下载,跳过 npm 安装脚本也能首次运行。

首次使用需要联网访问一个可用下载源。缓存准备好后,同一产品、版本和平台的后续调用无需连接下载站。缓存位于当前用户的系统缓存目录下,以命令、版本和平台隔离,无需管理员权限,不修改 PATH,也不读取旧产品登录态。

更新 npm 包或重新安装 Skill 是显式升级;已有入口继续使用自己固定的版本,不会自动升级或删除其他版本。下载失败后重新执行原命令即可重试。校验失败不会执行下载内容;若提示缓存损坏,先确认没有初始化进程运行,再移除提示的缓存目录并重试。残留锁同样只在确认初始化进程已停止后清理。

镜像配置

下载顺序是 GitHub Release、用户配置的兼容 npm 二进制镜像、公共 npmmirror。启动器优先读取环境变量 npm_config_registry;没有设置时,npm 可用则读取 npm config get registry 的有效值。缓存已存在时不再读取这些配置或访问下载站。

镜像基址须为不含用户名、密码、查询参数、空白或反斜杠的 HTTPS URL,可包含企业路径前缀。默认 npmjs registry 不提供二进制接口,会被跳过。镜像使用 /-/binary/fnos-cli/v<版本>/<资产名> 路径;普通 npm registry 可能没有此接口,失败后会继续下一源。环境变量设为空字符串时跳过自定义镜像。

所有源获取同一个固定版本,并使用包内摘要校验。网络或 HTTP 失败会继续下一源;成功收到的内容若大小或摘要不符,立即停止,本次不会尝试其他来源。所有来源都失败后可重新执行原命令。公共镜像的可用性取决于对应产品、版本资产的收录与同步;客户端具备回退逻辑不代表镜像已完成收录。

版本与发布记录

@fnnas-labs/fnos-cli 共发布 18 个版本,首次发布于 2026/10/10;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.6.2latest2026/11/123 天前
0.6.12026/10/2917 天前
0.6.02026/10/2917 天前
0.5.12026/10/1927 天前
0.5.02026/10/1729 天前
0.4.12026/10/1630 天前

关于 @fnnas-labs/fnos-cli 的常见问题

@fnnas-labs/fnos-cli 是什么?

fnOS 命令行客户端与 Agent Skill

如何安装 @fnnas-labs/fnos-cli?

在项目目录运行 npm install @fnnas-labs/fnos-cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fnos-cli,可以用 npx fnos-cli 直接运行。

@fnnas-labs/fnos-cli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/fnnas-labs__fnos-cli 是否存在。

@fnnas-labs/fnos-cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fnnas-labs/fnos-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@fnnas-labs/fnos-cli 可以商用吗?

@fnnas-labs/fnos-cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fnnas-labs/fnos-cli 的下载量有多少?

根据 npm 官方下载统计,@fnnas-labs/fnos-cli 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,964 次,日均约 99 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fnnas-labs/fnos-cli 还在维护吗?

最新版本 0.6.2 发布于 2026/11/12(3 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/10/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。