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

Docker 沙箱工作流 omni-/containerize-dsh

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

在 Docker 中运行 DeepSeek HarnessDSH——一个编码代理,并将其更改带回 Git…

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · security
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/01·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 31 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/11/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查需源码安装

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

展开查看检查明细 ↓

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

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

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

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

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

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

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

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • Docker沙箱运行
  • 外部项目插件支持
  • Git传输改动

在隔离的 Docker 沙箱里运行 DeepSeek Harness,支持外部项目插件,并基于 Git 在宿主机与智能体之间传输改动。

README

由 DeepSeek 最新模型翻译生成
DSH 沙箱 在 Docker 中运行 DeepSeek Harness(DSH)——一个编码代理,并将其更改带回 Git 以供审查。dsh-task 为每个会话提供独立的检出、记录其工作,并在完成后帮助你审查、集成和清理。Git 捆绑包在主机和容器之间传递工作成果。可选插件提供项目工具和 MCP 配置。 要求 你需要 Python 3.10+、Git,以及带 Compose v2 的 Docker。在 Windows 上,将 Docker Desktop 设置为 Linux 容器。主机脚本仅使用 Python 标准库。从一个至少有一次提交的 Git 仓库开始;如果你计划集成更改,请配置你的 Git 作者姓名和电子邮件。 快速开始 在此检出目录中,安装该命令: python scripts/install_workflow.py 在 Windows 上,重新打开终端以加载更新后的用户 PATH。在 Linux/macOS 上,将 ~/.local/bin 加入 PATH。安装程序还会为 Codex 和 Claude Code 添加可选的 dsh-work 技能;使用沙箱并不需要这两个应用。在 Codex 中以 $dsh-work 调用它,在 Claude Code 中以 /dsh-work 调用它。
展开完整文档(README 剩余 1 节)
DSH 沙箱

在 Docker 中运行 DeepSeek Harness(DSH)——一个编码代理,并将其更改带回 Git 以供审查。dsh-task 为每个会话提供独立的检出、记录其工作,并在完成后帮助你审查、集成和清理。Git 捆绑包在主机和容器之间传递工作成果。可选插件提供项目工具和 MCP 配置。

要求

你需要 Python 3.10+、Git,以及带 Compose v2 的 Docker。在 Windows 上,将 Docker Desktop 设置为 Linux 容器。主机脚本仅使用 Python 标准库。从一个至少有一次提交的 Git 仓库开始;如果你计划集成更改,请配置你的 Git 作者姓名和电子邮件。

快速开始

在此检出目录中,安装该命令:

python scripts/install_workflow.py

在 Windows 上,重新打开终端以加载更新后的用户 PATH。在 Linux/macOS 上,将 ~/.local/bin 加入 PATH。安装程序还会为 Codex 和 Claude Code 添加可选的 dsh-work 技能;使用沙箱并不需要这两个应用。在 Codex 中以 $dsh-work 调用它,在 Claude Code 中以 /dsh-work 调用它。请保留此检出目录和 Python 解释器,或在移动它们后重新运行安装程序。

然后,从你希望 DeepSeek 处理的仓库中:

dsh-task start --task fix-parser --open

这会传输 HEAD 并在浏览器中打开 DSH。当前分支成为集成目标;使用 --target 选择另一个分支。在 UI 中输入提供商凭据,或在启动任务前设置 DEEPSEEK_API_KEY。UI 可以在没有提供商密钥的情况下启动。如需密钥文件或项目插件,请使用已保存的配置文件:

dsh-task start --task fix-parser --profile my-project --open

如果没有配置文件,默认值为当前仓库、无插件和端口 11111。每次启动都会创建一个唯一的任务 ID 及其自己的 home/workspace 卷。使用 --port 11128 来运行另一个同时进行的任务。启动时会构建缺失的镜像;在更改镜像输入后传入 --rebuild 以替换缓存的镜像。

基础镜像包含 curl 和 wget,以及 Node.js、Python 和 Git。诸如 .NET 之类的项目 SDK 应放在项目插件中,并通过已保存的配置文件选择。在镜像构建时安装它们;运行中的代理无法针对只读根文件系统使用 apt。新会话和浏览器初始目录默认为 /workspace;home 仍为 /home/agent,用于凭据、历史记录和缓存。固定的 DSH 版本需要针对此默认值进行一个小型构建时目录浏览器补丁;如果上游更改使该补丁不兼容,镜像构建将失败。

要发送你当前的编辑内容而不是已提交的 HEAD,请添加 --snapshot。只有在检查了你想要共享的新文件后,才添加 --include-untracked:

dsh-task start --task fix-parser --snapshot --include-untracked --open

快照会捕获文件内容,而不会更改你的真实索引或分支。它们不保留已暂存/未暂存的拆分,并且并发的主机编辑可能产生不一致的快照。有关文件选择和仓库限制,请参阅传输规则。

如果你希望跳过安装,请将这些命令中的 dsh-task 替换为
python /path/to/containerize-dsh/dsh_task.py。

处理任务

在浏览器中与 DeepSeek 协作,然后在准备好审查时导出:

dsh-task export

导出会停止 DeepSeek 并使其保持停止状态。它会捕获已提交和未提交的已跟踪工作,保存恢复包,并在主机仓库中创建一个新的审查分支。除非你添加 --include-untracked,否则它会拒绝新的、未提交的文件。

输出包含导出的修订版本和审查分支;show 包含传输过来的 base。请与该 base 进行比较,这样你在启动时提供的任何编辑就不会出现在 agent 的 diff 中:

dsh-task show
git diff
git log ..

将你的发现写入一份非空的报告,然后记录确切的导出修订版本并准备变更。将审查报告和检查报告放在主机和集成工作树之外,以保持它们干净:

dsh-task reviewed --revision --report
dsh-task prepare

prepare 会在一个单独的主机工作树中应用来自传输 base 的 diff,并在那里提交。检查该工作树,运行项目的检查,并将结果保存到检查报告中。要完成:

dsh-task finalize --checks
dsh-task cleanup --require-integrated

finalize 会快进目标分支。它要求原始主机检出是干净的、位于该分支上,并且仍处于 prepare 所使用的提交。准备期间的冲突或目标变更会使已准备的分支保留下来以供恢复。审查报告和检查报告记录你的验证;启动器不会评判代码质量,也不会替你运行这些检查。

清理会拒绝导出后发生变更的工作、被忽略的文件,以及它无法在审查中保留的工作。它会移除任务容器、工作区卷和干净的已记录集成工作树,同时保留 DSH 主目录/会话历史和恢复记录。你也可以在不集成的情况下清理已审查的任务;有关条件,请参阅任务生命周期。

要继续工作,请使用 dsh-task resume 。dsh-task url 会再次打印登录 URL,而 dsh-task list 可以从任何目录查找已保存的任务 ID。其状态来自本地记录,因此 active 并不能证明容器正在运行。对于一次性会话,dsh-task discard 会要求确认,并永久删除所有容器工作区文件,包括未提交、未跟踪和被忽略的工作,且无需审查。

隔离与安全

agent 在容器内获得完整的 DSH 权限。核心以 UID/GID 运行 10001 使用只读根文件系统、已丢弃的能力、no-new-privileges、可写临时文件系统以及持久化的 home/workspace 卷。DSH 和软件包下载的互联网访问保持启用。

宿主机上的检出内容、其 .git、凭据存储、SSH 密钥和 Docker socket 都留在容器之外。智能体可以读取你提供给 DSH 的凭据、插件运行时文件,以及传输的 Git 历史中的任何机密。请将捆绑包和任务记录保持私密,并审查你传输的内容。插件是受信任的输入;Compose 检查能发现配置错误,但无法发现恶意插件代码。

Web UI 仅在 localhost 上发布。其登录 URL 包含浏览器令牌:请将该 URL 视为凭据,不要公开转发该端口。提供商身份验证与浏览器访问是分开的。在 DSH 中输入的凭据会持久保存在其 home 卷中。

参考

- Profiles:保存的路径、端口、插件和密钥文件。
- Transfers:快照、直接捆绑包导出、导入和手动审查。
- Task lifecycle:命令选项、记录、恢复、清理以及 Codex/Claude Code 辅助工具。
- Isolation details:挂载、身份验证、构建输入和信任边界。
- Low-level launcher:用于直接管理沙箱的 dsh.py 命令。
- Plugin contract:项目工具、运行时钩子和 hello 示例。
- Testing:本地测试和 Docker 冒烟测试。
预览分享卡片长什么样 ↓omni-/containerize-dsh
分享 · DeepSeek Harness Hub
omni-/containerize-dsh

在 Docker 中运行 DeepSeek HarnessDSH——一个编码代理,并将其更改带回 Git…

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部