lennney/stop-that-shit

Stop That Shit(别再造史了)|面向 Codex/GPT 场景的多平台 Hook + Skill Guard:拦截 AI coding agent 无需求的哈希、校验和与任务范围膨胀。 A multi-platform Hook + Skill Guard for AI coding agents in Codex/GPT workflows: stop unrequested hashes, checksums, and task-scope creep.

是什么

Stop That Shit(别再造史了) 是一个针对 AI 编码代理(如 CodexClaude CodeOpenCodeHermes Agent CLIPi)的插件/防护系统。它允许你定义清晰的任务边界,使代理停止执行用户从未要求的操作——例如生成一个后续步骤不会读取的 SHA-256 校验和、添加防御性代码,或反复重新运行相同的检查。

为什么重要

当大型语言模型代理被赋予编码任务时,它们常常会添加“额外”步骤,消耗 token、时间,有时还会不必要地修改仓库。本项目提供:

  • 技能 – 一组语义规则(即 Stop Ladder),用于判断某个操作是否真正必要。
  • 防护 – 一个运行时钩子,拦截代理的行为(文件写入、依赖安装、子代理启动、哈希生成等),并允许、要求明确授权,或以红色 STOP 消息阻止它们。
  • 适配器 – 薄层,将五个支持代理(Codex、Claude Code、OpenCode、Hermes Agent CLI、Pi)的事件转换为统一的决策接口。
  • Stop-That-Shit Slop (STSS) – 一个独立的技能,用于从代理的文本输出中删除不必要的防御性语言。

它们共同使代理保持专注,减少 token 浪费,并防止自动化编码流水线中的意外“范围蔓延”。

如何使用

  1. 安装 适用于你代理的插件(大多数情况需要 Node ≥ 18,Pi 需要 Node ≥ 22)。README 提供了每个支持主机的一行安装命令。
  2. 运行 通过主机的 CLI 调用技能,例如:
    $stop-that-shit review -- Review this diff, don’t modify.
    $stop-that-shit change hash=allow -- Generate the checksum I explicitly asked for.
    
  3. 必要时指定合约,例如 files=src/config.cjs|test/config.test.cjs 限制代理可操作的路径,或 deps=allow 自动批准依赖安装。
  4. 防护默认以 观察模式 启动(记录行为但不阻止)。切换到 reviewanswermonitorchange 模式会激活它;任何被禁止的操作都会触发清晰的 STOP 响应:
    STOP / INTENT
    Guard returns permission deny.
    Reason: MODE_FORBIDS_MUTATION
    
  5. 仅需文本清理时,安装 STSS 技能并运行 $stss rewrite …$stss audit …,以删除或收紧不必要的防御性措辞。

适合谁

  • 使用 LLM 驱动的编码助手并希望实现确定性、可审计构建的 开发者
  • 需要确保代理仅执行工作流明确授权操作的 团队负责人 / CI 流水线
  • 探索安全防护 AI 代理的研究人员,项目附带配对评估数据和回归测试。

包含内容

组件 作用
技能(Stop Ladder) 编码四问决策流程(用户请求?结果所需?有证据?省略会破坏接受度?)
防护(钩子) 拦截文件写入、依赖安装、子代理启动、哈希生成等行为,并强制执行技能的判断
适配器 将 Codex、Claude Code、OpenCode、Hermes Agent CLI 和 Pi 的事件转换为通用防护接口
STSS 技能 对句子应用相同决策逻辑,决定对防御性措辞执行 DROPCALIBRATERELOCATEKEEP
测试套件 单元测试、配对评估脚本,以及包含离线固定数据的六个好/坏案例包
文档 各代理安装指南、合约语法(files=, deps=, hash=, agents=),以及供贡献者使用的案例库

成熟度

  • 最新稳定版本 0.2.1(修复文件路径边界处理的 bug)。
  • 支持 CI 构建、自动化测试和文档化发布流程。
  • MIT 许可,欢迎通过标准 GitHub 工作流提交贡献。

所有细节均直接来自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目