跳转至

常见问题(FAQ)

迁移自 README 精简版主页;返回 README

如何自定义阶段或证据要求? 通过 YAML 配置覆盖即可,无需改代码:

spec_file: design.md
spec_sections: ["## 需求", "## 方案", "## 接口"]
spec_min_chars: 80
min_test_functions: 3

把配置路径传给 AntiShortcutSkill(..., config="my_gate.yaml") 或 CLI 的 --config

如何关闭某道门禁? 每个校验器都有开关或阈值可调,例如:

  • 不强制实现代码:require_implementation: false
  • 允许任意阶段写“其他”文件:allow_other_files_any_stage: true(默认已开启)
  • 调低 spec 长度门槛:spec_min_chars: 0
  • 关闭门禁目录 shell 保护(不推荐):protect_gate_dir: false

彻底“一键关闭全部门禁”与设计目标相悖,不支持。

如何适配非 Python 项目? v0.3.0 起推荐使用语言适配层:language: javascript / java / go / rust(内置 Python、 JavaScript/TypeScript、Java、Go、Rust 适配器,并支持按工作区标志文件自动检测);更特殊的语言可提供自定义 LanguageAdapter (用 language_adapter 配置导入路径)。不引入适配器时,仍可直接配置 test_file_patterns / source_file_patterns / test_commands 三项, 门禁逻辑(阶段状态机 + 证据校验 + 工具拦截)保持不变。

Agent 被拦截后如何继续? 拦截只返回错误提示,不破坏任何状态。Agent 补齐当前阶段证据(如写完 spec.md)后重新调用 advance_stage 即可;也可以由编排器用 CLI python -m anti_shortcut advance --workspace . --to N 人工复核后推进。