rayalon1984/testops-copilot

GitHub: rayalon1984/testops-copilot

一款 AI 驱动的测试运维平台,通过智能故障分析和根因检测帮助工程团队自动化处理 CI/CD 流水线中的测试失败问题。

Stars: 1 | Forks: 0

TestOps Copilot

您的测试失败现在有一位专属侦探为您服务。

一个 AI 驱动的测试运维平台,配备智能代理 Copilot、由 9 位专家角色组成的虚拟团队,以及分级自主权,让您控制 AI 自主工作的程度。

CI Version License Node.js Version Tests Spec Coverage

快速开始 · 演示指南 · 工作原理 · MCP Server · 更新日志

## 项目亮点 您的 CI 流水线在凌晨 2 点崩溃。当您打开笔记本电脑时,AI Copilot 已经在 Jira 中搜索了类似的故障,拉取了相关的 Confluence 运维手册,从您的故障知识库中确定了根本原因,并正等待您的一键修复。 您审查它,点击批准,然后继续享用您的咖啡。 ![TestOps Copilot - Agentic Command Center](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/42a2104327024817.jpg) *3 栏式任务控制中心:导航 | 主要内容 | 带有角色路由的 AI Copilot 面板* ## 2 分钟快速运行 ``` git clone https://github.com/rayalon1984/testops-copilot.git cd testops-copilot && npm install && npm run dev:simple ``` 无需 PostgreSQL。无需 Redis。无需 API 密钥。使用 `engineer@testops.ai` / `demo123` 登录。 就是这样。您已经开始与 Copilot 对话了。 ## v3 版本有何不同 ### 您的 AI 团队,而不仅仅是聊天机器人 每个查询在生成单个 token *之前*都会被路由到合适的专家: | 您的提问 | 路由至 | 原因 | |---------|-----------|-----| | "我的测试为什么不稳定?" | **测试工程师 (Test Engineer)** | 不稳定测试分析、覆盖率、CI 质量 | | "流水线坏了" | **DevOps 工程师 (DevOps Engineer)** | 流水线、部署、CI/CD 基础设施 | | "是否存在安全漏洞?" | **安全工程师 (Security Engineer)** | 认证、密钥、漏洞 | | "Schema 迁移失败" | **数据工程师 (Data Engineer)** | 数据库、Schema、迁移 | | "页面加载太慢" | **性能工程师 (Performance Engineer)** | 延迟、吞吐量、性能分析 | | "这个工具能做什么?" | **产品经理 (Product Manager)** | 功能发现、引导 | 总共有 **9 种角色**。路由分为两层:关键词规则在 <1ms 内触发且零成本。当规则未命中时,会启动轻量级 LLM 微分类(约 200 个 token)。您可以实时查看谁在处理您的查询:*"测试工程师正在处理中。"* ### 分级自主权 —— 由您设定 并非每个人都希望 AI 拥有相同程度的独立性: | 模式 | 行为 | |------|-------------| | **保守** | AI 调查并提供建议。所有操作均需您批准。 | | **平衡** | 低风险操作(搜索、读取、标记)自动执行。团队可见的操作显示一键批准卡片。 | | **自主** | AI 尽力处理,必要时升级。破坏性操作始终需要您的签字确认。 | 22 个工具。8 个自动执行。11 个分级审批。3 个维护类。每个写入操作都通过 TTL 为 5 分钟的“人机回环”确认关口。 ### 自带提供商 (Bring Your Own Provider) 通过聊天内的选择器,在对话中途热插拔 AI 提供商: | 提供商 | 您获得的内容 | |----------|-------------| | **Anthropic Claude** | 直接 API —— Opus, Sonnet, Haiku | | **AWS Bedrock** | 通过 IAM 角色 —— AWS 中零凭证管理 | | **OpenAI** | GPT-4o, o1 | | **Google Gemini** | Gemini Pro, Flash | | **Azure OpenAI** | 企业级 Azure 部署 | | **OpenRouter** | 通过单一网关访问 100+ 模型 | ### 能够学习的测试智能 您的故障知识库随着每次测试运行变得更加智能: - **预测性故障分析** —— 每个测试的风险评分、趋势聚合、z-score 异常检测,在问题演变成模式之前捕获它们 - **不稳定测试检测** —— 基于历史通过/失败数据的统计评分,找出那些您无法信任的测试 - **智能测试选择** —— 修改了 3 个文件?平台会告诉您 400 个测试中实际需要运行哪 12 个 - **故障指纹识别** —— 相同的根本原因,不同的堆栈跟踪?知识库会自动将它们关联起来 - **上下文丰富** —— 同时从 Jira、Confluence 和 GitHub 拉取上下文,以便 AI 掌握全貌 ### 完整平台 | 领域 | 您获得的内容 | |------|-------------| | **多流水线仪表盘** | Jenkins、GitHub Actions 和自定义 CI 的统一视图 | | **3 栏式任务控制中心** | 带有集成 AI Copilot 面板的实时仪表盘 | | **团队工作区** | 团队、成员 (OWNER/ADMIN/MEMBER/VIEWER)、范围限定的流水线 | | **协作式 RCA** | 故障评论、带有乐观锁定的版本跟踪 RCA 修订 | | **故障知识库** | 智能指纹识别、历史趋势、类别分析 | | **自动修复工作流** | 分析故障、创建分支、提交修复、开启 PR | | **聊天会话持久化** | 完整的消息历史存储,可跨会话检索 | | **成本追踪** | 按工具和提供商的每次会话成本明细,附带预算警报 | ## 集成 TestOps Copilot 可插入您现有的技术栈: | 服务 | 功能 | 设置 | |---------|-------------|-------| | **Jira** | 问题创建、双向同步、相似问题搜索 (JQL) | `JIRA_BASE_URL` + `JIRA_API_TOKEN` | | **GitHub** | Commit diff、PR 查找、分支/文件操作、工作流触发 | `GITHUB_TOKEN` | | **Confluence** | 知识库读取 (CQL)、RCA 文档发布、运维手册查找 | `CONFLUENCE_BASE_URL` + `CONFLUENCE_API_TOKEN` | | **Slack** | 故障和流水线状态变更的推送通知 | `SLACK_WEBHOOK_URL` | | **Monday.com** | 用于任务管理的 Work OS 集成 | `MONDAY_API_TOKEN` | | **TestRail** | 测试用例管理同步 | `TESTRAIL_HOST` + `TESTRAIL_API_KEY` | | **Grafana/Prometheus** | `/metrics` 指标、预构建仪表盘 | 内置 | ## 生产级强化 这不是原型。v3 经过了专门的安全审计: - **SQL 注入防护** —— Prisma.sql 标记模板,无原始查询 - **CSRF 防护** —— 双重提交 Cookie 模式 - **Redis 支持的会话** —— 自动令牌列入黑名单 - **结构化日志** —— 每个请求都有一个可端到端追踪的 `X-Request-ID` - **深度健康检查** —— `/health/ready` (DB + Redis), `/health/live` (存活), `/health/full` (所有服务) - **企业级认证** —— SSO/SAML 2.0 (Okta, Azure AD), 拥有 5 种角色的 RBAC,带 PII 脱敏的审计日志 - **无高危漏洞** —— 0 个高/严重漏洞 ## 演示模式 vs 生产模式 | | 演示模式 | 生产模式 | |---|---|---| | **数据库** | SQLite (基于文件) | PostgreSQL 14+ | | **AI 提供商** | Mock (逼真的演示数据) | Anthropic / OpenAI / Google / Azure / Bedrock | | **集成** | 模拟响应 | 真实的 Jira, Slack, GitHub, Confluence | | **设置时间** | ~2 分钟 | ~15 分钟 | | **需要 Docker** | 否 | 是 | | **适用于** | 评估、演示、培训 | 生产部署 | **演示凭据** (均使用密码 `demo123`): | 邮箱 | 角色 | |-------|------| | `admin@testops.ai` | Site Admin | | `lead@testops.ai` | QA Lead | | `engineer@testops.ai` | QA Engineer | | `viewer@testops.ai` | Stakeholder | **生产设置:** ``` cp .env.production.example .env.production # Edit secrets! docker compose -f docker-compose.ghcr.yml up -d ``` ## 技术栈 | 层级 | 技术 | |-------|-------------| | **后端** | Node.js 18+ · TypeScript · Express.js · Prisma ORM · PostgreSQL · Redis | | **前端** | React 18 · TypeScript · Material-UI v5 · Zustand · React Query · Vite | | **AI** | Anthropic Claude · OpenAI · Google Gemini · Azure OpenAI · AWS Bedrock · OpenRouter | | **向量数据库** | Weaviate (用于语义故障匹配) | | **基础设施** | Docker · GitHub Actions · Prometheus · Grafana · OpenTelemetry · Playwright E2E | ## 开发 ``` # 演示模式 — SQLite, mock AI, auto-open browser npm run dev:simple # Full stack — PostgreSQL + Redis + Weaviate via Docker npm run local:start && npm run dev ``` | 命令 | 功能 | |---------|-------------| | `npm run test` | 运行所有 760 个测试 (Jest + Vitest) | | `npm run typecheck` | 后端 + 前端类型检查 | | `npm run lint` | 对两个项目运行 ESLint | | `npm run build` | 构建所有包 | | `npm run check:architecture` | 验证无层级违规 | | `npm run check:health` | 标记过大的文件/函数 | ## API 参考 ### 核心 ``` POST /api/auth/login # Login POST /api/auth/register # Register GET /api/pipelines # List pipelines GET /api/test-runs # List test runs ``` ### AI Copilot ``` POST /api/v1/ai/chat # SSE streaming chat (ReAct loop) GET /api/v1/ai/personas # List virtual team personas GET /api/v1/ai/config # Current provider config PUT /api/v1/ai/config # Update provider (admin) POST /api/v1/ai/config/test # Test provider connection POST /api/v1/ai/confirm # Approve/deny pending action GET /api/v1/ai/health # AI services health GET /api/v1/ai/costs # Cost summary ``` ### 故障知识库 ``` POST /api/v1/failure-archive # Create failure entry PUT /api/v1/failure-archive/:id/document-rca # Document RCA (version-aware) GET /api/v1/failure-archive/trends # Time-series failure trends GET /api/v1/failure-archive/predictions # Risk scores per test GET /api/v1/failure-archive/anomalies # Anomaly detection ``` 完整 API 参考:**[docs/api.md](docs/api.md)** ## 项目结构 ``` testops-copilot/ ├── backend/ │ ├── prisma/ # Schema (dev + production) & migrations │ └── src/ │ ├── routes/ai/ # AI & copilot REST routes │ ├── services/ai/ │ │ ├── AIChatService.ts # ReAct loop + SSE streaming │ │ ├── PersonaRouter.ts # Two-tier query classifier │ │ ├── tools/ # 22 agentic tool wrappers │ │ ├── providers/ # 6 AI provider adapters │ │ └── features/ # RCA, categorization, enrichment │ ├── middleware/ # Auth, validation, error handling │ └── utils/ # Logger, validators, helpers ├── frontend/ │ └── src/ │ ├── components/AICopilot/ # Copilot panel + cards + persona badge │ ├── hooks/useAICopilot.ts # SSE chat hook with persona support │ ├── pages/ # Dashboard, KB, Teams, Settings │ └── services/ # API clients ├── mcp-server/ # Model Context Protocol server (8 tools) ├── specs/ # Living specification documents │ ├── features/ # 16 YAML feature manifests (229 assertions) │ └── team/ # 9 persona specs + routing rubric ├── docs/ # User & developer documentation └── .github/workflows/ # CI/CD pipelines ``` ## 文档 | 文档 | 描述 | |----------|-------------| | **[快速开始](docs/quickstart.md)** | 5 分钟内运行起来 | | **[它是如何工作的?](docs/HOW_DOES_IT_WORK.md)** | 平台的通俗英语指南 | | **[演示指南](docs/DEMO.md)** | 带有工作流图表的视觉指南 | | **[UI 导览](docs/UI_TOUR.md)** | 带有注释截图的视觉演示 | | **[API 参考](docs/api.md)** | 完整的 REST API 文档 | | **[架构](docs/architecture.md)** | 系统设计与组件 | | **[MCP Server](docs/MCP_INTEGRATION.md)** | Model Context Protocol 集成 | | **[开发指南](docs/development.md)** | 编码规范、测试、git 工作流 | | **[路线图](specs/ROADMAP.md)** | 已发布内容和后续计划 | | **[更新日志](CHANGELOG.md)** | 完整版本历史 | | **[经验教训](docs/LESSONS_LEARNED.md)** | 动态更新的错误模式库 | ## 许可证 Apache License 2.0 —— 详见 [LICENSE](LICENSE)。

Rotem Ayalon 构建

报告 Bug · 请求功能

如果您觉得这个项目有用,请给它点个 star

标签:AI编程助手, Confluence, Copilot, DLL 劫持, GNU通用公共许可证, Jira集成, LLM, MCP Server, MITM代理, Node.js, PyRIT, Ruby, TestOps, Unmanaged PE, 人工智能, 多智能体系统, 大语言模型, 失败分析, 工程效率, 开源框架, 持续集成, 搜索引擎查询, 故障诊断, 根因分析, 测试用例, 测试运维, 用户模式Hook绕过, 知识库, 自动化攻击, 自动化攻击, 自动化运维, 自定义请求头, 自愈系统, 请求拦截, 软件开发, 软件质量