跳到主要内容

架构概述

本文档介绍 OpenHuman 的整体系统架构。

系统架构图

┌─────────────────────────────────────────────────────────────┐
│ 客户端层 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Web │ │ Mobile │ │ CLI │ │ API │ │
│ │ 客户端 │ │ 客户端 │ │ 工具 │ │ 集成 │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
└───────┼────────────┼────────────┼────────────┼──────────────┘
│ │ │ │
└────────────┴─────┬──────┴────────────┘

┌───────▼───────┐
│ API 网关 │
│ (负载均衡) │
└───────┬───────┘

┌───────────────────┼───────────────────┐
│ │ │
┌───────▼───────┐ ┌──────▼──────┐ ┌───────▼───────┐
│ Agent Engine │ │ Agent Engine │ │ Agent Engine │
│ 集群 1 │ │ 集群 2 │ │ 集群 N │
└───────┬───────┘ └──────┬──────┘ └───────┬───────┘
│ │ │
└───────────────────┴───────────────────┘

┌───────▼───────┐
│ 数据存储层 │
│ (向量数据库) │
└───────────────┘

核心组件

1. API 网关

API 网关是系统的入口,负责:

  • 请求路由和负载均衡
  • 身份认证和授权
  • 限流和熔断
  • 请求日志和监控

2. Agent Engine

Agent Engine 是核心执行引擎,负责:

  • Agent 的创建和管理
  • 任务调度和执行
  • 工具调用管理
  • 上下文管理

3. 数据存储层

数据存储层包括:

  • 向量数据库:存储 Embeddings,支持语义搜索
  • 关系数据库:存储结构化数据
  • 缓存:提高响应速度

部署架构

单机部署

适用于开发和测试环境:

  • 所有组件运行在单一服务器
  • 使用 SQLite 作为数据库
  • 适合小规模使用

集群部署

适用于生产环境:

  • 多节点 Agent Engine 集群
  • PostgreSQL + Redis 集群
  • Kubernetes 编排
  • 自动扩缩容

技术栈

组件技术选型
API 网关Nginx / Kong
Agent EngineNode.js / Python
向量数据库Milvus / Pinecone
关系数据库PostgreSQL
缓存Redis
消息队列RabbitMQ / Kafka

下一步