deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
GHJIVHIDD/dsh-plugin-vm-sandbox
原生UI界面。面向 DeepSeek Harness Web 的虚拟机沙箱插件:它基于 OrbStack 为每个会话提供独立的 debian/alpine 沙箱虚拟机,在会话视图环中新增「虚拟机」页签,支持查看/启动/休眠/删除和详细配置展示,同时为模型提供 `vm_list`、`vm_create`、`vm_exec`、`vm_delete` 工具,并内置全局运行上限、闲置自动休眠、归档/删除自动清理等资源治理能力。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:GHJIVHIDD/dsh-plugin-vm-sandbox
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness 的虚拟机沙箱(Web 部署级插件)。
在会话视图环中新增「虚拟机」页签,为每个会话提供 OrbStack 沙箱虚拟机(debian/alpine,同一会话必要时可多台),支持一键新建/查看/启停/重启/删除、展开查看详细配置、实时 Shell 日志,并提供完整的模型工具集。状态持久化在 ~/.dsh/vm-sandbox/state.json。
vm_snapshot / vm_snapshot_list / vm_restore / vm_snapshot_delete,基于 OrbStack 官方 orb clone 实现,按需复制不双倍占用磁盘vm_upload / vm_download,基于 OrbStack 官方 orb push / orb pull,支持目录递归vm_start / vm_stop / vm_restart / vm_statusvm_port_forward / vm_port_forward_list / vm_port_forward_stop,基于官方 ssh MACHINE@orb -N -Lvm_job_submit / vm_job_list / vm_job_status / vm_job_stop / vm_job_output,长任务在 VM 内后台运行,不受单次 vm_exec 超时影响vm_audit,记录谁在何时对哪台机器做了什么、是否成功、错误信息vm_share / vm_unshare / vm_policy,明确归属、exec/manage 权限、每会话配额、闲置休眠/自动删除回收策略vm_network,控制公网访问、VM 间内网互通,并提供 OrbStack 官方 isolated / isolate_network 配置vm_create 支持 cpus / memory / diskvm_create 支持 init_script(Shell 自动包装为 cloud-init runcmd)与 cloud_init(完整 cloud-config 用户数据)vm_exec 支持 machines 数组并发执行同一命令vm_status 返回 IP、uptime、CPU/内存/磁盘限额与用量、最近 Shell 记录、归属、权限、快照来源vm_list / vm_create / vm_exec / vm_delete、会话视图环「虚拟机」页签、实时 Shell 记录、运行上限 25 台、每会话上限 8 台、闲置自动休眠、归档/删除会话自动清理├── package.json # 仓库根即插件包(含 dsh.bundle / dsh.client 声明)
├── scripts/
│ └── prepare.mjs # 根包 prepare:构建 dsh-plugin-vm-sandbox/lib
└── 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/
从 Releases 下载 tgz 后在插件包/tgz 所在目录执行:
dsh plugin --profile web add ./dsh-plugin-vm-sandbox-0.1.0.tgz
因为本插件同时带有 dsh.bundle 声明,dsh plugin 会自动把它加入 profile 的 bundles 层,并应用 cordis.patch.yml 自动插入虚拟机页签。
dsh --profile web
打开 Web 界面进入任意会话,点击「虚拟机」即可看到当前环境中的 OrbStack 沙箱虚拟机;会话智能体可通过 vm_create / vm_exec / vm_snapshot / vm_upload / vm_job_submit / vm_network 等工具自动管理沙箱。
web profile@deepseek-ai/dsh-client-runtime 与 @deepseek-ai/dsh-client-ui-conversationorb 命令位于 /usr/local/bin/orb# 静态/结构验证:27 个工具 + schema + 语法
npm run verify
# 集成冒烟测试:会创建并删除临时 OrbStack 虚拟机
VMSB_SMOKE_SESSION=<当前会话ID> npm run smoke CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: dsh-skill。