Abernaughty/agent-dev
GitHub: Abernaughty/agent-dev
一个基于LangGraph编排的多Agent协作开发环境,通过E2B沙箱安全执行代码、Chroma分层记忆持久化知识,并提供SvelteKit实时监控仪表盘。
Stars: 0 | Forks: 0
# Agent Dev — 有状态 AI 团队
[](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绕过, 知识管理, 请求拦截, 软件开发自动化, 逆向工具