架构概览
Forgexa 采用模块化、事件驱动的架构,在控制平面(API 服务器)和执行平面(运行时守护进程)之间有清晰的分离。
系统架构图
首页主图
展示视图
详细技术视图
系统架构
┌──────────────────────────────────────────────────────────────┐
│ 控制平面 │
│ │
│ ┌─────────┐ ┌──────────────────────────────────────────┐ │
│ │ Web UI │──▶│ API 服务器 (FastAPI) │ │
│ │ (React) │ │ ┌────────────┐ ┌─────────────────────┐ │ │
│ └─────────┘ │ │ 编排器 │ │ 工作流策略管理器 │ │ │
│ │ └────────────┘ └─────────────────────┘ │ │
│ ┌─────────┐ │ ┌────────────┐ ┌─────────────────────┐ │ │
│ │ CLI │──▶│ │ 门禁评分 │ │ 计划生成器 │ │ │
│ └─────────┘ │ └────────────┘ └─────────────────────┘ │ │
│ └──────────┬───────────────────────────────┘ │
│ │ │
│ ┌────────────┼────────────┐ │
│ │ │ │ │
│ ┌─────▼───┐ ┌────▼────┐ ┌────▼────┐ │
│ │Postgres │ │ Redis │ │ MinIO │ │
│ │pgvector │ │ Streams │ │ (S3) │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└──────────────────────────────────────────────────────────────┘
轮询 / HTTP
┌──────────────────────────────────────────────────────────────┐
│ 执行平面 │
│ │
│ ┌──────────────────────────────────────────────────────────┐│
│ │ 运行时守护进程 ││
│ │ ┌─────────────┐ ┌───────────────┐ ┌───────────────┐ ││
│ │ │ Agent │ │ 工作空间 │ │ 进程 │ ││
│ │ │ 发现 │ │ 管理器 │ │ 管理器 │ ││
│ │ └─────────────┘ └───────────────┘ └───────────────┘ ││
│ │ ││
│ │ ┌─────────────────────────────────────────────────────┐ ││
│ │ │ AI Agents: Claude Code │ Codex │ OpenCode │ Gemini │ ││
│ │ └─────────────────────────────────────────────────────┘ ││
│ └──────────────────────────────────────────────────────────┘│
└──────────────────────────────────────────────────────────────┘核心组件
API 服务器
- FastAPI 后端,异步 SQLAlchemy
- RESTful API,支持 JWT + 个人访问令牌(PAT)认证
- 多租户:组织 → 工作空间 → 项目 层级
- 两级 RBAC:
- 组织级:Owner、Admin、Member
- 工作空间级:Owner、Admin、Developer、Viewer + 自定义角色
编排器
- 基于轮询的任务调度器
- 依赖感知的节点调度
- 预算强制执行(项目 + 工作空间 + 组织)
- 测试-修复循环(最多 5 次迭代)
- 回滚处理
运行时守护进程
- 运行在开发者机器上(宿主机原生)
- 自动发现已安装的 AI Agent
- 多服务器支持
- 基于心跳的健康监控
- 每任务 Git worktree 隔离
Agent 网关
- 多 AI Agent 统一接口
- 协议支持:Print 模式、CLI、App-Server
- 智能 Agent 路由与后备链
质量门禁
- 6 维加权评分
- 通过 WORKFLOW.md 配置阈值
- 人工评审工作流
数据模型
Organization (1) ──▶ (N) Workspace
Organization (1) ──▶ (N) OrganizationMember
Organization (1) ──▶ (N) OrgInvitation
Organization (1) ──▶ (N) IntegrationConfig(组织级)
Workspace (1) ──▶ (N) Project
Workspace (1) ──▶ (N) WorkspaceMember
Workspace (1) ──▶ (N) CustomRole
Project (1) ──▶ (N) Requirement
Requirement (1) ──▶ (N) RequirementVersion
Requirement (1) ──▶ (1) Plan
Plan (1) ──▶ (1) ExecutionGraph
ExecutionGraph (1) ──▶ (N) ExecutionNode
ExecutionNode (1) ──▶ (1) WorkItem
WorkItem ──▶ Board(5 列看板)
User (1) ──▶ (N) PersonalAccessToken
AuditLog ──▶ Organization / Workspace / Project(分级审计)