DeepSeek Harness Hub
← 返回列表

开箱即用容器镜像NIyueeE/dsh-container

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
需源码安装

DeepSeek Harnessdsh的开箱即用容器——agent、完整工具链与反向代理集成于一个镜像,基于官方源码…

暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/18 · 已提供中文文档

DeepSeek Harness (dsh) 容器镜像:通用开发容器基础镜像,启动时 dsh 自动更新,compose + Quadlet 示例

综合分
35.7
GitHub 分
35.7
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add NIyueeE/dsh-container
仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

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

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

仓库缺少 package.json,无法用 dsh 插件安装命令安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 02:57:00

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh Container Image

DeepSeek Harness(dsh)的开箱即用容器——agent、完整工具链与反向代理集成于一个镜像,基于官方源码 tag 构建。

Release
CI
GHCR
Upstream dsh
License

快速开始

Docker Compose(Linux)

docker compose -f examples/compose.yaml up -d
docker compose logs dsh | grep 'dsh web:'
open http://127.0.0.1:3081/ in your local browser (the proxy bootstraps the login)

Podman Quadlet(Linux,推荐)

sudo mkdir -p /etc/containers/systemd
sudo cp examples/dsh.container /etc/containers/systemd/
sudo systemctl daemon-reload
sudo systemctl enable --now dsh.service

两个示例都发布 127.0.0.1:3081,并把一个卷挂载到 /home/dsh——用户层(~/.dsh、缓存、自装工具)在镜像升级后保持不变,系统层随镜像更新。没有登录步骤:代理会自动完成 dsh 会话引导。

镜像内容

| 组件 | 说明 |
|---|---|
| 基础镜像 | debian:13-slim(已钉版本,可用 BASE_IMAGE 构建参数覆盖) |
| 工具链 | Node.js 22 LTS、pnpm、uv、Rust/cargo、git、build-essential、Caddy、podman、gh——镜像持有的真实二进制,随镜像升级 |
| dsh | 从官方源码 tag 构建至 /opt/deepseek-harness(DSH_TAG 可钉版本);运行期无自动更新 |
| 暴露方式 | Caddy 反向代理(0.0.0.0:3081 → dsh 的 127.0.0.1:3080),可选 basic auth |
| 守护 | dsh web 退出自动重启;docker exec dsh dsh-restart 手动重启 |
| 远程兼容 | 一个容器适配插件(container/plugin/,经 dsh --patch 挂载):dsh 进程内会话 cookie 自举、无桌面环境下隐藏"打开配置文件"按钮(describe 报告无本地文档)、浏览器侧 isLoopback 补丁脚本 |
| 可观测性 | OCI labels、HEALTHCHECK(curl 3080 + 3081) |
| 运行用户 | uid 1000(dsh),免密 sudo;/home/dsh 为持久化用户层 |

容器适配插件

对上游 dsh 的全部容器侧适配收敛在一个 Cordis 插件里,随镜像装在
/opt/dsh-container-plugin,经 dsh --patch 挂载进 web profile:

- 会话 cookie 自举 —— 插件在 dsh 进程内兑换一次性登录 token,写出 cookie 供代理注入;浏览器不会接触 token。
- 隐藏"打开配置文件"按钮 —— 上游该操作没有无桌面兜底,在容器里会 spawn xdg-open 扑空;插件让 settings/describe 报告 hasDocument: false,按钮按上游自身 UI 逻辑不再渲染。文档本体仍在挂载卷的 ~/.dsh/settings.yaml。
- 浏览器侧 isLoopback 补丁 —— scripts/patch-client.js 让设置/凭据页可经代理使用(镜像构建时与每次 dsh web 启动前应用)。

插件是唯一的适配维护点。上游若新增 API 使其中一部分冗余,发布流水线会自动删除对应部分并在 release note 中说明(见 docs/upstream-contract.md § 简化触发器)。

网络与安全

- 端口模型——dsh web 监听 127.0.0.1:3080(上游拒绝 --host 0.0.0.0);对外端口是 3081,示例默认发布在宿主回环地址。
- 代理即安全边界——Caddy 把 Host/Origin 改写为回环,远程浏览器因此通过 dsh 的 /api 信任围栏,包括原本仅限回环的设置/凭据接口。任何能访问 3081 的人都获得完全控制:请启用 basic auth(DSH_PROXY_USER/DSH_PROXY_PASSWORD,成对设置,否则 entrypoint 拒绝启动)并保持端口防火墙关闭。
- 会话自动引导——容器适配插件在 dsh 进程内兑换一次性登录 token(启动时),代理再把会话 cookie 注入每个请求;浏览器不会接触 token。
- 流与压缩——SSE/WebSocket 无缓冲直通(已对 Caddy 2.6 验证);UI 资源由 dsh 自带 webserver gzip 压缩(约 1.3 MB → 360 KB)。
- 遥测默认关闭——entrypoint 设置 DSH_TELEMETRY_MODE=DISABLED;除非显式打开,反馈/遥测数据不会离开容器。
- 客户端补丁——容器适配插件的 patch-client.js 让设置/凭据页可经代理使用(镜像构建时与每次 dsh web 启动前应用;若上游改变 bundle 字符串则告警跳过,不阻塞启动)。
- 附加参数——通过容器 command 透传 dsh web 参数,例如 "--port", "8080"。

广域网访问请在前置代理上终结 TLS(文档含可用的 nginx 配置,含 WebSocket 头与超时设置)——详见 docs/deployment.md 与 docs/security.md。

环境变量

| 变量 | 默认值 | 说明 |
|---|---|---|
| DSH_PROXY_USER / DSH_PROXY_PASSWORD | (空) | 对外代理的 basic auth(任何非回环部署都建议启用);成对设置或都不设 |
| DSH_TELEMETRY_MODE | DISABLED | dsh 反馈/遥测上传策略;FEEDBACK_ONLY 恢复上游默认(显式反馈时上传),DISABLED 保持一切本地 |

其余全部使用内置默认值——dsh 数据在 ~/.dsh,工作目录 $HOME,可写缓存在 ~/.cargo / ~/.local/share,镜像持有的工具在 /usr/local/bin 与 /opt/rust。整个 /home/dsh 是持久化边界:把它作为单一卷挂载;镜像升级替换工具链,从不动数据。细节见 docs/build.md 与 docs/deployment.md。

文档

| 文档 | 内容 |
|---|---|
| docs/deployment.md | 部署与维护:Compose、Quadlet、远程访问、离线使用、FAQ |
| docs/security.md | 安全说明:网络暴露取舍、凭据、可信工作负载 |
| docs/build.md | 构建配置:构建参数、源码版本钉定、可复现构建 |
| docs/releasing.md | 发布自动化:上游 tag 监视、契约检查、agent 修复、自动发布 |
| docs/upstream-contract.md | 本镜像依赖的上游行为,以及漂移的检测方式 |
| docs/development.md | 目录结构与本地开发 |

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群