sandyArt/DevGuardian-AI

GitHub: sandyArt/DevGuardian-AI

基于 Azure OpenAI 和 Semantic Kernel 的自动化事件响应系统,通过四阶段 Agent 流水线实现从日志诊断到代码修复的全闭环处理。

Stars: 0 | Forks: 0

# DevGuardian AI ## 架构 ``` POST /api/agents/run │ ▼ WorkflowEngine │ ┌────┴────────────────────────────────────┐ │ SpecLoader (YAML) │ └────┬────────────────────────────────────┘ │ ┌─────▼──────┐ ┌───────────────┐ ┌──────────┐ ┌────────────┐ │ Monitoring │→ │ RootCause │→ │ Fix │→ │ Deploy │ │ Agent │ │ Agent │ │ Agent │ │ Agent │ └────────────┘ └───────────────┘ └──────────┘ └────────────┘ │ │ └── Diagnostics Plugin ── GitHub Plugin ``` **核心设计原则** | 原则 | DevGuardian 如何实现 | |-----------|------------------------------| | 规范驱动 (Spec-driven) | Agent 行为在 YAML 中定义 – 添加 Agent 无需修改代码 | | MCP 兼容 (MCP-compatible) | `/mcp/tools/*` 端点将每个 Agent 作为可发现工具公开 | | 可组合 (Composable) | 每个 Agent 的输出是下一个 Agent 的输入(思维链 pipeline) | | 可观察 (Observable) | 每个 Agent 阶段的结构化 JSON 输出 | ## 项目结构 ``` DevGuardianAI/ ├── DevGuardianAI.sln ├── specs/ ← YAML agent specifications │ ├── monitoring-agent.yaml │ ├── rootcause-agent.yaml │ ├── fix-agent.yaml │ └── deploy-agent.yaml └── src/ ├── DevGuardian.API/ ← ASP.NET Core host + Swagger + MCP endpoints │ ├── Controllers/ │ │ ├── AgentsController.cs │ │ └── McpController.cs │ ├── Models/ApiModels.cs │ ├── Program.cs │ └── appsettings.json ├── DevGuardian.AgentRuntime/ ← Core spec-execution engine │ ├── Models/ │ │ ├── AgentSpec.cs │ │ └── AgentTool.cs │ ├── AgentRuntime.cs │ ├── KernelFactory.cs │ ├── SpecLoader.cs │ └── WorkflowEngine.cs └── DevGuardian.Tools/ ← Semantic Kernel plugins ├── DiagnosticsTool.cs ├── GitHubTool.cs └── PluginRegistrar.cs ``` ## 前置条件 - [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) - 拥有 **gpt-4o** 部署的 Azure OpenAI 资源 - (可选)用于创建 PR 的 GitHub Personal Access Token ## 快速开始 ### 1 – 配置凭据 编辑 `src/DevGuardian.API/appsettings.Development.json`: ``` { "AzureOpenAI": { "Endpoint": "https://.openai.azure.com/", "Key": "", "Deployment": "gpt-4o" }, "GitHub": { "Token": "", "Owner": "your-org", "Repo": "your-repo" } } ``` 或使用环境变量: ``` set AZURE_OPENAI_ENDPOINT=https://... set AZURE_OPENAI_KEY=... set AZURE_OPENAI_DEPLOYMENT=gpt-4o ``` ### 2 – 还原并运行 ``` cd DevGuardianAI dotnet restore dotnet run --project src/DevGuardian.API ``` Swagger UI 可通过 **http://localhost:5000** 访问。 ## API 参考 ### 完整 Pipeline ``` POST /api/agents/run Content-Type: application/json { "logs": "2024-03-12T10:05:01 ERROR PaymentService.cs line 210 NullReferenceException..." } ``` **响应** ``` { "incident": "{ ... monitoring agent JSON ... }", "rootCause": "{ ... root cause JSON ... }", "fix": "### EXPLANATION\n...", "deployPlan": "{ ... deploy JSON ... }" } ``` ### 单个 Agent(临时) ``` POST /api/agents/invoke Content-Type: application/json { "agentName": "monitoring-agent", "input": "" } ``` ### Agent 目录 ``` GET /api/agents/catalogue ``` ### MCP 工具发现 ``` GET /mcp/tools ``` ### MCP 工具调用 ``` POST /mcp/tools/monitor POST /mcp/tools/rootcause POST /mcp/tools/fix POST /mcp/tools/deploy ``` 所有 MCP 端点的请求体: ``` { "input": "" } ``` ## 添加新 Agent(无需编码) 1. 创建 `specs/security-agent.yaml` 2. 定义 `name`、`description`、`inputs`、`prompt` 3. 重启 API(或实现热重载) 4. Agent 将自动在 `/api/agents/invoke` 和 `/mcp/tools` 上可用 ``` name: SecurityAgent description: Scan for OWASP Top-10 vulnerabilities in generated code inputs: - fix max_tokens: 1500 prompt: | You are a security engineer. Review the provided C# fix for vulnerabilities. ... ``` ## 黑客马拉松演示流程(2分钟) 请参阅 [DEMO_SCRIPT.md](DEMO_SCRIPT.md) 获取分步演示指南。 ## 评分标准契合度 | 评委标准 | DevGuardian 实现 | |-----------------|---------------------------| | Agentic AI | 4 阶段自主 Pipeline,无需人工干预 | | 规范驱动 / MCP | YAML 规范 + `/mcp/tools` 端点 | | A2A 互操作性 | 任何 MCP 客户端均可调用 DevGuardian Agent | | 可扩展性 | 新 Agent = 仅需新的 YAML 文件 | | Azure OpenAI | Semantic Kernel + Azure OpenAI gpt-4o | | 现实价值 | 事件 → 根本原因 → 修复 → PR 全流程 < 30 s | ## 许可证 MIT
标签:AIOps, API集成, ASP.NET Core, GitHub集成, LLM, MCP协议, Unmanaged PE, YAML配置, 人工智能, 可观测性, 工作流引擎, 插件化架构, 智能运维, 根因分析, 用户模式Hook绕过, 自动修复, 自动化事件响应, 自动驾驶运维, 软件开发