# @fnnas-labs/fnos-cli 中文文档

规范地址：https://npmcn.com/package/%40fnnas-labs/fnos-cli/

版本：0\.6\.2
npm 元数据更新时间：2026-11-12T08:33:43.196Z
中文译文更新时间：2026-11-15T03:52:39.435Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fnnas-labs/fnos-cli
原文对照：https://npmcn.com/package/%40fnnas-labs/fnos-cli/?lang=original
项目主页：https://fnnas.com/
源码仓库：https://github.com/fnnas-labs/fnos-cli-skill

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：308 kB，62 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：0 个
- 首次发布：2026-10-10T08:16:49.045Z
- 最新版本发布：2026-11-12T08:33:42.827Z
- 近 30 天下载量：2964（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

fnOS 特工技能

## 安装

```sh
npm install @fnnas-labs/fnos-cli
```

也可以使用：`pnpm add @fnnas-labs/fnos-cli`、`yarn add @fnnas-labs/fnos-cli`、`bun add @fnnas-labs/fnos-cli`

## README

# @fnnas-labs/fnos-cli

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

了解飞牛 NAS 与 fnOS，访问 [飞牛官网](https://fnnas.com/)。

## 安装与升级

```bash
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` 可能仍为上一版，执行新能力前检查版本和帮助。

```bash
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 生成授权链接：

```bash
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`；[第三方声明](https://github.com/fnnas-labs/fnos-cli-skill/blob/main/THIRD_PARTY_NOTICES.txt) 保留在公开仓库中。

## 首次运行与缓存

安装包携带固定版本的轻量启动器。首次执行 `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 是什么？

fnOS 特工技能

### 如何安装 @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 和提交记录判断。

