把代理的 Shell 与文件操作搬进 Docker 容器,重启后仍可续用
29/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add frozo-ai/dsh-worlds该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-fs@deepseek-ai/dsh-subprocess@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 容器内执行Bash
- 容器内文件操作
- 重启后环境续用
DeepSeek Harness 的远程执行环境:在容器里跑智能体的 Bash、终端、LSP 和文件工具。零依赖。
README
由 DeepSeek 最新模型翻译生成dsh-worlds
在容器内运行代理的执行世界——这样它就能在启动它的框架消亡后继续存活。
DeepSeek Harness 在 packages/terminal/terminal/README.md 中记录了这一限制:
“会话是进程本地的,在框架重启后不会被恢复。”
会话日志是持久的。但代理所操作的计算机不是——shell 会随框架一起消亡,同时带走你的 cwd、导出的变量和后台进程。
dsh-worlds 通过将执行世界移入 Docker 容器来解决这个问题。无需 CRIU,无需 microVM:容器只是比它的客户端活得更久。
harness process A harness process B (a different process)
+------> [ container: dsh-world ] “现有的 dsh-bash-local、dsh-terminal-bash 和 dsh-lsp-stdio 无需任何分叉。它们将每一个执行世界操作都委托给 ctx.fs 和 ctx.subprocess。”
实现这两个接缝后,Bash、持久 PTY 终端、LSP 以及所有文件工具都会自动迁移到容器中。这是一份刻意的架构馈赠,而本项目正是你接受它之后所发生的事。
展开完整文档(README 剩余 1 节)
dsh-worlds
在容器内运行代理的执行世界——这样它就能在启动它的框架消亡后继续存活。
DeepSeek Harness 在 packages/terminal/terminal/README.md 中记录了这一限制:
“会话是进程本地的,在框架重启后不会被恢复。”
会话日志是持久的。但代理所操作的计算机不是——shell 会随框架一起消亡,同时带走你的 cwd、导出的变量和后台进程。
dsh-worlds 通过将执行世界移入 Docker 容器来解决这个问题。无需 CRIU,无需 microVM:容器只是比它的客户端活得更久。
harness process A harness process B (a different process)
+------> [ container: dsh-world ] “现有的 dsh-bash-local、dsh-terminal-bash 和 dsh-lsp-stdio 无需任何分叉。它们将每一个执行世界操作都委托给 ctx.fs 和 ctx.subprocess。”
实现这两个接缝后,Bash、持久 PTY 终端、LSP 以及所有文件工具都会自动迁移到容器中。这是一份刻意的架构馈赠,而本项目正是你接受它之后所发生的事。
状态
| 能力 | 检查数 |
| Docker Engine API 客户端 + 流解复用 | 11 单元 + 12 实机 |
| ctx.fs — 全部 12 个方法 | 38 实机 |
| 有界收集缓冲区(基于偏移、非消耗性) | 11 单元 |
| ctx.subprocess — spawn、进程树终止、waitForExit | 22 实机 |
| PTY — spawnTerminal、resize、前台信号 | 17 实机 |
| 总计 | 111 |
零 npm 依赖。仅使用 node:http、node:net、node:crypto。
试一试
需要 Docker 以及一个已构建的 dsh 检出。
sh
git clone https://github.com/frozo-ai/dsh-worlds
cd dsh-worlds
npm test # unit suites, no Docker needed
npm run verify # live: Docker client
npm run verify:fs # live: filesystem provider
npm run verify:subprocess
npm run verify:terminal
然后将其安装到一个 dsh profile 中——它附带一个 dsh.bundle 清单,因此可以按包名挂载,无需编辑路径: sh
dsh plugin --profile headless add github:frozo-ai/dsh-worlds
将 dsh-worlds 添加到该 profile 的 dsh.profile.bundles 中,然后正常运行——无需 --patch 标志: sh
dsh --profile headless "use the terminal tool and run: tty; cat /etc/alpine-release"
-> /dev/pts/0
3.24.1
演示 sh harness A: create state, start a background process, then exit
dsh --profile headless "bash: echo session-state-v1 > /srv/state.txt && (nohup sleep 900 &)"
harness B: a brand new process, same world
dsh --profile headless "bash: cat /srv/state.txt; ps -o args | grep '[s]leep 900'"
-> session-state-v1
sleep 900 <-- 由一个已不存在的测试框架启动
诚实的局限
- 容器是边界,而不是沙箱接缝。 该 overlay 禁用了 sandbox、bash-sandbox 和 permission-presets,并强制使用 danger-full-access。每次调用的沙箱模式(read-only / workspace-write)不再在 bash 层强制执行。主机隔离对于一个不在此内核上运行的进程毫无意义——但容器围住的是主机,而不是工作区,这更为粗糙。
- stdin: 'pipe'(持续的协议写入)尚未实现;它会大声报错而不是挂起。批量 stdin: { data } 可以正常工作。
- inputWaiting 是一种启发式判断——仅凭 /proc 无法区分被阻塞的 tty 读取和空闲休眠。
- 镜像必须提供 bash、ps 和 base64。 DockerWorld 在缺失时通过 apk 或 apt 安装 bash/procps,如果无法安装则会大声报错。
- 路径镜像: dsh 将主机工作区路径作为 cwd 传入,而 provider 会在容器内创建它。真正的工作区访问需要绑定挂载(WorldConfig 中的 binds)。
- dsh 本身是一个带有破坏性变更的开发者预览版;请固定版本。
SCOPE.md 包含完整的接口映射、大小基准测试,以及在此过程中发现的每一个 bug。
MIT。与 DeepSeek AI 无关联。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
frozo-ai/dsh-worlds
把代理的 Shell 与文件操作搬进 Docker 容器,重启后仍可续用
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 426,451已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,777已汉化MCP
71.8
破甲一键通z91772524-ai/pojia-next
🌐 官网国内推荐从这里进:
★ 1,045已汉化DSH
71.7
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲工作流画布Minglink/dsh-jailbreak-workflow
在画布上编排破甲研究流程并编译成提示词交给模型执行
★ 559已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。