安全出现在 · 面板 / 弹窗 / 横条 / 对话内收录

Worktree Guard 工作树守卫

多会话共用工作树时,拦住误暂存和破坏性 git 命令。

Worktree Guard 工作树守卫 · 效果预览 · 示意示意
> 给订单列表加上分页
⏺ 我先看看列表组件。
❯

示意。实际效果取决于 Mod、终端和运行环境。

安装

/plugin marketplace add thieung/claude-mods
/plugin install worktree-guard@thieung-mods
/reload-plugins

在 Claude Code 会话里逐行执行这些命令。

它会碰什么

据原作者说明,收录时核对;可用 claude plugin validate 自行检查。

读取

有

读取 git 状态与差异、Bash 命令文本与输出,以及 Edit/Write 的文件路径。

写入文件

无

运行命令

有

以固定参数运行只读 git(status/diff/clean -n 等)和 lsof 查端口。

联网

无

介绍

Worktree Guard 是 Claude Code 的 function hooks Mod,面向多个会话共用同一工作树的场景。

  • 暂存守卫:会话开始时记录已有改动的文件,并记录本会话通过 Edit / Write / NotebookEdit 写过的文件。模型执行 git add -A、git add .、git add -u 或 git commit -a 时,把将被暂存的文件分类:会话前就已改动、本会话没碰过的「外来」文件会先询问你,不允许就拦下,并建议改用 git add <本会话文件>;会话中出现但非 Edit/Write 产生的「来源不明」文件只弹提示。
  • 破坏性预览:git stash、git checkout -- …、git restore、git reset --hard、git clean 等先做 dry-run,列出会影响的文件,再让你允许或拦截。
  • 显示:面板按目录分组列出文件(最多 8 组,可展开全部);终端宽度不足 144 列时改为输入框上方一行;/guard-files 在对话中打印上次被守卫命令的完整文件列表。
  • 端口:命令报 EADDRINUSE 时弹窗指出占用端口的 PID 与工作目录;会话结束时列出工作树内仍在监听的进程。

作者明确说明这是安全网而不是权限控制:别名、脚本文件、运行时拼出的命令、其他程序启动的 git 都看不到;不带 -a 的 git commit、同文件内其他会话的 hunk、git stash drop/clear 也不守卫。无人可回答(如 claude -p)或自身检查失败时会直接拦截。界面文字为越南语。README 未写 Claude Code 最低版本。评分为资料校准分,未经本站运行实测。

适合谁

  • 多个 Claude Code 会话共用一个工作树的人
  • 担心模型 git add -A 把别人改动一起提交的人

运行要求

  • 需要 git;端口定位用到 lsof。
  • 界面文字为越南语。