fnos-cli 是什么
一句话:fnos-cli 是用命令行操作飞牛 fnOS NAS 的工具,并且它自带一份写给 AI Agent 看的说明书。
你不需要记命令,也不需要打开网页点来点去 —— 把这份说明书交给你的 Agent(Claude Code、Codex、Cursor、WorkBuddy 等),用自然语言说需求就行;你也可以自己在终端里敲,做脚本和定时任务。
三个概念,先分清
| 名词 | 是什么 | 你需要关心吗 |
|---|---|---|
| fnOS(飞牛) | 装在 NAS 上的国产系统,提供文件、相册、应用中心、Docker、下载等能力 | 你已经有它了,本文默认你能访问到它的地址(如 192.168.1.10:5666) |
| fnos-cli | 一个 Rust 写的命令行程序,直接调 fnOS 的 CGI 接口,把网页上的操作变成一条命令 | 需要一次授权,之后所有操作都靠它 |
| Agent Skill | 一个 Markdown 文档包(SKILL.md + 13 个任务入口 + 19 个模块手册),告诉 Agent「想干这件事该跑哪条命令」 | 装了它,Agent 才会主动用 fnos-cli |
三者关系:Skill 是说明书,fnos-cli 是工具,fnOS 是被操作的对象。 本站就是把这份说明书翻译成人话,同时保留原文备查。
它能做什么
fnos-cli 0.5.1 覆盖 13 个模块,每条命令都是对 fnOS 某个网页功能的直接映射:
| 模块 | 典型用途 |
|---|---|
| 文件 | 列目录、搜索、上传下载、共享目录、ACL 权限、回收站、收藏夹、压缩解压 |
| 照片 | 相册目录、按条件搜图、自然语言搜图(magic-search)、缩略图与原图地址 |
| 应用中心 | 列出/安装/更新/启动/停止/卸载应用,安装本地或 NAS 上的 FPK 包 |
| Docker | 镜像拉取、容器列表与生命周期、Compose 项目、未封装端点透传 |
| 下载 | 磁力/种子/URL 建任务、暂停恢复、重试删除、任务统计 |
| 百度网盘 | 授权状态、容量、云端文件、分享转存到 NAS、上传下载、定时同步 |
| 日志 | 分页筛选、模块列表、导出、归档策略、诊断日志打包 |
| 监控 | CPU/内存/网络/磁盘/进程/服务/电池/风扇/GPU/NPU、蜂鸣器告警 |
| 网络 | 网络服务开关,目前主要是 SSH 开关 |
| 存储 | 存储池、磁盘、SMART 健康、挂载、扩容、换盘、格式化(高危) |
| 系统与电源 | 机型、版本、内核、卷、硬件、电源计划、重启与关机 |
| 用户与权限 | 用户、用户组、登录设备、当前权限 |
| 连接与授权 | 登录、profile 管理、令牌刷新、连接排错 |
还有三个快捷命令:+ls、+search、+status,以及一个 raw 逃生舱 —— 当某个端点还没被封装时,可以直接按端点名调用(只读端点免确认,其余必须加 --yes)。
它不做什么(边界要先说清)
- 只覆盖国内版 fnOS。 国际版 Fygo 是另一套产品(不同的包名、命令名、登录状态),本 Skill 明确不适用。
media子命令不可用。 CLI 本体有media,但这个 Skill 包会主动拦截并返回 exit code 2。- 不碰 fnOS 之外的系统。 它不是 SMB 客户端、不是 SSH 客户端、不是通用文件同步工具;所有操作都走 fnOS 的 HTTP CGI 接口。
- 改不了 CLI 的行为。 仓库里只有文档、启动器和适配器,CLI 是预编译二进制。想扩展能力只能组合现有命令,或用
raw调已审计端点。
两条上手路径
路径 A:交给 Agent(推荐给新手)
在支持 Agent Skill 的工具里装一次,然后直接用中文提需求。安装命令见安装与升级。
路径 B:自己在终端用
把 Skill 目录里的启动器当普通命令用。首次运行会自动下载对应平台的 CLI 并校验 SHA-256。
# 首次:只下载并校验,不接触设备
~/.claude/skills/fnos-cli/scripts/fnos-cli --version
两条路径用的是同一个二进制
Skill 只是文档 + 启动器,两条路径最终跑的是同一份 CLI、共用同一份登录状态(按 profile 隔离)。你在终端里授权过的 profile,Agent 里可以直接复用。