DeepSeek Harness Hub
← 返回列表

obrige/dsh-docker

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

DeepSeek Harness dsh Web UI — Docker 一键启动

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

DeepSeek Harness (dsh) Web UI Docker 一键启动 | One-click self-hosted DeepSeek AI agent Web UI. Docker Compose pulls pre-built image from GHCR built by GitHub Actions — no Node.js needed. DeepSeek 智能体、大模型 LLM 容器化部署,拉取即用、自动更新 | dsh web ui, AI coding agent, LLM harness, self-hosted LLM, docker compose, ghcr | DeepSeek 智能体框架, Docker 部署 DeepSeek, AI Agent

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

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

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

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

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

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

README

DeepSeek Harness (dsh) Web UI — Docker 一键启动

Build
GHCR
License
Stars

EN — 通过 Docker Compose 一键自托管 DeepSeek Harness (dsh) Web UI。Docker 镜像由 GitHub Actions 自动构建并发布到 GHCR,因此 docker compose pull && docker compose up -d 可在几秒内运行一个带浏览器 UI 的 DeepSeek AI 编程代理 / LLM harness —— 无需 Node.js,无需本地构建,始终最新。中文说明见下文。

DeepSeek 官方只提供 npm / 源码两种运行方式,仓库里没有 Dockerfile。
本仓库用 GitHub Actions 在线构建镜像并推送到 GHCR,本地不用构建,
docker compose 直接拉取现成镜像,不锁版本。

工作原理

- .github/workflows/docker-image.yml:推送到 main / 打 tag / 手动触发 / 每周一自动重建
- 构建产物推送到 ghcr.io/obrige/dsh-docker:latest
- 本地 docker compose up 只做 pull,不做 build

目录结构

| 文件/目录 | 作用 |
| --- | --- |
| .github/workflows/docker-image.yml | GitHub Actions 在线构建并推送 GHCR |
| Dockerfile | 基于 node:24-slim,安装最新版 @deepseek-ai/dsh |
| docker-compose.yml | 直接拉取 GHCR 镜像,配置端口、数据卷 |
| docker-entrypoint.sh | 启动入口(内含 socat 端口转发) |
| start.bat / start.sh | 一键拉取镜像 + 启动 + 打开浏览器 |
| .gitattributes | 保证 start.bat 以 CRLF 提交 |
| LICENSE | MIT 开源协议 |
| data/ | (自动生成)配置、API Key、会话数据,持久化 |
| workspace/ | (自动生成)你的项目目录,agent 的工作区 |

快速开始(3 步)

1. 安装 Docker:Windows/macOS 装 Docker Desktop 并启动;Linux 装 docker + compose 插件。
2. 克隆本仓库,把要交给 agent 的代码放进 workspace/ 目录(首次运行会自动创建)。
3. 一键启动:
- Windows:双击 start.bat
- macOS / Linux:./start.sh
- 或者手动执行:docker compose pull && docker compose up -d

浏览器会自动打开 http://127.0.0.1:3080 。

首次使用配置

1. 打开 Settings → Models,填入 DeepSeek API Key 并保存(密钥存在 data/.credentials.yaml,只写不回显)。
2. 点击 Choose workspace,选择 /workspace(对应宿主机 workspace/ 目录)。
3. 新建会话,开始给 agent 派活。

也可以把 DEEPSEEK_API_KEY=xxx 写进 data/.env(容器内自动加载 $DSH_HOME/.env)。

镜像从哪来

镜像由 GitHub Actions 构建,推送地址:ghcr.io/obrige/dsh-docker:latest。

- 首次使用前:先去仓库 Actions 页手动跑一次工作流,或等 push 触发;构建完成后再 docker compose pull。
- 更新到最新版:docker compose pull && docker compose up -d(Actions 每周一 03:00 自动重建,也可手动触发 workflow_dispatch)。
- GHCR 包可见性:ghcr 上的包默认 private,匿名 pull 会 401。本仓库的包已设为 public,可直接拉取。

常用命令

docker compose pull          # 拉取最新镜像
docker compose up -d         # 启动
docker compose logs -f dsh   # 看日志
docker compose restart dsh   # 重启
docker compose down          # 停止(数据保留在 data/ 和 workspace/)
docker compose down -v       # 停止并删除数据(慎用)

常见问题

- 端口被占用:改 docker-compose.yml 里 "3080:3080" 左边数字,如 "8080:3080",再 up。
- 为什么有 socat?:官方当前版本不支持 --host 0.0.0.0,只监听 127.0.0.1;容器内 socat 把 0.0.0.0:3080 转发到 dsh 的 127.0.0.1:3081。
- 沙箱在容器里能用吗?:能。dsh 的 Linux 沙箱用 Landlock(无特权 LSM,内核 5.13+ 即可)和 bwrap 双后端,容器内无需特权、无需加 cap 即可正常生效,与裸机一致;多个后端都不可用时,dsh 会明确报 SANDBOX_UNAVAILABLE(fail-closed),不会静默降级成无沙箱运行。容器本身还额外提供了 PID 命名空间、网络、文件系统视图隔离,比裸机更安全。
- 想让 agent 访问宿主机更多目录?:最简单的是把代码直接放进 workspace/(已挂载为容器内 /workspace),选这个工作区即可。想额外挂载别的目录,推荐相对路径(以 compose 文件所在目录为基准,换机器、clone 分享都不失效),例如在 docker-compose.yml 的 volumes 加一行 - ./projects:/workspace/extra,然后 agent 在 Web UI 里选 /workspace 后即可读写 extra/。
- 需要特殊能力(如 ptrace 调试、Docker-in-Docker)?:默认最小权限跑;确有必要时给容器加 cap_add(如 SYS_PTRACE)或 --privileged(不推荐),按需放开。
- Linux 下 data/ 属主是 root:容器以 root 运行,属正常;清理可 sudo chown -R $(id -u):$(id -g) data。
- 想用别的 LLM:Web UI 里 Settings → Models → Add provider,或加自定义 OpenAI 兼容端点。
- 开发者预览版:官方明确提示会有破坏性变更;不锁版本 = 每次重建都可能升级。

参考

- 官方仓库:https://github.com/deepseek-ai/deepseek-harness
- 官方运行方式:npx @deepseek-ai/dsh web(需本机 Node.js)

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

💬 加入 DPharness 群聊

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

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