🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Unraid 智能体容器 MeiXu6693/unraid-templates

DeepSeek Harness
MeiXu66938 天前有提交已提供中文文档扫描:无法判定

DSH(DeepSeek Harness)Unraid 版:多架构镜像,自动跟随 npm dist-tags,为不支持 Landlock 的内核提供 bubblewrap 沙箱,还附带 Community Applications 模板。

32.3/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/MeiXu6693/unraid-templates.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · vision
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/29) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-unraid(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 19:08:46

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
MeiXu 的 Unraid 模板库 MeiXu 维护的 Unraid Community Applications 模板:每个应用一个 XML,镜像在各自仓库构建与发布。目前收录一个应用:DSH。 English · 中文说明 这个库里的模板 | 应用 | 是什么 | 安装 | 支持 | | DSH | DeepSeek Harness——浏览器里用的开源 AI 编程智能体,为 Unraid 打包。 | Apps → DSH,或把 templates/dsh.xml 粘进 Docker → Add Container | Unraid 论坛帖 | DSH for Unraid Community Applications 上的 DSH(DeepSeek Harness,浏览器里用的 AI 编程智能体)模板:一个容器、命令沙箱在 Unraid 内核上直接可用、装的插件跨更新存活、内置远程登录、跟随上游自动更新。 这个模板的优势 - 插件(以及插件要调用的命令行工具)跨更新存活。 两者都在你的持久数据目录里、不在镜像里,所以 force update 不会把它们删掉:装插件。 - DeepSeek 账号登录在任何浏览器上都可用。 镜像内置远程登录插件并默认开启——登录标签页停在打不开的 127.0.0.1 页面后,粘贴面板会自己出现在 DSH 页面里。
展开完整文档(README 剩余 1 节)
MeiXu 的 Unraid 模板库

MeiXu 维护的 Unraid Community Applications 模板:每个应用一个 XML,镜像在各自仓库构建与发布。目前收录一个应用:DSH。

English · 中文说明

这个库里的模板

| 应用 | 是什么 | 安装 | 支持 |
| DSH | DeepSeek Harness——浏览器里用的开源 AI 编程智能体,为 Unraid 打包。 | Apps → DSH,或把 templates/dsh.xml 粘进 Docker → Add Container | Unraid 论坛帖 |

DSH for Unraid

Community Applications 上的 DSH(DeepSeek Harness,浏览器里用的 AI 编程智能体)模板:一个容器、命令沙箱在 Unraid 内核上直接可用、装的插件跨更新存活、内置远程登录、跟随上游自动更新。

这个模板的优势

- 插件(以及插件要调用的命令行工具)跨更新存活。 两者都在你的持久数据目录里、不在镜像里,所以 force update 不会把它们删掉:装插件。
- DeepSeek 账号登录在任何浏览器上都可用。 镜像内置远程登录插件并默认开启——登录标签页停在打不开的 127.0.0.1 页面后,粘贴面板会自己出现在 DSH 页面里。把模板里的 Remote Sign-in 设为 off 就回到上游「仅回环」的行为。
- 上游更新由它替你跟。 每小时的任务解析上游最新版本、重建镜像并在构建出的容器上跑冒烟;全部通过才发布——你要做的只是 Docker 页上的 force update,而 /data 与 /workspace 不会被它动到(更新)。

安装

1. 打开 Apps 标签页搜索 DSH——已收录进 Community Applications。feed 还没刷新? 用 Docker → Add Container,把 templates/dsh.xml 的内容粘进模板编辑器。
2. Extra Parameters 不要动——那两个 --security-opt 是智能体的沙箱能在 Unraid 上工作的前提;--restart=unless-stopped 让它在 Docker 重启后自动回来。
3. 点 Apply,然后打开 http://<你的服务器>:8080,用户名 dsh,口令用 Password 字段里的值。

头五分钟

1. 先改口令。 模板自带 12345678,这是公开值:Docker 页 → 该容器 → Edit → Password → Apply。(模板会一直提供默认值 12345678;builtin 模式下没有口令容器会拒绝启动。)
2. 指向你的项目。 智能体在 /workspace 里干活(默认 appdata/dsh/workspace)。
3. 填 DeepSeek API Key:设置面板里的 Add API key。用 DeepSeek 账号登录从任何浏览器也能完成:登录标签页停在打不开的 127.0.0.1 页面时,页面里会自动出现粘贴框——详见镜像仓库的 docs/remote-signin.zh-CN.md。

模板字段

每个变量的完整说明(以及它背后的安全模型)见项目文档:设置与环境变量 与 安全模型。

PUID、PGID、UMASK、数据目录以及代理/登录细节在「显示更多设置」里——默认安装显示端口、用户名、口令、认证方式和工作目录。

| 字段 | 默认 | 作用 |
| WebUI Port | 0.0.0.0:8080 | 宿主侧绑定。必须写成 IP:端口——Unraid 会把裸端口号误解析成 IP,容器会卡在 Created。 |
| Data Directory | /mnt/user/appdata/dsh/data | DSH_HOME:会话、凭据、智能体主目录、Caddy 状态。必须持久化。 |
| Workspace Directory | /mnt/user/appdata/dsh/workspace | 智能体的工作目录。 |
| PUID / PGID | 99 / 100 | DSH 及其派生的所有进程以哪个 uid/gid 运行。Unraid 的 appdata 属主通常是 nobody:users,所以模板默认 99 / 100;compose / 通用部署可用 1000 / 1000。容器每次启动都会把 /data、/workspace 与 HOME 的属主交给这对值,改完重启即可。 |
| UMASK | 022 | 新建文件的权限掩码(文件 644、目录 755)。002 会让新文件同组可写;不要用 000。 |
| Allowed Clients | 私有网段 + Tailscale | 谁能访问界面。想收紧就删掉多余网段;镜像自身的默认值是仅回环。 |
| Username / Password | dsh / 12345678 | 容器自带门禁的账号口令。务必改掉口令。 |
| Authentication Mode | builtin | builtin = 容器自带口令门禁;none = 交给前面的反向代理 / SSO(别叠两层登录)。 |
| Trusted Proxy CIDRs | 空 | 仅当前面有反向代理:只对这些来源读取 X-Forwarded-For,让白名单看到真实客户端地址。 |
| Public URL | 空 | 反向代理对外提供的 origin(https://dsh.example.com);纯内网留空。 |
| Remote Sign-in | on | 远程浏览器用 DeepSeek 账号登录(多一步粘贴)。off = 上游行为。 |
| Time Zone | Asia/Shanghai | 容器时区。 |
| Extra Parameters | --security-opt seccomp=unconfined --security-opt systempaths=unconfined --restart=unless-stopped | 不要删掉那两个 --security-opt,原因见下。 |

为什么需要那两个 --security-opt

Unraid 内核没有编入 Landlock,DSH 的命令沙箱只剩第二梯队:镜像内置的 bubblewrap。而 bwrap 要创建命名空间,容器默认的 seccomp 配置与 /proc 掩码会挡住它——这两个参数就是放行的东西。没有它们,智能体的 bash 工具会拒绝执行并报 SANDBOX_UNAVAILABLE。

对照实验、取舍,以及两种会误报的自查方式都在项目的沙箱说明里: docs/sandbox.zh-CN.md。

更新

Docker → 你的容器 → force update(或点「apply update」提示)。/data 与 /workspace 里的东西都不会动。

| 标签 | 含义 |
| :latest | 最新构建(含上游预发布版)——模板用的就是它 |
| :0.2.1-alpha.4 | 钉住某个确切版本 |
| :alpha · :rc · :stable | 跟随某个上游通道 |

镜像在上游一发版就自动重建并冒烟测试,这里不需要任何配置——更新即可。发布说明见 Releases。

装插件

DSH 插件装在你持久 Data Directory 里的 profile 目录下,所以更新之后依然在:

docker exec -u <PUID> <容器名> dsh plugin --profile web add @scope/some-plugin
docker exec -u <PUID> <容器名> dsh plugin --profile web add github:owner/repo

装完请重启容器,让 profile 重新组合。务必带 -u <PUID>——就是模板里设的那个 uid(Unraid 默认 99,compose 用 1000):用 root 装,包在 appdata 里属 root,之后以该 PUID 运行的 DSH 就读不到了。如果插件还要调自己的命令行工具,那个工具也得装在数据目录下——镜像 README 写了它在每次启动时会扫的两种布局:自己装命令行工具。

远程登录插件已经在镜像里且默认开启——这一节是给你自己加别的东西用的。

常见问题

| 现象 | 处理 |
| 工具报 SANDBOX_UNAVAILABLE | Extra Parameters 里的两个 --security-opt 被删了,补回去。自查时注意:systempaths=unconfined 不会出现在 docker inspect 的 SecurityOpt 里(它表现为 MaskedPaths/ReadonlyPaths 变空),而 bwrap 只在非 root 的 uid 下可用——用 docker exec -u <PUID> <容器> bwrap --ro-bind / / --dev /dev --unshare-pid --proc /proc --die-with-parent -- true 测(<PUID> 就是模板里的 PUID:Unraid 默认 99,compose 用 1000),必须 exit 0。用 root 测必然失败,那不能说明容器有问题。 |
| 浏览器拿到 403 | 你的地址不在 Allowed Clients 里。 |
| 页面提示 “dsh web authentication required; reopen the URL printed by dsh web” | 刷新页面即可——容器会自己把失效的会话 Cookie 换新(也可手动打开 http://<主机>:<端口>/renew)。 |
| 更新了却没变化 | Unraid 只在镜像 digest 变化时重建容器——用 force update。 |
| 镜像报 Page not found、或容器建不起来 | 2026-10-24 改过 GitHub 用户名,旧镜像地址已经彻底失效:ghcr.io/2220545672/dsh 现在回 manifest unknown,它的包页面是 404(仓库地址改名后会跳转,镜像路径不会)。main 上的模板已经指向 ghcr.io/meixu6693/dsh:latest;Community Applications 的目录条目要到下一次 feed 重建才会更新,所以先刷新 Apps 页,或者干脆跳过 CA、把 templates/dsh.xml 的内容粘进 Docker → Add Container。容器已经装过? Docker 页 → 该容器 → Edit → 把 Repository 改成 ghcr.io/meixu6693/dsh:latest → Apply,/data 与 /workspace 都不受影响。 |
| 页面一直转圈 | Public URL 必须与你实际打开的地址一致(协议 + 主机,不带路径)。docker logs <容器名> \| head -30 会打印它选定的模式。 |

更多排障(登录粘贴面板、Caddy/DSH 内部、docker inspect 细节)见项目文档。

从别的 DSH 镜像迁过来

从 ghcr.io/okxlin/deepseek-harness(容器常叫 dsh-web)等社区镜像切过来、把停机时间压到最小: docs/migrate-from-another-image.zh-CN.md。

支持

- Unraid 论坛帖:DSH — DeepSeek Harness, AI coding agent in your browser——请附上 docker logs DSH | head -30、Unraid 与内核版本(uname -r)、以及 Public URL / Allowed Clients 的设置。
- Bug 与建议:GitHub Issues。
- DSH 自身的问题(模型、插件、界面):deepseek-ai/deepseek-harness。

许可

MIT,见 LICENSE。DeepSeek Harness 本身由 DeepSeek 以 MIT 发布;这份打包只多了 Unraid 模板、图标与文档。

社区打包项目:与 DeepSeek、Lime Technology 均无隶属或授权关系。图标由官方 DSH 标识与官方 Unraid 标识合成(来源与商标说明)。
预览分享卡片长什么样 ↓MeiXu6693/unraid-templates
分享 · DeepSeek Harness Hub
MeiXu6693/unraid-templates

DSH(DeepSeek Harness)Unraid 版:多架构镜像,自动跟随 npm dist-tags,为不支持 Landlock 的内核提供 bubblewrap 沙箱,还附带 Community Applications 模板。

这是你的仓库?认领条目

回到顶部