banner
约 2,700 字
9 分钟

Octop 飞牛 fnOS 原生部署教程:把腾讯云开源 AI 助手装进 NAS,一台机器搭建专属 AI 团队

Octop 飞牛 fnOS 原生部署教程:把腾讯云开源 AI 助手装进 NAS,一台机器搭建专属 AI 团队

摘要

腾讯云 MIT 开源的自托管 AI 助手 Octop 已正式支持飞牛 fnOS 原生部署。基于 v1.0.2b6 release 与真机实测,讲清三款 fnOS 安装包怎么选(Docker 版/本地版 x86/本地版 ARM64)、安装向导的密码策略与数据目录位置、装好后如何配模型供应商,以及端口占用、架构绑定、改密等实测坑。附 Docker 版与本地版完整对比表。

Octop 是腾讯云以 MIT 协议开源的一款自托管 AI 助手。v1.0 之后,它从「开发者玩具」变成真正能在家里 7×24 小时跑的生产工具:多用户、多 Agent、知识库、MCP 连接器、浏览器自动化、Shell 命令护栏,全装进一个进程,数据落在本地 ~/.octop/。

9 月底,Octop 正式支持飞牛 fnOS 原生部署。NAS 玩家终于不用再找 VPS 或开电脑,把 AI 中枢直接放进那台已经全年无休的 NAS,就成了。

本文基于 Octop v1.0.2b6(fnOS 原生部署从 v1.0.2b5 开始引入)与 fnOS 本地版,完整演示:三种 fnOS 安装包怎么选、安装向导有哪些坑、安装完后如何配置模型、以及实测中踩到的端口和架构问题。所有版本号、命令、截图都来自当前 release tag 或真实实例。

为什么要在 NAS 上跑 Octop

家里的 NAS 本来就是最适合跑自托管 AI 的硬件:

  • 全天候在线:不需要额外开机电脑,也不怕笔记本休眠断连。

  • 数据留在本地:对话历史、知识库、文件全部存在 NAS 硬盘,不经过任何第三方服务器。

  • 家庭/小团队共享:多用户隔离,不同 Agent 给不同人用,管理员能管权限和 token。

  • 成本可控:Octop 本身免费,只付模型 API token,或者完全走本地 Ollama。

而 Octop 在 v1.0 后补齐了 NAS 场景最关键的三块:fnOS 应用包、桌面客户端、ACL 与用量管控。对 NAS 用户来说,飞牛原生部署是最省事的一条路。

安装包怎么选

官方每次发版会同时给出三款 fnOS 安装包,Release 里都能直接下载:

版本

包名示例

体积

适用场景

关键依赖

Docker 版(推荐)

Octop-fnos-docker-<ver>.fpk

约 340 KB

有 Docker 的飞牛,x86/ARM 通用

能访问 ghcr.io

本地版 x86_64

Octop-fnos-native-<ver>.fpk

约 200 MB

不想依赖 Docker,x86 飞牛

飞牛应用中心已装「Python 3.12」开发工具

本地版 ARM64

Octop-fnos-native-arm64-<ver>.fpk

约 200 MB

ARM 飞牛且无 Docker

同样要 Python 3.12;不能装到 x86 机器

判断逻辑很简单:

  1. 能连 ghcr.io 且装了 Docker,优先 Docker 版。包体只有几百 KB,运行时再拉镜像,ARM 飞牛也能用。

  2. 不想依赖 Docker、网络环境差,或者想离线运行,选对应架构的 native 版。

  3. 注意:native 版的 .so 扩展与 CPU 架构绑定,ARM 包装到 x86 上启动会报错。

本次演示的机器是 x86_64 飞牛,所以我直接用了 native 版 Octop-fnos-native-1.0.2b6.fpk(实测 154 MB)。

三款包都挂在同一个 v* GitHub Release 上,跟桌面端、wheel 并列,不用去别处找。

安装前的准备

安装 Python 3.12 开发工具

native 版复用飞牛系统里的 Python 3.12,安装前先去飞牛「应用中心」搜索并安装 Python 3.12。如果漏了这步,启动器会给出明确提示:

纯文本
[octop-native] 错误:未找到 Python 3.12。
请先前往飞牛应用中心安装「Python 3.12」开发工具,再重新安装本应用。

下载安装包

打开飞牛「应用中心 → 设置 → 手动安装应用」,选择下载好的 .fpk。也可以提前把包放进 NAS 共享目录再点选。

GitHub Release 下载慢是常态。可以先把 .fpk 下到电脑上再用飞牛「文件管理」传进共享目录,或者用 gh-proxy.com 这类 GitHub 加速代理(在原 URL 前拼 https://gh-proxy.com/)。

安装向导:创建管理员账号

安装完成后进入向导,只需要一步:创建管理员账号。

密码策略必须满足:

  • 至少 8 位

  • 必须同时包含字母和数字

  • 不能是常见弱密码(如 Octop123 会被拒绝)

显示名称、邮箱都是可选项,用户名只能用字母、数字、点、下划线和连字符,2–32 位。

建议在这里把账号密码记牢。安装成功后,飞牛文件管理里的应用共享目录会生成 octop-login.txt,里面备份了登录信息。但注意:如果之后在 Web 控制台里通过「头像菜单 → 修改密码」改过密码,这个文件不会自动更新。

安装向导:创建管理员账号
安装向导:创建管理员账号

启动与访问

native 版默认监听 8089;Docker 版默认是 8088。安装完成、应用中心显示「运行中」后,用浏览器访问:

纯文本
http://<飞牛IP>:8089

首次启动时,启动器会自动初始化数据库和管理员账号。如果启动失败,打开飞牛「文件管理」→ 应用共享里的 Octop 数据目录,查看 octop-start-error.txt。

配置模型:Octop 才能开始对话

登录后第一件事是配模型。Octop 自身不带模型,只负责调度;模型 API Key 需要你自己准备。

进入「设置 → 模型」,选择预设供应商或自定义 OpenAI 兼容接口。常见选项包括:

  • OpenAI / Azure OpenAI

  • Anthropic Claude

  • DeepSeek

  • 智谱 GLM / 通义千问

  • Kimi

  • Ollama(本地模型,无需 API Key)

配置完记得点「测试连接」,通过后再保存。如果失败,检查 API Key、Base URL 和网络连通性。

Octop 控制台「设置 → 模型」:预设 + 自定义供应商
Octop 控制台「设置 → 模型」:预设 + 自定义供应商

装好之后能干什么

配好模型,Octop 才算真正活起来。控制台里几个值得先玩起来的页面:

专家/Agent:从专家库模板一键创建角色,写作、编程、数据分析都有现成的;再套一个 MBTI 人格模板,每个 Agent 的性格就分开了。

专家库:从模板创建 Agent
专家库:从模板创建 Agent

对话(Chat):主界面支持多轮对话、附件上传、工具调用展示,也能用斜杠命令触发特定能力。

对话主界面
对话主界面

通道(IM):把飞书、钉钉、QQ、Discord、企业微信接进来,任务直接落到群聊里。各通道的凭证分别是 App ID/Secret、App Key/Secret、Bot AppID+Token、Bot Token、Corp ID+Agent Secret。

IM 通道开关列表
IM 通道开关列表

定时任务(Cron):自然语言或斜杠命令都能建任务,让 Agent 按时推送结果——这才是 NAS 全年在线最大的价值。

创建定时任务
创建定时任务

知识库:把文档丢进去做 RAG,回答直接基于你自己的资料;同一部署内可以共享语料。

远程桌面 / 浏览器 AI+:前者能在控制台里看屏幕控键鼠(无图形的 Linux 还能一键开隔离桌面),后者是无头 Chromium 会话,网页自动化和截图都靠它。

ACP:往里是 octop acp --agent main 把你的 Agent 挂给 Zed、OpenCode 用;往外是在对话里把编码任务委派给 OpenCode、CodeBuddy、Claude Code、Codex。

安装后的实测要点

我在 x86_64 飞牛上跑了 native 版,实测记录如下:

  • 端口占用:native 版固定 8089,Docker 版固定 8088。不要手动执行 octop run,否则会与应用中心托管的服务实例抢 8089 端口,Web 服务一律由应用中心启停。

  • 改密安全:应用中心的「设置」窗口只能改管理员密码;模型 API Key 和日志级别必须在 Web 控制台里改。

  • 在线升级:native 版内置在线升级,优先用 uv 安装新版 wheel 到包内 site-packages,重启服务后即加载新版。pip 对 octop-harness[all] 的依赖树解析会卡死,所以别用 pip 升。

装好就能用的命令行

安装后 /usr/local/bin/octop 已软链到启动器,SSH 进飞牛(以 root 或 octop-native 身份最顺)就能用官方 CLI 的全部子命令:

bash
octop --help            # 全部子命令
octop version
octop provider list     # 模型 provider
octop agent list        # 专家 / Agent
octop user list         # 用户管理
octop user passwd <用户名> --password <新密码>   # 离线改密
octop skills --help     # 技能管理
octop backup --help     # 备份 / 恢复

忘了管理员密码又不想翻文件时,这条最实用:

bash
octop user passwd admin --password <新密码>

数据在哪个目录

所有运行时数据都落在飞牛的 应用共享目录(TRIM_DATA_SHARE_PATHS,形如 /volX/@appshare/octop-native/data),应用「设置」窗口会显示当前路径。升级和重启都不丢;卸载时可以选保留或完全删除。

几个会用到的文件:

  • octop-login.txt —— 安装或「设置」改密时的密码备份

  • octop-start-error.txt —— 启动失败时的日志

两种形态对比:Docker 版 vs native 版

对比项

Docker 版

native 版

包体积

极小(~340 KB)

较大(~200 MB)

首次启动

需从 ghcr.io 拉镜像

无需额外下载

端口

8088

8089

ARM 支持

很好

仅 ARM64 专用包

离线可用

镜像已拉取后可用

完全离线可用

更新方式

拉新镜像

在线升级 wheel

适合人群

有 Docker、网络好

想彻底原生、无 Docker

常见问题

Q:应用中心显示运行中,但网页打不开?

检查防火墙和飞牛的端口访问规则;确认访问的是 native 版 8089 还是 Docker 版 8088。查看 octop-start-error.txt 里的启动日志。

Q:忘记密码怎么办?

先翻应用共享目录里的 octop-login.txt——但如果你在网页里改过密码,这个文件不会同步更新,那时就得用 SSH:

bash
octop user passwd admin --password <新密码>

Q:Docker 版卡在「启动中」?

八成是 ghcr.io 拉不动。镜像本身是有的(1.0.2b6 的多架构清单里 amd64 和 arm64 都在),可以先确认 Registry 通不通:

bash
# 拿匿名 token 再问一次,返回 200 说明 Registry 可达、多架构清单正常
T=$(curl -s "https://ghcr.io/token?scope=repository:tencentcloud/octop:pull&service=ghcr.io" \
    | python3 -c "import sys,json;print(json.load(sys.stdin)['token'])")
curl -s -o /dev/null -w "%{http_code}\n" -H "Authorization: Bearer $T" \
  https://ghcr.io/v2/tencentcloud/octop/manifests/1.0.2b6

直接 curl 不带 token 拿 401 是正常的,Registry 要求先换 token。真正拉不动时给 Docker 配镜像源,或者改用 native 版——它不需要联网拉任何镜像。

Q:想换模型商或 API Key 怎么办?

去 Web 控制台「设置 → 模型」修改即可,改完保存后会自动重载运行中的 Agent。

Q:Octop 收费吗?

Octop 以 MIT 协议开源,软件本身免费。模型 token 取决于你配置的供应商;如果用本地 Ollama,则可以完全离线、零 API 费用。

结语

Octop 的 fnOS 原生部署,把「一台 NAS 搭建专属 AI 团队」从视频标题变成了真的能跑的操作。对 NAS 玩家来说,这意味着那台 7×24 小时开着的机器不再只是存储仓库,而是变成了家里的 AI 中枢:写作、编程、自动化、知识库都能本地完成。

如果你已经在用飞牛 NAS,建议直接下载 Docker 版尝鲜;不想折腾 Docker 或网络受限的,native 版是更稳的选择。

相关链接

  • Octop GitHub 仓库:https://github.com/TencentCloud/Octop

  • 当前 release 与 fnOS 安装包:https://github.com/TencentCloud/Octop/releases

  • 飞牛 fnOS 官网:https://fnnas.com

END