GHJIVHIDD/dsh-plugin-vm-sandbox ↗★ 0
@deepseek-ai/dsh-plugin-vm-sandbox
OrbStack VM sandbox: per-session sandbox VMs (debian/alpine) with a VM tab next to trajectory/terminal, vm_list/vm_create/vm_exec/vm_delete tools, archive/delete cleanup, running cap, idle sleep and compact detail view.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GHJIVHIDD/dsh-plugin-vm-sandbox说明文档
阅读完整 README ↗dsh-plugin-vm-sandbox
DeepSeek Harness 的虚拟机沙箱(Web 部署级插件)。
在会话视图环中新增「虚拟机」页签,为每个会话提供 OrbStack 沙箱虚拟机(debian/alpine),支持查看/启停/删除、展开查看详细配置,并提供 vm_list / vm_create / vm_exec / vm_delete 模型工具。状态持久化在 ~/.dsh/vm-sandbox/state.json。
功能
- 会话视图环中新增「虚拟机」页签
- 每会话一台 OrbStack 沙箱虚拟机,支持 debian(默认)与 alpine
- 实时展示所有沙箱:名称、发行版、状态、归属会话
- 展开查看机器 ID、CPU/内存/磁盘限额、网络/SSH 配置、IP 等详情
- 支持启动、休眠、删除(删除需二次确认)
- 模型工具:
vm_list/vm_create/vm_exec/vm_delete - 资源治理:全局运行上限 5 台、闲置 30 分钟自动休眠、归档/删除会话自动清理
文件说明
├── package.json # 仓库根即插件包(含 dsh.bundle / dsh.client 声明)
├── scripts/
│ └── prepare.mjs # 根包 prepare:构建 dsh-plugin-vm-sandbox/lib
├── install.sh # 免 pnpm 安装脚本
└── dsh-plugin-vm-sandbox/
├── package.json # 内层插件包(用于 tarball / 手动安装)
├── cordis.patch.yml # 自动插入「虚拟机」页签的 patch 层
├── src/
│ ├── index.js # Host 侧实现(源文件)
│ └── client.js # 浏览器端虚拟机页签实现(源文件)
├── lib/ # prepare 生成的发布入口(已提交,便于手动安装)
│ ├── index.js
│ └── client.js
└── scripts/
└── prepare.mjs # 内层包 prepare:构建 lib/
安装包(
tgz/zip)通过 GitHub Releases 发布,不存放在源码仓库中。 仓库根目录本身也是可安装的 bundle,因此也支持dsh plugin add github:...源码安装。
安装
方式 A:使用 dsh plugin 安装预构建 tarball(推荐,需要已安装 pnpm)
从 Releases 下载 tgz 后,在插件包/tgz 所在目录执行:
# 下载地址:https://github.com/GHJIVHIDD/dsh-plugin-vm-sandbox/releases
dsh plugin --profile web add ./dsh-plugin-vm-sandbox-0.0.1.tgz
因为本插件同时带有 dsh.bundle 声明,dsh plugin 会自动把它加入 profile 的 bundles 层,并应用 cordis.patch.yml 自动插入虚拟机页签。
方式 B:从 GitHub 源码直接安装(dsh plugin add github:...)
仓库根目录已经是标准的 DeepSeek Harness 组合包(bundle),可以直接从 GitHub 源码安装:
dsh plugin --profile web add github:GHJIVHIDD/dsh-plugin-vm-sandbox
pnpm 拉取源码后会执行本仓库的 prepare 脚本,自动把 构建到 。