插件目录 / Automation / deepseek-harness-fnos
deepseek-harness-fnos
已验证 · 实测可装 techysy
功能简介
DeepSeek Harness (DeepSeek 官方 agent 浏览器 UI) fnOS 应用 — 本地常驻服务, 官方统一网关接入
可用 — 实测通过,社区增长中
DeepSeek Harness (DeepSeek 官方 agent 浏览器 UI) fnOS 应用 — 本地常驻服务, 官方统一网关接入 实测能干净安装、正常启动。社区在增长,是个稳妥选择。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
🚀 DeepSeek Harness for fnOS
DeepSeek 官方 Agent 浏览器 UI(一切皆插件)的 fnOS 快捷入口。
- 🎯 目标:https://www.deepseek.com/harness/(DeepSeek Harness 开发者预览版)
- 🐳 离线自托管:
@deepseek-ai/dsh(含 node_modules)随 fpk 内置,安装免联网 - 🐋 图标:DeepSeek 官方黑色鲸鱼 logo
下载安装
从 Releases 下载 fpk,在 fnOS App Center 手动安装。
版本说明
当前版本:0.1.7-rc.2(升级上游 dsh 0.1.7-rc.2,CI 自动上传 Release 资产)
| 文件 | 架构 | 类型 | 说明 |
|---|---|---|---|
dsh-0.1.7-rc.2-iframe-x86.fpk |
x86 | iframe | 桌面窗口内打开(推荐) |
dsh-0.1.7-rc.2-x86.fpk |
x86 | url | 新标签页打开 |
dsh-0.1.7-rc.2-iframe-arm.fpk |
ARM | iframe | 桌面窗口内打开(推荐) |
dsh-0.1.7-rc.2-arm.fpk |
ARM | url | 新标签页打开 |
全部为离线包(含对应架构 node_modules),安装免联网。ARM 版在 manylinux_2_28 容器构建,兼容旧 glibc。
访问方式
dsh 以 fnOS 应用(dsh 用户常驻服务)运行,web 服务绑 0.0.0.0:28000,提供多条访问入口:
| 入口 | 地址 | 说明 |
|---|---|---|
| fnOS 桌面图标 | http://127.0.0.1:28000 |
桌面图标 iframe/url 直连,无需网关 |
| 局域网 / Tailscale | http://<NAS_IP>:28000 |
局域网设备直接访问 |
| FN Connect | https://dsh.<FN_ID>.fnos.net |
FN 鉴权后公网直达(安装向导填 FN ID 自动配置信任域) |
| fnOS 统一网关(可选) | /app/dsh |
经 app.sock → proxy.py → 127.0.0.1:28000 |
安全机制(0.1.2-rc.1 现状):
- 信任围栏:
/api/*校验 Host/Origin,仅放行回环 +--trusted-host列表(本机非回环 IP 自动探测 +fnos.net+trusted_hosts.conf自定义域名),其余来源 403 - 桌面免 401:上游 0.1.2 的浏览器 token 鉴权对静态桌面入口不可用,fpk 运行时补丁对围栏内请求放行(等效"围栏即认证",请勿将 28000 端口暴露到不受信任网络)
- 0.0.0.0 绑定:
cordis.patch.yml覆盖 webserver 配置(dsh CLI 层拒绝--host 0.0.0.0) - 设置页 host 模式:构建期补丁使非 loopback 访问也能读写服务端配置
📖 围栏与回环限制详解:docs/dsh-loopback-restriction.md · docs/dsh-access-and-gateway.md
🛠️ 管理面板(28001)
0.1.5-rc.2 起内置独立管理面板,随 dsh 自动启动,浏览器打开:
http://<NAS_IP>:28001/
| 功能 | 说明 |
|---|---|
| 服务状态 | dsh web 进程/健康检查/运行时长、网关代理、当前版本 |
| 日志查看 | app.log(生命周期)/ dsh.log(dsh 输出)/ 面板日志,tail 尾部 + 5s 自动刷新 |
| 插件管理 | 第三方插件禁用/启用/删除/安装(profile bundles 开关,重启 dsh 生效)——插件不兼容导致启动崩溃循环时可在此快速禁用 |
| 版本检查 | 上游 dsh npm latest 对比当前版本 + 本项目最新 Release 链接 |
| 一键重启 dsh | 面板自身不受重启影响 |
| 📥 一键更新 | 检测到新版本后一键下载对应架构 fpk(Gitee 优先)到 NAS,再点「安装更新」自动完成安装+重启(需一次性 sudo 授权,见下) |
- 零依赖(纯 node,随 fpk 内置),信任面与 dsh 一致:本机/局域网 IP +
fnos.net+ 自定义信任域可访问,其余来源 403 - 日志落点:数据区
dashboard.log;升级/卸载由 uninstall_callback 统一清理 - 启用热更新(一次性,SSH 到 NAS 执行):
授权后「安装更新」按钮生效;不授权则按钮会提示失败,走应用中心手动安装(下载的 fpk 在数据区echo 'dsh ALL=(root) NOPASSWD: /usr/local/bin/appcenter-cli install-fpk /vol*/@appdata/dsh/dsh_home/update/*' | sudo tee /etc/sudoers.d/dsh-hotfix sudo chmod 440 /etc/sudoers.d/dsh-hotfixdsh_home/update/) - 旧版本 fpk 想用面板:把仓库
cmd/dashboard.js+ 最新cmd/main拷到/var/apps/dsh/cmd/后重启 dsh 即可(注意转换 CRLF)
安装
- App Center 手动安装选下载的 fpk(推荐 iframe 版)
- 安装向导填 DeepSeek API Key(
sk-开头,可留空后配置)与 FN ID(如techysy,用于 FN Connect 信任域) - fnOS 桌面打开 DeepSeek Harness 图标进入 UI
依赖:fnOS 自动安装 nodejs_v24 + bunjs(
install_dep_apps),dsh 的 Agent 环境可直接使用 node/npm/pnpm/bun。
配置
DeepSeek API Key
- 安装向导填写,或编辑数据区
dsh_home/.env:DEEPSEEK_API_KEY=sk-xxx - 也可在 dsh 设置页内直接配置官方 / 自定义提供方的 API Key(改后重启应用生效)
端口
| 服务 | 端口/路径 | 说明 |
|---|---|---|
| dsh web | 0.0.0.0:28000 |
DeepSeek Harness 浏览器 UI(局域网直连) |
| 桌面入口 | 127.0.0.1:28000 |
fnOS 桌面图标直连 |
| 网关 socket | app.sock → proxy.py |
统一网关 /app/dsh 入口(可选) |
网络代理(可选)
向导或应用设置页填写代理,写入 dsh_home/proxy.conf(PROXY=http://127.0.0.1:7890),dsh 的出站请求(git/npm/API)走该代理;留空不走代理。上游 0.1.2 起也遵循启动环境的 HTTP_PROXY/HTTPS_PROXY/ALL_PROXY/NO_PROXY。
构建
两条打包路径(详见 docs/packaging-fpk.md):
GitHub Actions 在线打包(推荐) — 手动触发,产出到 artifacts:
gh workflow run build-fpk.yml -f arch=x86 # 或 -f arch=arm
gh run watch # 下载: gh run download <run-id>
离线脚本(NAS 本机,x86 打包机 / ARM 详见 docs/arm-build.md):
bash scripts/build-x86-offline.sh # url 版 + iframe 版,交付到应用中心扫描目录
上游升级 SOP 与补丁核对:docs/upstream-sync-checklist.md。
Agent 环境命令检查
安装后可在 dsh 的 Agent / bash 工具里直接使用以下命令(来自 fnOS 依赖应用,自动加入 PATH):
| 命令 | 来源 | 版本验证 | 数据落点 |
|---|---|---|---|
node |
nodejs_v24 依赖 | node -v |
— |
npm / npx |
nodejs_v24 | npm -v |
全局安装 → 数据区 .npm-global |
pnpm / yarn |
corepack(nodejs_v24) | pnpm --version |
corepack 缓存 → 数据区 .corepack |
bun |
bunjs 依赖 | bun --version |
— |
corepack |
nodejs_v24 | corepack --version |
— |
# 一键验证全部命令
node -v && npm -v && pnpm --version && yarn --version && bun --version
文档
- fpk 打包指南 — 在线 Actions / 离线脚本双路径、版本号策略(跟随上游,本地修复不抬版)、升级 SOP
- 同步上游后检查清单 — 每次同步上游/重装后验证本地补丁是否还在
- 访问与网关 — 多入口访问、proxy.py 网关细节
- 回环限制详解 — 信任围栏 / trusted-host / settings host-mode
- ARM 离线打包
- dsh Node.js 自托管 — node/npm 基础接入
- dsh Agent 命令兼容矩阵 — node/npm/npx/pnpm/yarn/bun/corepack 完整命令 + 数据区配置
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 deepseek-harness-fnos」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:techysy/deepseek-harness-fnos Headless(CLI)profile:
dsh plugin --profile headless add github:techysy/deepseek-harness-fnos 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
自动化一项重复工作——调度、串联任务或响应事件——不用你亲手启动。
适合谁
有周期性工作、想 cron 式无人值守而非手动触发的人。
二次开发建议
触发器和任务模板是缝——加事件驱动或文件监听触发,以及更丰富的流程编排。