dsh-worktree-guard
在终端中运行以下命令:
dsh plugin install earneet/dsh-worktree-guard
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install earneet/dsh-worktree-guard 即可安装本插件,源码见 https://github.com/earneet/dsh-worktree-guard。
插件介绍
在 Agent 与 git worktree 并行开发时,模型往往自以为会隔离,却仍会跨副本写入、误推主干或动到 .git,单靠提示词很难根治。dsh-worktree-guard 把隔离写进宿主结构:用 worktree 副本作会话根,让 DSH 沙箱自然锚定写域,而不是指望模型记得规矩。
常开安全网在是否绑定 worktree 时都会生效,拦截跨副本写入、写状态区、向 master 或 main 推送、删除 worktree 分支,以及 git -C 指向主根等高危操作,并以可执行的 deny 指令说明下一步。读域守卫在绑定态下约束读主 checkout 的行为,默认溯源告警,也可在 strict 下直接拒绝,避免写对地方却改错对象。
授权走机械人闸:worktree_authorize_main 与 worktree_allow 经 pre-execute ask,模型无法自授;收尾侧用 merge-base 判定已合并、prune 死绑定,并在全树摘链后再删副本,降低 Windows junction 等穿透风险。插件诚实标注词法启发与 danger-full-access 下的纪律边界,详见设计文档。
适合在 DeepSeek Harness 里用 worktree 做并行会话、又需要结构级写隔离与常开 git 误毁防护的团队与个人;若你接受结构优先、兜底网与 TTL 治理,而非纯靠模型自律,这个插件正是为此而设。
使用场景
- Agent 在 worktree 副本里开发,需要结构级写隔离并防止误写主 checkout
- 并行多会话使用 worktree,需要常开拦截推主干、删分支、写 .git 等高危 git 操作
- 临时授权写主库或读主树时,需要 TTL 人闸且模型不能自授
适合人员
- 在 DSH 中用 worktree 做并行开发的团队与个人
- 担心 Agent 误毁 git 状态或推保护分支的维护者
- 需要会话根隔离、读域守卫与可审计授权流程的安全敏感项目