在飞牛 NAS 上使用 OpenCode,让 AI 直接参与项目开发、文件编辑和终端操作。
本项目将官方 OpenCode Web 服务适配为 fnOS 原生 FPK 应用,可从飞牛桌面直接打开,无需 Docker。由 HANSHOJIN 维护,与 OpenCode 官方团队无隶属关系。
直接下载 FPK 安装包 · 版本记录 · 问题反馈 · OpenCode 上游
当前版本:2.2.6-1。同步官方 2.2.6,更新检查改为跟随 FN-OPENCODE 项目发布。
| 安装包 | 版本 | 下载 |
|---|---|---|
| x86_64 | 2.2.6-1 | FPK |
| ARM64 | 2.2.6-1 | FPK |
以下说明对应 2.2.6-1。
- 飞牛桌面集成:桌面窗口、深浅色标题栏与紧凑布局。
- AI 编程:使用 OpenCode 的会话、项目、文件操作和终端功能。
- 供应商连接:使用官方 API Key 和 OpenCode Console / Go 账号授权。
- 飞牛设置菜单:保留偏好设置、外观、通知、快捷键、供应商、模型、扩展、程序更新及关于页面。
- 自动审批:使用官方默认自动审批功能,项目可以单独设置权限。
- 项目记忆:沿用原来的
OpenCode/projects共享目录,恢复有历史会话的项目,包括旧.npm项目。不再自动创建新的“默认项目”目录;已有文件与会话保持原位置。 - 数据持久化:共享目录保存项目,应用数据目录保存配置、授权信息和会话。
- 两种访问方式:从飞牛桌面打开(默认端口
5666),也可在浏览器独立访问http://NAS地址:4096,使用安装时设置的 Web 密码登录;2.x 的 HTTP 用户名固定为opencode,端口以实际配置为准。
- 飞牛 fnOS,x86_64 或 ARM64 架构,请下载对应架构的安装包。旧版 ARM64 已由用户实机确认安装运行;新版本的 ARM64 实机运行情况仍需单独验证。
- 使用飞牛管理员账号打开应用。
- NAS 能访问所选模型供应商;本地模型服务需提供 NAS 可访问的地址。
安装时会按需安装飞牛运行时依赖:Node.js 22、Python 3.12、OpenJDK 21。应用另外提供 pnpm 和 Maven;需要 Git 的项目请确保 NAS 已安装 Git。
- 从上方表格下载对应架构的 FPK 安装包。文件名中的
x86_64或arm64应与设备架构一致;Source code是源码归档,不能用于飞牛安装。 - 在飞牛应用中心选择手动安装,上传 FPK。
- 按向导设置服务端口和 Web 密码,等待依赖安装完成。
- 启动应用,点击飞牛桌面的 OpenCode 图标。
- 将项目放入
OpenCode/projects/<项目名称>子目录,在应用内添加该项目目录,连接供应商并新建会话。
日常访问请使用飞牛桌面入口。外网访问沿用飞牛已有的安全访问方式,无需单独映射 OpenCode 服务端口。
在设置中打开“提供商”,选择服务并完成连接。
- API Key:按供应商要求填写密钥和服务地址。
- OpenCode Console / Go:选择对应的提供商,按官方页面提示完成账号授权。2.x 使用原生授权流程,并迁移旧版飞牛授权记录。
- 本地模型服务:使用 NAS 可以访问的服务地址;NAS 上的
localhost指向 NAS 本机。
授权与模型使用范围以供应商账号、套餐和服务状态为准。密钥在 OpenCode 内配置,无需写入安装包。
在 设置 → 偏好设置 → 自动接受权限 开启官方默认自动审批。项目可以单独设置权限,已有配置中的权限规则仍按官方规则处理。该开关不会替代供应商的账号授权。
打开 设置 → 扩展:
- MCP、插件、技能:使用新版官方扩展页面管理;项目也有独立的扩展设置。
技能通过 SKILL.md 文件安装:
| 范围 | 目录 |
|---|---|
| 全局技能 | /var/apps/opencode-fnos/etc/opencode/skills/<名称>/SKILL.md |
| 项目技能 | <项目目录>/.opencode/skills/<名称>/SKILL.md |
旧版飞牛扩展页由官方原生页面接替。技能文件安装后可重启应用,再刷新列表。
从 2.2.6-1 起,应用内更新只跟随本项目的 FN-OPENCODE 发布版本。内核和飞牛适配随完整 FPK 一起更新。
- 打开 设置 → 程序更新,点击“检查 FN-OPENCODE 更新”。
- 有新版本时,下载页面提供的对应架构 FPK。
- 回到飞牛应用中心,选择“手动安装”并选中下载的文件。
也可在聊天中让 OpenCode 查询:
fnos-opencode-update check
fnos-opencode-update status查询与下载安装包不会自动安装。原来的官方内核独立更新、apply 和 rollback 已停用,请通过飞牛应用中心更新完整安装包。历史更新备份保留,不会继续执行旧的内核更新任务。
项目文件位于 OpenCode/projects 共享目录;应用配置、授权信息和会话数据由 fnOS 应用数据目录保存。
- 升级前建议备份重要项目和应用数据。
- 通过完整 FPK 更新 FN-OPENCODE;应用内可检查和下载本项目的新版本,官方内核独立更新已取消。
- 卸载时可选择加密导出私有数据,解密密码为卸载时使用的 Web 密码,请妥善保管。
- 旧导出文件始终使用导出时的旧密码解密;修改 Web 密码不会更改已有备份的加密密码。
- 升级恢复点不会自动删除,确认不再需要后可手动清理,避免长期占用空间。
- 项目共享目录中的文件不会由本项目的卸载脚本删除。
当前使用共享的 OpenCode 实例,不按飞牛账号隔离会话和项目。请仅向可信管理员开放访问。独立 Web 服务端口使用安装时设置的账号密码,不应直接暴露到公网。
Web 密码应独立设置,不要复用飞牛登录或其他账号密码。上游服务需要通过进程环境读取该口令;能在应用账户下执行代码的工具也能读取应用凭据和项目文件。
安装时提示缺少运行环境
Node.js、Python 和 Java 依赖由飞牛应用中心管理。依赖提示本身不代表应用运行在 Docker 容器中。
供应商连接失败或模型不可用
检查供应商账号、套餐、服务地址,以及 NAS 的网络、系统时间和证书。Console 连接异常不会再导致整个供应商列表消失。
界面版本与安装包版本不同
安装包版本包含 fnOS 适配修订号,上游服务和内嵌 Web 界面也可能使用不同版本号。关于界面会分别显示。
窗口标题栏没有随主题变化
关闭应用窗口后重新打开。标题栏适配依赖飞牛当前的窗口结构;fnOS 更新后若出现兼容问题,请提交反馈。
反馈时请附上 fnOS 版本、应用版本、访问方式和错误截图,避免提供密码、API Key 或授权令牌。
需要 Python 3.12+ 和网络连接。构建脚本下载并校验上游程序与打包工具,结果输出到 dist/。
python scripts/build.py也可以指定上游版本、架构和适配修订号:
python scripts/build.py 2.2.6 x86_64 --revision 1安装包检查需要 Bash;Windows 可使用 Git for Windows 提供的 Bash:
python scripts/verify.py网关与授权适配的回归检查需要 Node.js:
python scripts/capture-ui.py
node --test scripts/console-oauth.test.mjs scripts/gateway.test.mjs scripts/gateway-fetch.test.mjs scripts/update-api.test.mjs scripts/attachment-digest.test.mjs
python scripts/runtime.test.py
python scripts/migrate-console.test.py本项目遵循 MIT License,保留上游版权声明。OpenCode 名称及标识归其各自权利人所有。
图标使用 官方 1.19.4 正式版素材,按 fnOS 要求提供 PNG 尺寸;官方矢量图标一并保留。
