Horsewhip · 马鞭
For that horse that keeps trampling your codebase
仓库 · Repository: https://github.com/SymbioticUniverse/horsewhip · v3.2.3
不是 Git 图 · 是 AI 动手前的边界尺
在 VS Code / Cursor 里,用文件泳道 + 时间轴看清「动哪、哪一版」;两重鞭子在泳道挥鞭圈定跑马范围,对写盘与 commit 即时拦、自动还原——未圈定的一律不许改。
| 痛点 |
马鞭 |
| AI 改了边界外的文件 |
两重鞭 · 圈外写盘即还原 |
| 不知道这一版动了谁 |
Cn 上传序 + 文件 Vn |
| 复制小作文约束 AI |
挥鞭圈定 · 机器守门,越界须问用户 |
| 拦截只有弹窗 |
守护记录 · 累积统计 + 因果审计链 |
两重鞭子
未圈定 = 全库禁止修改 · 已圈定 = 仅圈内路径可改(lkback 反向锁相反:denied 内不可改)。
| 鞭 |
作用 |
| 第一重 · 挥鞭圈定 |
泳道点选节点 → 挥鞭 → 泳道色瞄准环(慢速旋转)锁定 commit + 分支 + 路径 |
| 第二重 · 写盘守门 |
未圈定或圈外:编辑器只读 + 磁盘变更立即还原(含 Agent 直写) |
| 兜底 · commit |
pre-commit + 面板提交;分支须与瞄准一致 |
持久化:.git/horsewhip/allowlist.json;写盘被拦:edit-blocked.json;守护统计:guard-stats.json。
安装
- 扩展面板搜索 Horsewhip → 安装 → 重载窗口
- 文件 → 打开文件夹(你的 Git 项目)
- 活动栏 Horsewhip → 点选节点 → 挥鞭圈定
完整版(Agent):命令面板 → Horsewhip: 配置 Agent → 重载。详见 docs/agent-setup.md。
也可从 Releases 安装 .vsix(v3.2.3+ 请确认来自官方仓库 SymbioticUniverse/horsewhip)。
Node.js: 3.2.3 起自动检测并写入 git 守门钩子;缺 Node 时状态栏与模态框会提醒。可选 horsewhip.node.path。
3 步 Quick Start
| 步骤 |
做什么 |
| 1 |
安装扩展并重载 |
| 2 |
点泳道节点 → 挥鞭圈定(见旋转瞄准环) |
| 3 |
仅在圈内改码 → git commit → 刷新 Git 记录 |
完整图文:docs/user-guide.md
Agent 斜杠命令(完整版)
| 命令 |
用途 |
/horsewhip |
白名单圈定整理 |
/horsewhip-lock |
全锁生长(只新建) |
/horsewhip-lkback |
反向锁(保护少数文件) |
/horsewhip-unlock |
全局解锁(horsewhip_unlock) |
-auto 变体可代 commit(push 仍本人)。见主仓库 README。
守门设置(默认已开)
| 键 |
默认 |
说明 |
horsewhip.guard.blockEdit |
lock |
未圈定全库只读;已圈定仅圈内可编辑 |
horsewhip.guard.revertOnWrite |
true |
圈外/未圈定写盘立即还原 |
horsewhip.guard.notifyAiOnWrite |
true |
还原后向 Chat 插入说明 |
horsewhip.guard.blockCommit |
true |
越界或未圈定拦截 commit |
horsewhip.node.path |
(空) |
可选:Node 可执行文件绝对路径;留空则自动检测 |
详见 boundary-guard.md。
不是 GitGraph
|
GitGraph / GitLens |
Horsewhip |
| 解决什么 |
分支拓扑 |
AI 会不会改飞 |
| 横轴 |
commit 时间 |
上传序 Cn |
| 纵轴 |
分支 |
文件泳道 |
文档
English (brief)
VS Code extension for file-lane Git timeline + dual whip guards: fence before AI edits, instant revert on illegal writes, guard record for interception stats. Full edition bundles MCP + Skills (18 tools). Install from Marketplace, open a Git folder, whip to fence, edit only inside allowlist. Agent slash commands: /horsewhip, /horsewhip-lock, /horsewhip-lkback, etc. See main README.
License
GNU AGPL-3.0
马鞭 · 两重鞭子 · 圈地即守门 · v3.2.3