DeepSeek Harnessdsh的开箱即用容器——agent、完整工具链与反向代理集成于一个镜像,基于官方源码…
37.7/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装;安装清单取自 container/plugin/package.json。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add NIyueeE/dsh-container该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装;安装清单取自 container/plugin/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@dsh-container/adapt(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 09:42:40
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
- 写入本地文件container/plugin/index.js:118
await mkdir(dirname(file), { recursive: true, mode: 0o700 }) - 写入本地文件container/plugin/index.js:121
await writeFile(tmpFile, content, { mode: 0o600, flag: 'wx' }) - 写入本地文件container/plugin/index.js:122
await rename(tmpFile, file) - 删除本地文件container/plugin/index.js:124
await rm(tmpFile, { force: true }) - 读取本地文件container/plugin/index.js:228
const info = await stat(file) - 读取本地文件container/plugin/index.js:234
await pipeline(createReadStream(file), res) - 读取本地文件container/plugin/index.js:258
if (!existsSync(ASSET_DIR)) {
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 启动自动更新dsh
README
由 DeepSeek 最新模型翻译生成dsh Container Image
DeepSeek Harness(dsh)的开箱即用容器——agent、完整工具链与反向代理集成于一个镜像,基于官方源码 tag 构建。
快速开始
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 redirects to dsh's launch token)
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、缓存、自装工具)在镜像升级后保持不变,系统层随镜像更新。
展开完整文档(README 剩余 1 节)
dsh Container Image DeepSeek Harness(dsh)的开箱即用容器——agent、完整工具链与反向代理集成于一个镜像,基于官方源码 tag 构建。 快速开始 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 redirects to dsh's launch token) 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 的 launch token,浏览器随后持有会话 cookie;没有单独的登录表单。 镜像内容 | 组件 | 说明 | | 基础镜像 | debian:13-slim(移动 tag;可用 BASE_IMAGE 固定 digest) | | 工具链 | Node.js 24 LTS、pnpm、uv、Rust/cargo(含 rustfmt/clippy)、git + git-lfs、build-essential + musl-tools、Caddy、podman + crun、gh、yq——镜像持有的真实二进制,随镜像升级 | | agent 常用工具 | ripgrep、fd、python3、zip、openssh-client、tmux、sqlite3、vim.tiny/nano、less、rsync、wget、tree、htop、tzdata、patch,外加一组诊断工具(dig/nc/socat/traceroute/iperf3/nft、file、ncdu、strace、zstd/lz4、bc、moreutils、pv、uuid-runtime)、xdg-user-dirs(UI 默认 workspace)与开发工具(just、shellcheck)——全部烘干进系统层,全新容器开箱即用、无需重新下载(运行期 apt install 会随容器重建丢失) | | 嵌套容器 | 容器内( rootless )podman 已预配置 XDG_RUNTIME_DIR、subuid/subgid 与网络/sysctl 默认值;宿主运行时需允许非特权用户命名空间 + /dev/fuse + /dev/net/tun,且不得对容器的 /proc 加 masked/只读子挂载(--security-opt unmask=ALL、Quadlet Unmask=ALL、Docker systempaths=unconfined);嵌套容器内的资源限制(--memory/--cpus)不生效(cgroup v2 约束)——见 docs/deployment.md § In-container podman | | dsh | 从官方源码 tag 构建至 /opt/deepseek-harness(DSH_TAG 可钉版本,最低 0.2.1-alpha.3);运行期无自动更新 | | 暴露方式 | Caddy 反向代理(0.0.0.0:3081 → dsh 的 127.0.0.1:3080);保留浏览器 Host/Origin,首次访问重定向到 dsh 的登录 token,保留可选 basic auth | | 守护 | dsh web 退出自动重启;docker exec dsh dsh-restart 手动重启 | | 远程兼容 | 一个容器适配插件(container/plugin/,经 dsh --patch 挂载):把 dsh 的 launch token 写给代理登录重定向(浏览器自己持有会话 cookie)、无桌面环境下隐藏"打开配置文件"按钮(describe 报告无本地文档)、/container-assets/ 提供构建期抽出的图片,并在插件页注册内置卡片 | | 可观测性 | OCI labels、HEALTHCHECK(校验 3080 + 3081 的预期未登录状态码) | | 运行用户 | uid 1000(dsh),免密 sudo;/home/dsh 为持久化用户层 | 容器适配插件 对上游 dsh(0.2.1-alpha.3 及更新版本)的全部容器侧适配收敛在一个 Cordis 插件里,随镜像装在 /opt/dsh-container-plugin,经 dsh --patch 挂载进 web profile: - launch token 登录重定向 —— 插件把 dsh 进程的 launch token 写到 /tmp/dsh-caddy/launch-token;Caddy 对没有会话 cookie 的浏览器 302 到 /?token=...,dsh 随后 Set-Cookie(HttpOnly; SameSite=Strict)。容器不再注入或改写会话,浏览器自己持有。 - 隐藏"打开配置文件"按钮 —— 上游该操作没有无桌面兜底,在容器里会 spawn xdg-open 扑空;插件让 settings/describe 报告 hasDocument: false,按钮按上游自身 UI 逻辑不再渲染。设置项持久化在挂载卷的 ~/.dsh 下(上游 v0.1.7+ 按 profile 存于 ~/.dsh/profiles/<profile>/cordis.patch.yml;旧版 settings.yaml 只导入一次)。 - 插件页内置卡片 —— 一个很小的客户端 half 注册 plugins.item 卡片(没有启用/关闭开关),展示一句简介,详情页说明插件职责并链接项目仓库。 - 产物后处理 —— pnpm run build:official 之后跑三步:≥ 100 KiB 的内联图片抽成 /container-assets/<内容哈希>(由插件以 immutable 提供,只在真正打开对应界面时才取)、客户端 bundle 用 esbuild 压缩、刷新 .dsh-build 构建记录使其继续与交付产物一致。 插件是唯一的适配维护点。上游若新增 API 使其中一部分冗余,对应部分会被删除而不是保留(体现在上游 tag 之后的那次 commit 中,见 docs/upstream-contract.md § 简化触发器——每次上游发版都会逐条核对的清单)。 网络与安全 - 端口模型——dsh web 监听 127.0.0.1:3080(上游拒绝 --host 0.0.0.0);对外端口是 3081,示例默认发布在宿主回环地址。 - 代理保留围栏——Caddy 原样转发浏览器的 Host/Origin,dsh 的 /api 围栏真实生效。外部 authority 必须列在 DSH_TRUSTED_HOST(或从 DSH_PUBLIC_URL 派生);其它 Host 由 Caddy 直接 403,这是防 DNS rebinding 的关键。任何能访问 3081 的人都能登录:请启用 basic auth(DSH_PROXY_USER/DSH_PROXY_PASSWORD,成对设置,否则守护脚本 dsh-web 拒绝启动)并保持端口防火墙关闭。/api/remote.mux 的 WebSocket 不要求 basic auth(浏览器不保证给升级请求带 Authorization),由浏览器的 SameSite=Strict cookie 认证。 - 会话由浏览器持有——首次无 cookie 访问会被 302 到 dsh 的 launch token;dsh Set-Cookie 后浏览器自己携带。容器不再注入 cookie。DeepSeek 账号登录仍要求浏览器 origin 是 loopback(SSH 隧道),公网域名不行——见 docs/deployment.md § DeepSeek account sign-in。 - 流、体积与缓存——SSE/WebSocket 无缓冲直通(已对 Caddy 2.6 验证),dsh 的 2 秒心跳可穿过该跳。客户端 bundle 在构建期做了后处理,无头浏览器实测冷启动整页约 1.6 MiB(线上字节) 而非约 5.8 MiB:57 模块合并包从 5.06 MiB 降到约 1.0 MiB gzip(≥ 100 KiB 的内联图片被抽出,只在打开对应界面时才取;bundle 只压空白与语法,不改标识符)。索引 no-store,内容哈希的 /assets/ 由代理标 immutable,重复访问因此很便宜。 - 遥测默认关闭 —— entrypoint 设置 DSH_TELEMETRY_MODE=DISABLED,OTel 反馈上报在你显式打开前不会发送任何内容。与之独立的是上游的 DeepSeek 会话日志贡献者,它默认开启,会把会话日志后缀附加到 DeepSeek API 请求上——发送内容与关闭方式见 docs/security.md。 - 附加参数——通过容器 command 透传 dsh web 参数,例如 "--port", "8080"。 广域网访问请在前置代理上终结 TLS(文档含可用的 nginx 配置,含 WebSocket 头与超时设置)——详见 docs/deployment.md 与 docs/security.md。 环境变量 | 变量 | 默认值 | 说明 | | DSH_PROXY_USER / DSH_PROXY_PASSWORD | (空) | 对外代理的 basic auth(任何非回环部署都建议启用);成对设置或都不设;/api/remote.mux 例外,由 dsh 会话 cookie 认证 | | DSH_PUBLIC_URL | http://127.0.0.1:3081/ | 浏览器实际访问的根 URL,用于 dsh/agent 上下文公告和登录 token URL;LAN/公网应设成真实外部地址。它不授予信任 | | DSH_TRUSTED_HOST | (空;从 DSH_PUBLIC_URL 派生) | 逗号分隔的额外 authority(host 或 host:port),同时进入 dsh 围栏与 Caddy Host 允许列表 | | DSH_TELEMETRY_MODE | DISABLED | OTel 反馈上报策略;FEEDBACK_ONLY 恢复上游默认(显式反馈时上传),DISABLED 让 OTel 路径留在本地。它不控制 DeepSeek 会话日志贡献者(security.md) | 其余全部使用内置默认值——dsh 数据在 ~/.dsh,工作目录 $HOME,可写缓存在 ~/.cargo / ~/.local/share,镜像持有的工具在 /usr/local/bin 与 /opt/rust。dsh/agent 的临时文件默认在 ~/.dsh/tmp(TMPDIR);/tmp 仍保持临时语义,只承载 launch token、Caddyfile 与 dsh-web PID。整个 /home/dsh 是持久化边界:把它作为单一卷挂载;镜像升级替换工具链,从不动数据。细节见 docs/build.md 与 docs/deployment.md。 文档 | 文档 | 内容 | | docs/deployment.md | 部署与维护:Compose、Quadlet、远程访问、离线使用、FAQ | | docs/security.md | 安全说明:网络暴露取舍、凭据、可信工作负载 | | docs/build.md | 构建配置:构建参数、源码版本钉定、可复现构建 | | docs/releasing.md | 发布:tag 触发的发布流水线、轻/重门、上游 tag 监视、失败诊断 | | docs/upstream-contract.md | 本镜像依赖的上游行为,以及每条行为的强制方式 | | docs/development.md | 目录结构与本地开发 | 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
NIyueeE/dsh-container
DeepSeek Harnessdsh的开箱即用容器——agent、完整工具链与反向代理集成于一个镜像,基于官方源码…
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目