关闭残留持久终端,恢复沙箱模式切换
26/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 12362566/dsh-exit-bash该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 关闭残留持久终端
- 恢复沙箱模式切换
README
由 DeepSeek 最新模型翻译生成dsh-exit-bash
一个「退出 Bash」按钮 + /exit-bash 命令,用来解决:会话里已经跑过持久 bash 后无法切换沙箱模式(cannot change sandbox mode ... while persistent terminal sessions are open or being created)。
原理
- 持久 bash 工具(dsh-tool-bash-persistent)的 PTY shell 在任务结束后仍存活;
- dsh-terminal-bash 在每次 sandbox/mode 事件提交前检查该 agent 是否还有活的 PTY(hasOwnerActivity),有就拒绝切换;
- 本插件的宿主半边注册 /exit-bash 命令:先给 shell 发 exit(宽限 graceMs 毫秒),再 terminals.kill 移除 PTY 记录,并中止仍在创建中的 spawn;
- 浏览器半边在会话头(agent preset 标签旁)放一个按钮,点击直接通过 remote.commands.execute 执行 /exit-bash(不经过 commandUi,避免 commandUi 内部拿不到 remote.commands 导致按钮无效)。命令结果以流程节点显示在对话里。
展开完整文档(README 剩余 1 节)
dsh-exit-bash 一个「退出 Bash」按钮 + /exit-bash 命令,用来解决:会话里已经跑过持久 bash 后无法切换沙箱模式(cannot change sandbox mode ... while persistent terminal sessions are open or being created)。 原理 - 持久 bash 工具(dsh-tool-bash-persistent)的 PTY shell 在任务结束后仍存活; - dsh-terminal-bash 在每次 sandbox/mode 事件提交前检查该 agent 是否还有活的 PTY(hasOwnerActivity),有就拒绝切换; - 本插件的宿主半边注册 /exit-bash 命令:先给 shell 发 exit(宽限 graceMs 毫秒),再 terminals.kill 移除 PTY 记录,并中止仍在创建中的 spawn; - 浏览器半边在会话头(agent preset 标签旁)放一个按钮,点击直接通过 remote.commands.execute 执行 /exit-bash(不经过 commandUi,避免 commandUi 内部拿不到 remote.commands 导致按钮无效)。命令结果以流程节点显示在对话里。 安装 dsh plugin --profile web add /path/to/dsh-exit-bash 重启 profile 使新的 bundle 层与客户端插件清单生效: dsh web # 重新启动你的 web profile 客户端插件清单(dsh.client 扫描)在启动时缓存,必须重启进程;宿主命令本身在 cordis 层支持热重载,但一次重启即可两者兼得。 使用 1. 任务跑完后,点击会话头部的 退出 Bash 按钮(或在输入框执行 /exit-bash); 2. 看到「已关闭 N 个持久终端」的流程节点后,再用输入框的权限选择器切换沙箱模式即可成功。 已知行为 - 会话没有持久终端(如 standard preset 的一次性 bash)时,命令返回「无需关闭」。 - 关闭后 agent 下一次调用 bash 会重新创建一个终端,且新终端按切换后的沙箱模式隔离运行——这正是期望行为。 - 若在 agent 正在执行 bash 命令时点击按钮,正在进行的工具调用会被终止(等同用户强制关闭终端)。 配套补丁(重要) dsh-tool-bash-persistent 会缓存每个 agent 的 PTY id;外部用 /exit-bash 直接 terminals.kill 后,工具缓存仍指向旧 id,下一次 bash 调用会先报一次 unknown PTY session ... 再自愈。为了让「退出 Bash」后下一次调用直接成功,需要给 @deepseek-ai/dsh-tool-bash-persistent 打上本包附带的补丁: 在 web profile 目录执行(请先确保该目录可写) cd ~/.dsh/profiles/web cp /path/to/dsh-exit-bash/patches/@deepseek-ai__dsh-tool-bash-persistent.patch patches/ 然后在 pnpm-workspace.yaml 的 patchedDependencies 中加入: patchedDependencies: '@deepseek-ai/dsh-tool-bash-persistent': patches/@deepseek-ai__dsh-tool-bash-persistent.patch 再执行: pnpm install dsh web 补丁会让 persistentShells.get() 在复用缓存的 PTY id 前先确认该 id 仍存在于 terminals 注册表;已被 /exit-bash 关闭时自动丢弃旧缓存并创建新终端,不再把 unknown PTY session 暴露给模型。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
12362566/dsh-exit-bash
关闭残留持久终端,恢复沙箱模式切换
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目