qazedhq/qa-z

GitHub: qazedhq/qa-z

QA-Z 为 AI 编码智能体生成的代码变更提供确定性的 QA 契约、检查、修复提示与验证报告,让团队能以可信证据决定是否合并,而非仅凭 AI 的自信描述。

Stars: 0 | Forks: 3

# QA-Z 🛡️ [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c4d3892a68144744.svg)](https://github.com/qazedhq/qa-z/actions/workflows/ci.yml) ![Status](https://img.shields.io/badge/status-alpha-orange) ![Python](https://img.shields.io/badge/python-3.10%2B-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-blue) [![Release](https://img.shields.io/github/v/release/qazedhq/qa-z?include_prereleases&label=release)](https://github.com/qazedhq/qa-z/releases/tag/v0.9.9-alpha) AI 智能体编写代码的速度很快。QA-Z 将它们的更改转化为确定性的合并证据:契约、检查、修复提示和验证报告。 查看 QA-Z 如何在合并前捕获一个危险的 agent 认证更改。 ![QA-Z terminal demo](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4f132cb0e1144745.svg) 这是一个确定性的终端录制证明,而不是 GIF。检入的源文件为 [docs/assets/qa-z-demo.cast](docs/assets/qa-z-demo.cast)、[docs/assets/qa-z-demo.svg](docs/assets/qa-z-demo.svg),以及更完整的 [agent-auth-bug asciinema cast](docs/assets/qa-z-agent-auth-bug.cast)。 ``` pipx install git+https://github.com/qazedhq/qa-z.git qa-z init --profile python --with-agent-templates qa-z doctor qa-z demo auth-bug cd .qa-z/demo/auth-bug qa-z guard --from-run latest --adapter codex qa-z repair-prompt --from-run latest --adapter codex ``` ## 快速开始 ``` qa-z demo auth-bug cd .qa-z/demo/auth-bug qa-z guard --from-run latest --adapter codex qa-z repair-prompt --from-run latest --adapter codex ``` 自动化任务可以使用 `qa-z demo auth-bug --json` 来获取演示根目录、判定结果、修复提示和后续命令。 对于你自己的代码库: ``` qa-z init --profile python --with-agent-templates qa-z doctor qa-z guard --adapter codex --deep auto --fail-on-risk qa-z repair-prompt --from-run latest --adapter codex ``` 如果控制台脚本不在 PATH 中,可以使用 `python -m qa_z` 作为备选。 ## GitHub Alpha 版本安装 ``` pipx install git+https://github.com/qazedhq/qa-z.git uv tool install git+https://github.com/qazedhq/qa-z.git python -m pip install -e .[dev] ``` 在本地运行深度检查时,请安装 Semgrep: ``` python -m pip install semgrep ``` ## 为什么选择 QA-Z? AI 生成的代码通常附带着自信的总结和零散的证据。QA-Z 直接回答了是否可以合并的问题: ## 使用前后对比 在使用 QA-Z 之前: - 人工上下文重建 - 脱节的测试失败 - 遗漏的安全风险 - 不明确的智能体修复范围 在使用 QA-Z 之后: - QA 契约 - 快速且深度的证据 - 修复提示 - 已验证的修复 - 可审查的合并判定 ## 你将获得什么 - QA 契约 - 快速检查 - 由 Semgrep 支持的深度检查 - 适用于 Codex、Claude Code 和人类的修复提示 - 修复后验证 - GitHub 摘要和 SARIF - 适用于 Codex、Claude Code、Cursor 和 GitHub Copilot 的智能体安全技能 ## qa-z guard 运行一键合并安全路径: ``` qa-z guard --adapter codex --deep auto --fail-on-risk ``` guard 会写入: - `.qa-z/runs/latest/guard/verdict.json` - `.qa-z/runs/latest/guard/verdict.md` - `.qa-z/runs/latest/review/review.md` - `.qa-z/runs/latest/repair/codex.md`(当需要修复时) 判定结果包括 `merge_ok`、`do_not_merge`、`needs_review` 或 `error`。 长格式的演示循环: ``` qa-z fast --output-dir .qa-z/runs/baseline qa-z deep --from-run .qa-z/runs/baseline qa-z repair-prompt --from-run .qa-z/runs/baseline --adapter codex ``` 在应用了包含的修复后,`qa-z verify` 应报告判定结果为 `improved` 且没有回归。 ## 智能体技能包 安装可复制粘贴的安全指令: ``` qa-z skill install all ``` 目标: - `qa-z skill install codex` -> `AGENTS.md` - `qa-z skill install claude` -> `CLAUDE.md` - `qa-z skill install cursor` -> `.cursor/rules/qa-z.mdc` - `qa-z skill install copilot` -> `.github/copilot-instructions.md` 可复用技能位于 [skills/qa-z-merge-safety/SKILL.md](skills/qa-z-merge-safety/SKILL.md)。 ## GitHub Action ``` name: QA-Z on: pull_request: jobs: qa-z: runs-on: ubuntu-latest permissions: contents: read actions: read steps: - uses: actions/checkout@v6 with: persist-credentials: false - uses: qazedhq/qa-z/.github/actions/guard@main with: profile: python deep: auto adapter: codex ``` 请参阅 [docs/github-action.md](docs/github-action.md)。仅在明确启用 SARIF 上传时才添加 `security-events: write`。 ## Agent QA 方案 - [Agent QA 方案](docs/agent-qa-playbook.md) - [AI 代码合并检查清单](docs/ai-code-merge-checklist.md) - [糟糕的 AI 代码示例](docs/bad-ai-code-examples.md) - [Codex 修复方案](docs/codex-repair-recipes.md) - [Claude Code 修复方案](docs/claude-code-repair-recipes.md) - [Cursor 安全规则](docs/cursor-safety-rules.md) - [用于 AI 生成代码的 Semgrep](docs/semgrep-for-ai-generated-code.md) - [与 GitHub Copilot 配合使用](docs/use-with-github-copilot.md) - [产品方向](docs/product/PRODUCT_DIRECTION.md) - [V8 交接](docs/product/V8_HANDOFF.md) - [产品决策](docs/product/PRODUCT_DECISIONS.md) - [基准测试](docs/benchmarking.md) ## 高级命令 这些命令用于本地规划和证据展示。当 `self-inspect` 或 `select-next` 发现严格的工作树提交计划证据时,脏工作树任务可以指向来自 `.qa-z/tmp/worktree-commit-plan.json` 的限定范围的 patch-add 命令。 `qa-z autonomy --loops 1 --json` 会写入所选任务的操作提示、验证和上下文路径;`qa-z autonomy status` 将相同的操作呈现为换行的操作员输出。`selected-task patch-add commands` 会显示为其自身的条目,脏工作树操作在处理过期的操作数据包之前,会使用新的积压工作检查(`python -m qa_z backlog --refresh --json`)。 - `qa-z self-inspect` - `qa-z select-next` - `qa-z backlog` - `qa-z autonomy` - `qa-z executor-bridge` - `qa-z executor-result` ## QA-Z 不是什么 QA-Z 不是自主代码编辑器,不是 LLM 评判器,不能替代测试、Semgrep 或人工审查,目前还不是包注册表发布工具,也不会自行提交、推送、开启 PR 或在 GitHub 上发表评论。 ## 路线图 请参阅 [docs/roadmap.md](docs/roadmap.md)。 - `v0.9.9-alpha`:仓库维护、guard、demo、技能包、GitHub Action、安装文档 - `v0.10.0-beta`:发布完善、托管演示路径,以及包发布就绪状态 - `v0.11.0`:更深入的验证用户体验、基准测试、集成 ## 贡献 请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)、[SUPPORT.md](SUPPORT.md)、[SECURITY.md](SECURITY.md) 和 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md),然后运行: ``` python -m pip install -e .[dev] python -m pytest python -m qa_z --help ``` 保持确定性门控领先于声明。在这些版本实际发布之前,不要声称已在 PyPI 或市场上可用。 ## 许可证 Apache-2.0
标签:AI, AI代码安全, DevSecOps, Python开发工具, QA合约, 上游代理, 云安全监控, 人工智能辅助编程, 代码修复提示, 代码合并安全, 代码缺陷检测, 代码质量保证, 代码验证, 开源安全工具, 确定性测试, 编码智能体, 自动化代码审查, 软件供应链安全, 远程方法调用, 逆向工具, 逆向工程平台, 静态分析