AtchayamG/ai-incident-commander

GitHub: AtchayamG/ai-incident-commander

该项目是一个基于证据链和人工审批门禁的 AI 事件响应工作流系统,旨在帮助小型工程团队安全地利用大模型进行事故诊断与补丁修复。

Stars: 0 | Forks: 0

# Incident Commander AI 面向小型工程团队的 AI 事件指挥官:基于证据的诊断、人工批准的修复、已验证的补丁。蓝图:`docs/AI_INCIDENT_COMMANDER_MASTER_BLUEPRINT_v1.md`。 与 Codex 为 OpenAI Build Week 并行开发。可选的实时调查 adapter 在显式配置时,通过 Responses API 针对 GPT-5.6 运行;可复现的评判演示保持无凭证状态,并清晰地标记为模拟。 **状态:M0-M9 已完成;最终的 Devpost 提交正在进行中。** 确定性演示通过显式模拟的 draft-PR 包、通信以及与证据关联的 postmortem 完成了双重审批工作流。无需外部凭证;剩余的提交步骤记录在 `docs/project/taskstatus.md` 中。 ## 公开提交产物 - 演示视频:https://youtu.be/-8zRF8RCuc8 - Devpost 项目:https://devpost.com/software/incident-commander-ai - 源代码仓库:https://github.com/AtchayamG/ai-incident-commander ## 目录结构 | 路径 | 内容 | |---|---| | `services/api` | Python 3.12 FastAPI 后端(Pydantic v2、严格的 mypy、ruff、pytest) | | `apps/web` | Next.js 15 App Router 前端(严格的 TypeScript、Vitest) | | `packages/contracts` | 镜像后端 Pydantic 模型的共享 TypeScript 契约类型 | | `docs/adr` | 架构决策,包括本地演示运行时边界 | | `docs/architecture` | 系统上下文、状态机、安全模型、演示架构 | | `LICENSE` | 用于公开审查和复用的 MIT 许可证 | ## 快速开始 Docker(单条命令): ``` make docker-up # or: docker compose up -d --build # web: http://localhost:3000 api: http://localhost:8000/docs ``` 本地原生运行: ``` make setup # pnpm install + backend venv (Python 3.12) + dev deps make dev-api # FastAPI on :8000 make dev-web # Next.js on :3000 (second terminal) ``` `make bootstrap` 是全新克隆设置约定的别名。`make dev` 在前台运行 Docker 开发栈。 Windows 或任何没有 GNU Make 的主机可以直接使用底层命令: ``` pnpm install --frozen-lockfile uv sync --project services/api --extra dev uv run --project services/api python -m uvicorn app.main:app --app-dir services/api --reload --port 8000 # 第二个 terminal pnpm --filter @incident-commander/web dev ``` ## 质量门禁 ``` make lint # ruff + next lint + tsc make typecheck # mypy --strict + tsc --noEmit make test # backend, shared-contract, and web tests make eval # eight deterministic safety scenarios make secret-scan # Gitleaks over current tree and Git history make demo-assert # five complete deterministic demo runs make openai-smoke # optional credentialed GPT-5.6 structured-output proof ``` CI(`.github/workflows/ci.yml`)在每次向 `main` 分支进行 push/PR 时强制执行后端/前端门禁、web 构建、五个确定性演示、密钥与依赖扫描,以及发布镜像构建。 ## 黄金演示(无需凭证) ``` make demo-reset # verify protected reset and RECEIVED seed state make demo-run # one full run through RESOLUTION_DRAFTED make demo-assert # five consecutive asserted runs ``` 在没有 GNU Make 的 Windows 主机上,直接运行底层命令: ``` uv run --directory services/api python -m app.demo.runner --runs 5 ``` 每次运行都使用临时的 SQLite 数据库、预设的调查数据和预设的 code-agent。它运行两个公开的审批 endpoint,并断言 `RESOLUTION_DRAFTED`、模拟的 provider 来源、通信以及与证据关联的 postmortem。它绝对不会联系 OpenAI 或 GitHub。 完整演练请参阅 `docs/architecture/demo-architecture.md`。 ## 架构概览 ``` flowchart LR J["Judge / incident commander"] --> W["Next.js review UI"] W --> A["FastAPI typed workflow API"] A --> S["SQLAlchemy + PostgreSQL default stack"] A -. "ephemeral test/demo runner" .-> Q["Deterministic SQLite store"] A --> F["Fixture telemetry, investigation, code-agent, and PR providers"] A -. "optional; fail closed" .-> O["OpenAI Responses API / Codex CLI / GitHub"] A --> G["Two recorded human approval gates"] G --> V["Sandbox policy + six-check verifier"] ``` 已验证的提交路径是本地的,并在标记为模拟的地方进行了模拟。默认的 Compose 栈使用 PostgreSQL 和 Redis;可重复性运行器使用临时 SQLite。有关剩余的托管生产环境边界,请参阅 [ADR 009](docs/adr/009-local-demo-runtime-boundary.md)。 ## 已验证的基线 - 后端:Ruff 和严格的 mypy 在 56 个应用程序源文件中全部通过;185 个测试通过。 - 前端:lint、严格的 typecheck、20 个 web 测试、6 个共享契约测试以及生产构建全部通过。 - 浏览器:22 个 Chromium 场景通过,包括四视口溢出检查、内部链接验证,以及通过两次审批的真实本地 API 流程。 - 评估:所有 8 个确定性安全场景和 13 个 grader/mutation 测试均通过。 - 可选的实时集成会 fail closed(失败即关闭),且绝不会替代确定性演示模式。受限的、需凭证的 GPT-5.6 结构化输出回执单独记录,且绝不会通过测试夹具产物(fixture artifacts)来暗示。 当前的证明和剩余限制请参阅[任务状态](docs/project/taskstatus.md)、[证据清单](docs/submission/evidence-checklist.md)、[GPT-5.6 回执](docs/submission/openai-live-smoke.md)和[演示脚本](docs/submission/demo-script.md)。 ## 核心原则 - 证据在持久化之前必须通过脱敏边界——原始 payload 绝对不能通过。 - 工作流状态仅通过确定性状态机更改;模型输出只是一个类型化的提议(proposal)。 - 外部影响(补丁、PR)需要已记录的人工批准。 - 模拟数据始终会被标记为模拟。
标签:AI运维, AV绕过, FastAPI, Python, 搜索引擎查询, 无后门, 模块化设计, 测试用例, 自动化修复, 请求拦截