DeepSeek Harness 应用
在飞牛 fnOS 上以应用形式运行 DeepSeek Harness,通过 NAS Web 的统一网关打开 dsh Web UI,不需要对外开放端口。
应用介绍
DeepSeek Harness(简称 DSH)是 DeepSeek AI 开源的插件化智能代理工具,提供可扩展的会话、工具调用与插件体系。它本身是通用工具,不感知 fnOS。
本应用把 DSH 打包为 fnOS Native 应用,并补齐它在 NAS 环境中缺失的部分:
- 统一网关访问:通过 fnOS 应用入口以 iframe 打开 dsh Web UI,Web 服务只监听本机回环地址,不单独暴露端口。
- 开箱可用:安装时自动准备 Node.js 运行时、DSH CLI、pnpm 及所需插件;版本已满足时直接复用,无需手工配置环境。
- fnOS 系统集成:适配 fnOS 主题切换,接入 NAS 目录授权与文件访问,支持会话日志导出和文件应用打开。
- 数据留在 NAS:会话、配置与工作区保存在应用数据目录;升级保留用户数据,卸载可自行选择是否清空。
为跑通这些能力所做的适配(网关转发、插件挂载、主题与权限对接等)集中在应用适配说明中。
| 项目 | 值 |
|---|---|
| 应用版本 | 7.0.2 |
| 目标平台 | x86 |
| 运行依赖 | nodejs_v24 |
| DSH 基线 | 0.2.1-rc.5 |
| 入口形态 | iframe / /app/fn-deepseek-harness |
| 分发 | GitHub Releases |
安装
从 GitHub Releases 下载 .fpk 文件,在 fnOS 应用中心选择手动安装,按向导完成配置即可。
开发调试时也可以在 fnOS 设备上进入应用目录执行:
appcenter-cli install-local安装向导会先提示可选 npm 镜像源,再配置监听端口和可信访问地址。DSH 服务地址固定使用 127.0.0.1,不在首次安装时提供地址选择。
运行设置

应用运行后,可在 fnOS 应用中心对该应用打开运行设置,修改后保存会按新配置重启。
| 字段 | 默认值 | 说明 |
|---|---|---|
| 监听地址 | 127.0.0.1 | DSH 暂不支持 0.0.0.0,保持默认即可,由 fnOS 网关转发 |
| 监听端口 | 3080 | DSH Web 的监听端口;iframe 入口要求固定端口,不能填 0 |
| 可信访问地址 | — | 填浏览器打开 NAS Web 时地址栏里的 host 或 host:port,多个用英文逗号分隔 |
可信访问地址的作用是让 DSH 接受来自该来源的请求。例如通过 192.0.2.10:5666 访问 NAS Web,就填 192.0.2.10:5666;不确定端口时只填 host。不要填 3080,那是 DSH 自身的监听端口,不是 NAS Web 的地址。
安装选项
安装向导中还有一项可选配置:
| 字段 | 默认值 | 说明 |
|---|---|---|
| npm 镜像源 | 留空(官方源) | 网络受限时选择可用镜像,安装失败不会自动切换,需重新选择后重试 |
选择的源会持久化到 ${HOME}/.npmrc,由 npm、pnpm 和 DSH CLI 统一读取。
内置插件
FPK 安装和升级时会按发布清单以精确版本准备插件:
| 插件 | 提供能力 |
|---|---|
@tnnevol/dsh-fnos | fnOS 主题、授权目录、NAS 文件访问、会话日志导出 |
@tnnevol/dsh-codex-auth | ChatGPT 账号登录 Codex、模型目录、用量与图片输入 |
@tnnevol/dsh-failover-search | 三方网页搜索与网页抓取兜底、平台用量展示 |
精确版本由发布清单 apps/fn-deepseek-harness/app/published-dsh-plugins.json 持有,本页不重复登记(避免两处版本号漂移)。
@tnnevol/dsh-midscene 不随本应用内置:浏览器自动化是用完即走的场景,需要时自行执行 dsh plugin --profile web add @tnnevol/dsh-midscene。
dshmarket(三方插件市场)不进入 FPK,安装阶段由 DSH CLI 单独安装,已安装时不会覆盖用户版本。
Codex 插件必须随 FPK 内置:registry 上可用版本在 DSH 0.2.0-rc.2 上会因 @deepseek-ai/dsh-settings 不再导出 settingsNamespace 而导致 DSH Web 启动失败。升级老用户时不会卸载或覆盖已有的凭据、模型配置和 profile bundle。
插件功能与兼容版本的细节维护在插件总览中,本页不重复记录插件内部实现。
全局 trim-cli
安装回调会通过配置的 npm 源全局安装 @trimjs/trim-cli@latest。它不属于 DSH 插件,也不会进入 DSH profile;包安装完成后,应用会把包内 Skill 更新到 ${HOME}/.agents/skills/trim-cli,供应用用户和 Agent 使用。
数据与卸载
应用使用 ${DSH_HOME} 保存 dsh 相关数据,并通过 fnOS 的共享目录声明管理。卸载时可以选择保留数据,或卸载 @deepseek-ai/dsh 并清空应用数据目录。