DSH Plugins
返回列表
🧩

dsh-block-hanging-commands

admin-security 更新于 2026.10.18

在终端中运行以下命令:

dsh plugin install acus9345/dsh-block-hanging-commands

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install acus9345/dsh-block-hanging-commands 安装本插件,源码见 https://github.com/acus9345/dsh-block-hanging-commands。

插件介绍

用 Agent 跑 shell 时,模型常会发出 git commit 没带 -m、npm run dev、裸开 python 这类命令。它们在无人键盘的环境里一直等输入或永不退出,回合卡住直到超时,模型也得不到有效反馈,往往又会换另一种同样会挂起的写法。

dsh-block-hanging-commands 在 DeepSeek Harness 里挂接命令执行前钩子:对即将运行的 shell 命令做词法分析(不真正起 shell),对照规则判断是否会交互、长期监听或进入 TUI。若命中则直接拒绝执行,并把原因与 README 里建议的替代写法一并返回,让模型在同一步里改命令。

规则覆盖编辑器、无 -m 的 git、交互式 rebase/add、REPL、开发服务器、watch/follow、无远程命令的 ssh、带 -it 的容器、htop 类 TUI,以及依赖 PTY 的分页与 sudo 提示等;也会穿透 sudo、npx、管道与 && 链,因此 cd 后进 dev 这类组合同样会被拦住。

适合长期用 DSH 做自动化改代码、跑构建或运维脚本,又希望减少「命令挂死、空等超时」浪费的用户;安装后自带补丁层即可生效,无需额外开关。

使用场景

  • 模型执行 git commit 却未带 -m,回合一直等待编辑器输入
  • 在自动化环境里误跑 npm run dev 或 vite,进程不退出导致超时
  • 裸开 python、node 或 psql 进入 REPL,无人交互时命令挂起

适合人员

  • 日常使用 DeepSeek Harness Agent 跑 shell 的开发者
  • 希望减少挂起命令与超时浪费的插件用户
  • 在 web、headless 或编辑器集成里依赖自动化改代码的团队