常见问题(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 人工复核后推进。