Appearance
Architecture — 架构总览
本页是根
README.md的架构拆分页,给出 AgentHub V1.5 的纵向能力场域与横向技术分层全貌。 这是导读级摘要;唯一架构事实源为docs/design/2.technical/architecture.md与architecture-scaffold.md(均已 frozen v1.0)。
一、架构形态:FastAPI 模块化单体
AgentHub V1.5 采用 FastAPI Modular Monolith(见 ADR-0001):单一后端进程内通过 7 个能力场域强隔离,每个场域对应 backend/app/ 下一个代码包。场域间禁止直接操作彼此的数据库表,跨域协作必须经显式接口契约。
二、纵向:7 个能力场域(Domain)
| 场域 | 名称 | 代码包 | 关键能力 |
|---|---|---|---|
| D-A | 建设态 · 项目与资源建模 | app/builder/ | 项目壳 / 模型 / 知识库 / Agent 团队 / 套餐注册组装;只造材料 |
| D-B | 建设态 · 流程编排与发布 | app/orchestrator/ | LangGraph WorkflowSpec、SOP DSL 校验、灰度路由、错误预算闸门 |
| D-C | 交付态 · 应用交付与前端契约 | app/delivery/ | App Manifest、Workflow Binding、Conformance Token、PDK、OpenAPI 生成 |
| D-D | 运行态 · 运营监控与系统自治 | app/ops/ | Prometheus / Alertmanager、四层指标、自愈剧本、Ops Agent 集群、飞书 IM |
| D-E | 消费态 · 用户任务执行 | app/runtime/ | LangGraph Checkpoint、NodeDispatcher、System/Tool/Agent Node、SSE/WebSocket |
| D-F | 消费态 · 商业化与账务 | app/billing/ | 积分服务(乐观锁 + 行级锁)、预算服务、微信支付、补偿事务、对账 |
| D-H | 横向 · 基础设施与平台内核 | app/core/ | Keycloak / OpenBao Adapter、审计、RLS / 限流中间件、Event Bus、Model Router、BFF Cache |
编号规则:D-A~D-F 为业务场域,D-H 为横向支撑(无 D-G)。共 45 个产品模块映射到这 7 个代码包,映射表见
domain_and_module_division.md。
三、横向:5 个技术分层(Layer)
每个场域代码包内部都按下列层组织子目录(api/ service/ domain/ repository/):
text
┌────────────────────────────────────────────────────────────┐
│ Layer 5 Frontend React 控制台 / Taro 小程序 / PDK │
├────────────────────────────────────────────────────────────┤
│ Layer 4 API / BFF FastAPI Router + 中间件 │
│ (JWT / RBAC / RLS / 限流 / Trace) │
├────────────────────────────────────────────────────────────┤
│ Layer 3 Application UseCase 编排、事务边界、跨聚合协调 │
├────────────────────────────────────────────────────────────┤
│ Layer 2 Domain 领域模型 + 领域服务 + 领域事件 │
│ 业务规则与不变量;无框架依赖 │
├────────────────────────────────────────────────────────────┤
│ Layer 1 Infrastructure 仓储 / 适配器 / 外部 SDK 客户端 │
│ SQLAlchemy / OpenBao / Keycloak… │
└────────────────────────────────────────────────────────────┘- 纵向(场域 D-A~D-H) × 横向(技术分层 L1~L5) 构成二维矩阵。
- 依赖方向严格自上而下:上层可依赖下层,下层不得反向依赖上层。
- Domain 层零外部依赖:不得 import FastAPI / SQLAlchemy / httpx / structlog;业务规则与不变量落在此层。
- API/BFF 层零业务逻辑:只做协议适配、入参校验、响应序列化,不得直接访问 ORM 做写操作。
四、依赖方向守卫:import-linter
层间与场域间的依赖方向由 import-linter 在 CI 中静态守卫,违反即构建失败:
bash
make importlinter # = cd backend && uv run lint-imports契约定义见 backend/pyproject.toml 的 [tool.importlinter] 段,原始合约规则见 architecture-scaffold.md §三。
五、AI / Agent 分层调度
| 层 | 选型 | 职责 |
|---|---|---|
| SOP 编排层 | LangGraph 1.0 | 主流程编排 + Checkpoint 状态持久化 |
| Agent 能力层(单 Agent) | LangChain 1.0 | 单 Agent Capability、工具封装、LLM Provider 抽象 |
| Agent 能力层(多 Agent) | AgentScope 1.0 | 多 Agent 协作 Runtime |
| 基础能力层 | D-H app/core/ | 多租户、模型路由、凭证保险箱、预算熔断 |
三层解耦:SOP 流程变更不需要改 Agent 逻辑,Agent 能力升级不影响编排骨架。
六、相关页
- 仓库结构 →
project-structure.md - 环境与运行 →
getting-started.md - 架构事实源 →
docs/design/2.technical/ - 架构决策记录 →
docs/design/2.technical/adr/