Teow9/dsh-isolation-pod ↗★ 0

dsh-isolation-pod

在沙箱中运行受约束的隔离任务 适合需要在独立子会话中运行受沙箱约束的任务,并手动确认结果返回与文件导出的用户。

套件
dsh-isolation-pod
相容性
待驗證
版本
0.1.3
授權
MIT
最近更新
2026年9月25日

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗

使用

入口

侧边栏「新会话」下方的一行:盾牌图标 + 「隔离舱」。侧边栏收起成窄栏时只显示图标。 点击后中栏切换为隔离舱全宽面板,页签为 任务 / 新建 / 配置 / 导出记录。

侧边栏底部(设置旁)刻意不放入口:那一行与内置的 Cordis Plugin 按钮共用, 放带文字或固定宽度的按钮会被挤没。

首次使用:指定沙箱根目录

到「配置」页填入绝对路径(例如 E:\pod-work)。未配置时隔离舱会拒绝执行任何任务, 并且不会自动退回使用工作区或项目目录。

同页的 Agent preset(可用时是下拉框)决定隔离 Agent 能看到的工具: 白名单只是上限,不会被 preset 求交清空;preset 没提供的工具,调用时由 guard 打回并提示 「未被授权」。任务详情因此并排列出「可用工具」(白名单上限)与「隔离环境实有」 (该 pod 真实可见的工具面)以便对账。

任务

新建(填描述,可选沙箱子目录)→ 启动 → 在详情页看对话与生成文件 → 继续对话 / 返回主会话 / 导出到工作区 → 清理。主会话在此期间不会收到任何自动消息。

任务详情页从上到下依次是:状态与沙箱自检信息、对话、生成文件、返回主会话、导出到工作区、清理。 (任务处于 运行中 时,「导出到工作区」卡片不显示——先等它跑完或点「停止」。)

多轮对话

详情页底部是输入框:回车发送,Shift+回车换行,运行中可「停止」。

  • 续聊走 followUp,往同一个子会话再发一条用户消息;沙箱模式、审批策略、工具 guard、系统提示段 都挂在常驻子 Agent 上原样复用。不存在「续聊时隔离失效」的路径。
  • 转写按角色渲染:我 / 隔离舱 气泡、▶ ◀ 工具行、轮次分隔线;助手条目可展开思考过程, 首轮那条机器指令折叠为「本轮发给隔离舱的指令」。
  • 连续性仅在进程内有效:宿主重启后 canFollowUp 变为 false,输入框注明「该会话已随进程结束」, 历史仍可查看与导出。(明确不做重启后重挂。)

返回主会话

「返回主会话」区块:可附带一个文件路径,点「生成预览」得到一段文本,该文本可以自由编辑, 点「确认返回主会话」后才以一条用户消息注入主会话。默认不返回任何内容。

导出到工作区

选择生成文件 → 指定沙箱之外的绝对目标目录 → 选择方式(复制 / 移动)与冲突策略(覆盖 / 跳过 / 重命名)→ 点「导出到工作区」→ 在确认块里再次确认。每次导出都要重新确认,不存在自动延续的授权; allowRememberChoice 打开后也仅预填路径。复制模式下可「撤销此次导出」。

清理

  • 删除任务文件:删除该任务的任务目录(拒绝删除沙箱根目录本身)。
  • 清理任务记录与文件:同时移除记录并释放该子会话的常驻 Agent。
  • 两者都不触碰主会话,也不触碰沙箱之外的任何文件;子会话自身的历史日志由 DSH 管理,不在清理范围内。

首次使用:指定沙箱根目录

到「配置」页填入绝对路径(例如 E:\pod-work)。未配置时隔离舱会拒绝执行任何任务, 并且不会自动退回使用工作区或项目目录。

同页的 Agent preset(可用时是下拉框)决定隔离 Agent 能看到的工具: 白名单只是上限,不会被 preset 求交清空;preset 没提供的工具,调用时由 guard 打回并提示 「未被授权」。任务详情因此并排列出「可用工具」(白名单上限)与「隔离环境实有」 (该 pod 真实可见的工具面)以便对账。

配置项

在「配置」页修改,落到 \isolation-pod.json。

键默认值说明
sandboxRoot''沙箱根目录(绝对路径)。为空时拒绝执行任务;读回时会归一化(去尾部反斜杠)
allowWritestrue关闭后子会话以 read-only 模式运行
allowedToolspwsh, read, write, edit, glob, grep工具白名单,作为上限由 guard 强制执行
timeoutMs600000每轮对话的超时(毫秒),取值夹在 30 000–7 200 000;超时取消该轮并标记 timeout
readContexttrue是否把主会话最近若干条消息作为只读背景注入任务提示
maxConcurrent3同时运行的任务数上限(1–8)
enableExporttrue关闭后 exportEntries 直接拒绝
allowRememberChoicefalse是否允许导出时勾选「记住本次选择」(仅预填路径)
presetId'standard'在子会话里挂载的 Agent preset;空串表示不挂载