Files
2026-04-07 14:11:45 +08:00

12 KiB
Raw Permalink Blame History

///

ARCHITECTURE.md

描述:WXAuto Center 系统架构文档

作者:AI Generated

创建日期:2026-04-05

更新日期:2026-04-06

///

WXAuto Center 系统架构文档

概述

WXAuto Center 是一个模块化的微信多节点中控系统,采用前后端分离架构,支持多节点管理、消息发送、插件扩展、定时任务等功能。

系统架构图

┌─────────────────────────────────────────────────────────────────────────────┐
│                              WXAuto Center                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                           Frontend (Static)                          │   │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐           │   │
│  │  │Dashboard │  │  Nodes   │  │ Messages │  │ Plugins  │           │   │
│  │  └──────────┘  └──────────┘  └──────────┘  └──────────┘           │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                      │                                       │
│                                      ▼                                       │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                          FastAPI Backend                             │   │
│  │                                                                       │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌───────────┐  │   │
│  │  │nodes router │  │messages router│ │plugins router│ │webhook router│ │   │
│  │  └─────────────┘  └─────────────┘  └─────────────┘  └───────────┘  │   │
│  │                                                                       │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌───────────┐  │   │
│  │  │callback router│ │external router│ │webhook service│ │queue service│ │   │
│  │  └─────────────┘  └─────────────┘  └─────────────┘  └───────────┘  │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                      │                                       │
│         ┌────────────────────────────┼────────────────────────────┐       │
│         ▼                            ▼                            ▼       │
│  ┌─────────────┐           ┌─────────────┐           ┌─────────────┐       │
│  │   Redis     │           │  PostgreSQL │           │   Nodes     │       │
│  │  (Queue)    │           │  (Storage)  │           │ (External)  │       │
│  └─────────────┘           └─────────────┘           └─────────────┘       │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

核心组件

1. 前端 (Frontend)

静态文件服务,基于原生 JavaScript 开发。

页面模块:

页面 文件 说明
首页/仪表盘 app.js 系统概览
节点管理 app.js 节点 CRUD
快捷消息 app.js 快速发送消息
监控告警 app.js Webhook 配置
日志查看 app.js 系统日志
外部接入 app.js 外部 API 文档
插件管理 app.js 插件配置

2. 后端 (Backend)

基于 FastAPI 的 RESTful API 服务。

API 模块:

模块 路径 说明
nodes /api/v1/nodes 节点管理
messages /api/v1/messages 消息发送
plugins /api/v1/plugins 插件管理
webhook /api/v1/webhook Webhook 管理
callback /api/v1/callback 回调接口
external /api/v1/external 外部接口

3. 服务层 (Services)

服务 说明
node_manager 节点管理器,内存缓存
monitor_service 节点健康监控服务
scheduler_service 定时任务调度服务
log_service 日志服务
queue_service 消息队列服务
webhook_service Webhook 通知服务

4. 插件系统 (Plugins)

插件 类型 说明
http_data_source DATA_SOURCE HTTP 数据源
database_query DATA_SOURCE 数据库查询
webhook_trigger ACTION_TRIGGER Webhook 触发
simple_ai_agent AI_AGENT AI 智能体
http_scheduled_sender SCHEDULED_TASK 定时 HTTP 推送

5. 数据层 (Data)

组件 说明
PostgreSQL 主数据库,存储节点、Webhook、日志、插件配置
Redis 消息队列、缓存

目录结构

wxauto_api/
├── main.py                 # 应用入口
├── config.py               # 配置管理
├── models.py               # 数据模型
├── database_service.py     # 数据库服务
├── requirements.txt        # Python 依赖
├── Dockerfile              # Docker 镜像
├── docker-compose.yml      # Docker 编排
│
├── api/                    # API 路由
│   ├── __init__.py
│   ├── nodes.py            # 节点管理
│   ├── messages.py         # 消息发送
│   ├── plugins.py          # 插件管理
│   ├── webhook.py          # Webhook 管理
│   ├── callback.py         # 回调接口
│   └── external.py         # 外部接口
│
├── services/               # 业务服务
│   ├── __init__.py
│   ├── node_manager.py     # 节点管理
│   ├── monitor_service.py   # 健康监控
│   ├── scheduler_service.py # 定时调度
│   ├── log_service.py       # 日志服务
│   ├── queue_service.py     # 队列服务
│   └── webhook_service.py   # Webhook 服务
│
├── plugins/                # 插件系统
│   ├── __init__.py
│   ├── base.py             # 插件基类
│   ├── builtin.py          # 内置插件
│   └── http_scheduled_sender.py  # 定时推送插件
│
├── utils/                  # 工具函数
│   └── auth.py             # 认证中间件
│
├── static/                 # 静态文件
│   ├── index.html          # 主页面
│   └── js/                 # JavaScript
│       ├── api.js          # API 封装
│       ├── app.js          # 主应用
│       └── pages/
│           └── templates.js # 页面模板
│
└── doc/                    # 文档
    └── wxauto_center/
        ├── ARCHITECTURE.md  # 架构文档
        ├── API.md           # API 文档
        ├── DATABASE.md       # 数据库文档
        ├── FLOWS.md         # 流程文档
        └── PLUGIN.md        # 插件文档

技术栈

层级 技术 说明
前端 HTML/CSS/JavaScript 原生开发,无框架依赖
后端 Python 3.11 + FastAPI 高性能异步框架
数据库 PostgreSQL 关系型数据库
缓存/队列 Redis 内存数据库、消息队列
容器 Docker + Docker Compose 容器化部署
ORM SQLAlchemy Python ORM
HTTP 客户端 httpx 异步 HTTP 客户端

部署架构

┌─────────────────────────────────────────────────────────────┐
│                      Docker Network                         │
│                                                              │
│  ┌──────────────┐   ┌──────────────┐   ┌──────────────┐     │
│  │ wxauto-center│   │ wxauto-redis │   │wxauto-postgres│    │
│  │   :8080      │   │   :6379      │   │    :5432      │    │
│  └──────────────┘   └──────────────┘   └──────────────┘     │
│                                                              │
└─────────────────────────────────────────────────────────────┘
              │                    │
              ▼                    ▼
    ┌──────────────────┐  ┌──────────────────┐
    │  External Nodes  │  │   External       │
    │  (wxauto nodes)  │  │   Webhook URLs   │
    │  :5000           │  │                  │
    └──────────────────┘  └──────────────────┘

环境变量

变量 说明 默认值
POSTGRES_USER PostgreSQL 用户 wxauto
POSTGRES_PASSWORD PostgreSQL 密码 wxauto_password
POSTGRES_DB 数据库名 wxauto
REDIS_PASSWORD Redis 密码 wxauto_redis
API_KEY API 认证密钥 your-external-api-key
EXTERNAL_KEY 外部接口密钥 your-external-api-key

安全机制

1. API 认证

  • 内部 APIHeader X-API-Key
  • 外部 APIHeader X-ExternalKey

2. 异常处理

  • 全局异常处理器
  • 所有 API 调用包裹 try/except
  • 10 秒 HTTP 超时

3. 数据一致性

  • 数据库优先原则
  • 启动时从数据库加载配置
  • 操作时同时更新内存和数据库