Abernaughty/agent-dev

GitHub: Abernaughty/agent-dev

一个基于LangGraph编排的多Agent协作开发环境,通过E2B沙箱安全执行代码、Chroma分层记忆持久化知识,并提供SvelteKit实时监控仪表盘。

Stars: 0 | Forks: 0

# Agent Dev — 有状态 AI 团队 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ab1e4a837d180023.svg)](https://github.com/Abernaughty/agent-dev/actions/workflows/ci.yml) 一个由 LangGraph 编排的 AI 开发团队,配备 SvelteKit 仪表盘以实现实时监控。三个专业 Agent(Architect、Lead Dev、QA)通过结构化 JSON 蓝图协作,在 E2B 沙箱中执行代码,并通过 Chroma 分层记忆持久化知识。 ## 项目结构 ``` agent-dev/ ├── dev-suite/ # Python orchestrator (LangGraph) │ ├── src/ │ │ ├── agents/ # Architect, Lead Dev, QA agent definitions │ │ ├── api/ # FastAPI backend (REST + SSE) │ │ ├── memory/ # Chroma vector store with tiered metadata │ │ ├── sandbox/ # E2B sandbox runner │ │ ├── tools/ # MCP bridge and tool providers │ │ ├── orchestrator.py # LangGraph state machine │ │ ├── cli.py # CLI interface │ │ └── tracing.py # Langfuse observability │ ├── tests/ # Comprehensive test suite │ ├── pyproject.toml # uv/PEP 735 dependencies │ └── mcp-config.json # MCP server version pins ├── dashboard/ # SvelteKit frontend │ ├── src/ │ │ ├── lib/ # Stores, SSE client, context │ │ └── routes/ # Layout + page components │ ├── package.json # pnpm dependencies │ └── svelte.config.js ├── .github/ # Issue templates, labels, CI workflows ├── CLAUDE.md # Claude Code context └── CONTRIBUTING.md # Contribution guidelines ``` ## 架构 **Orchestrator**:具有显式转换的 LangGraph 状态机。三个 Agent 在计划 → 构建 → 测试循环中通过结构化 JSON 蓝图协作,每个任务最多重试 3 次,并在预算耗尽时升级人工介入。 **Agent 团队**: | 角色 | 模型 | 职责 | |---|---|---| | Architect | Gemini 2.5 Flash | 创建结构化蓝图。从不编写代码。 | | Lead Dev | Claude Sonnet 4 | 执行蓝图。编写和重构代码。 | | QA Agent | Claude Sonnet 4 | 运行测试,审计安全,编写故障报告。 | **记忆**:带有分层元数据的 Chroma(L0-Core 仅限人工,L0-Discovered Agent 可写且有 48 小时有效期,L1 模块上下文,L2 临时)。 **执行**:带有结构化 JSON 输出封装的 E2B 沙箱微虚拟机。特定于角色的沙箱配置(Dev/QA 为锁定模式,research 为宽松模式)。 **仪表盘**:带有 SSE 实时流的 SvelteKit (Svelte 5 + TailwindCSS v4)。受 VS Code 启发的布局,包含活动栏、侧边栏面板和底部终端。在后端不可用时优雅降级。 ## 快速开始 ### Orchestrator (Python) ``` cd dev-suite uv sync # Install dependencies cp .env.example .env # Configure API keys uv run python -m src # Run orchestrator uv run pytest tests/ -v # Run tests ``` ### 仪表盘 API ``` cd dev-suite uv sync --group api uv run --group api uvicorn src.api.main:app --reload --port 8000 ``` API 文档位于 `http://localhost:8000/docs`。 ### 仪表盘前端 ``` cd dashboard pnpm install cp .env.example .env # Set BACKEND_URL pnpm dev # http://localhost:5173 ``` ## API 端点 | 方法 | 路径 | 描述 | |---|---|---| | `GET` | `/health` | 健康检查(无需认证) | | `GET` | `/agents` | Agent 状态列表 | | `GET` | `/tasks` | 带时间线的任务列表 | | `GET` | `/tasks/{id}` | 带蓝图的任务详情 | | `POST` | `/tasks` | 创建新任务 | | `POST` | `/tasks/{id}/cancel` | 取消运行中的任务 | | `POST` | `/tasks/{id}/retry` | 重试失败的任务 | | `GET` | `/memory` | 记忆条目(可过滤) | | `PATCH` | `/memory/{id}` | 批准/拒绝记忆 | | `GET` | `/prs` | Pull request 列表 | | `GET` | `/events` | SSE 流 | ## 环境变量 在 `dev-suite/.env` 中设置: - `ANTHROPIC_API_KEY` — Claude API 访问权限 - `GOOGLE_API_KEY` — Gemini API 访问权限 - `E2B_API_KEY` — 沙箱执行 - `LANGFUSE_PUBLIC_KEY` / `LANGFUSE_SECRET_KEY` — 可观测性(可选) - `API_SECRET` — 仪表盘 API 认证令牌 在 `dashboard/.env` 中设置: - `BACKEND_URL` — API 基础 URL(例如 `http://localhost:8000`) - `API_SECRET` — 必须与 API 的密钥匹配 ## 路线图 - ✅ LangGraph orchestrator 搭配 3-agent 团队 - ✅ E2B 沙箱执行 - ✅ Chroma 分层记忆 - ✅ MCP 工具桥 (Filesystem + GitHub) - ✅ FastAPI 仪表盘后端 (REST + SSE) - ✅ SvelteKit 仪表盘脚手架 (VS Code 布局) - ✅ GitHub Actions CI - 🚧 仪表盘数据连接 (stores ↔ API) - 🚧 记忆审批 UI (L0-Discovered 审查) - 🚧 OTEL 链路传播 - 📋 CI/CD Pipeline MCP - 📋 Secrets provider 集成 - 📋 成本警报阈值
标签:API集成, AV绕过, Chroma, Docker, E2B, FastAPI, GitHub Advanced Security, Langfuse, LangGraph, MCP, NIDS, PyRIT, Python, SvelteKit, TypeScript, 人工智能, 可观测性, 向量数据库, 多智能体系统, 安全加固, 安全插件, 安全防御评估, 容器化, 无后门, 状态机, 用户模式Hook绕过, 知识管理, 请求拦截, 软件开发自动化, 逆向工具