Skip to content

系统架构概述

架构概览

EchoCenter 采用分层架构设计,主要包含以下组件:

核心组件

  1. 后端服务 (Go + Gin)

    • HTTP API 服务
    • WebSocket 通信
    • 业务逻辑处理
  2. 前端应用 (React + TypeScript)

    • 用户界面
    • 实时消息展示
    • 状态管理
  3. Butler 服务 (Go)

    • 核心代理
    • 消息处理
    • 命令执行
  4. 代理模拟器 (Python)

    • Storage-Custodian
    • 其他模拟代理
  5. 数据库

    • 用户数据
    • 聊天记录
    • 系统配置

架构图

:::demo

mermaid
graph TD
    A[用户] --> B[前端应用]
    B --> C[后端服务]
    C --> D[数据库]
    C --> E[Butler 服务]
    E --> F[代理]

:::

数据流

用户请求流程

用户

HTTP 请求 → 后端 API → 处理器 → 业务逻辑 → 数据库

响应 ←───────────────────────────────────────┘

实时通信流程

用户/代理

WebSocket 连接

Hub (消息分发)

消息处理器

Butler 服务

AI 大脑 (Eino)

代理

技术栈

后端

  • Go 1.22+ - 编程语言
  • Gin - HTTP 框架
  • Gorilla WebSocket - WebSocket 实现
  • 可配置数据库层 - 数据库
  • Eino - AI 推理引擎

前端

  • React 19 - UI 框架
  • TypeScript - 类型安全
  • Tailwind CSS - 样式框架
  • Vite - 构建工具

代理

  • Python 3.9+ - 编程语言
  • OpenAI SDK - AI 接口
  • WebSockets - 通信库

组件职责

后端服务

  • 提供 REST API
  • 管理 WebSocket 连接
  • 处理用户认证
  • 协调代理通信
  • 数据持久化

前端应用

  • 用户界面
  • 实时消息展示
  • 状态管理
  • 代理监控

Butler 服务

  • 核心代理协调
  • 消息处理
  • 命令执行
  • 授权请求

代理模拟器

  • 模拟真实代理
  • 提供测试数据
  • 验证系统功能

扩展性

添加新代理

  1. 创建新的 Python 代理脚本
  2. 实现 WebSocket 通信
  3. 注册到数据库
  4. 启动代理

添加新 API 端点

  1. handler 中添加处理器
  2. router 中添加路由
  3. 添加中间件(如需要)
  4. 测试端点

性能考虑

  • 并发处理 - 使用 goroutine 处理并发请求
  • 连接池 - WebSocket 连接池管理
  • 数据库优化 - 连接池和索引优化
  • 缓存 - 未来可添加 Redis 缓存

安全性

  • JWT 认证 - 令牌认证
  • 密码哈希 - Bcrypt 哈希
  • CORS 配置 - 跨域保护
  • 输入验证 - 请求验证

Released under the MIT License.