Files
aiagent/docs/architecture.md
renjianbo ab1589921a fix: 修复35个安全与功能缺陷,补全知识进化/数字孪生/行为采集模块
## 安全修复 (12项)
- Webhook接口添加全局Token认证,过滤敏感请求头
- 修复JWT Base64 padding公式,防止签名验证绕过
- 数据库密码/飞书Token从源码移除,改为环境变量
- 工作流引擎添加路径遍历防护 (_resolve_safe_path)
- eval()添加模板长度上限检查
- 审批API添加认证依赖
- 前端v-html增强XSS转义,console.log仅开发模式输出
- 500错误不再暴露内部异常详情

## Agent运行时修复 (7项)
- 删除_inject_knowledge_context中未定义db变量的finally块
- 工具执行添加try/except保护,异常不崩溃Agent
- LLM重试计入budget计数器
- self_review异常时passed=False
- max_iterations截断标记success=False
- 工具参数JSON解析失败时记录警告日志
- run()开始时重置_llm_invocations计数器

## 配置与基础设施
- DEBUG默认False,SQL_ECHO独立配置项
- init_db()补全13个缺失模型导入
- 新增WEBHOOK_AUTH_TOKEN/SQL_ECHO配置项
- 新增.env.example模板文件

## 前端修复 (12项)
- 登录改用URLSearchParams替代FormData
- 401拦截器通过Pinia store统一清理状态
- SSE流超时从60s延长至300s
- final/error事件时清除streamTimeout
- localStorage聊天记录添加24h TTL
- safeParseArgCount替代模板中裸JSON.parse
- fetchUser 401时同时清除user对象

## 新增模块
- 知识进化: knowledge_extractor/retriever/tasks
- 数字孪生: shadow_executor/comparison模型
- 行为采集: behavior_middleware/collector/fingerprint_engine
- 代码审查: code_review_agent/document_review_agent
- 反馈学习: feedback_learner
- 瓶颈检测/优化引擎/成本估算/需求估算
- 速率限制器 (rate_limiter)
- Alembic迁移 015-020

## 文档
- 商业化落地计划
- 8篇docs文档 (架构/API/部署/开发/贡献等)
- Docker Compose生产配置

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-10 19:50:20 +08:00

8.2 KiB
Raw Blame History

🏛️ 架构设计文档

Architecture Design Document


一、系统概述

天工智能体平台是一个企业级 AI 智能体Agent平台提供智能对话、知识库管理、智能体编排等核心能力采用前后端分离 + 异步任务队列 的架构设计。


二、技术选型

层级 技术 版本 选型理由
前端框架 Vue 3 (Composition API) 3.4+ 轻量、响应式、TypeScript 友好
前端构建 Vite 5+ 极速 HMR开发体验优异
状态管理 Pinia 2+ Vue 3 官方推荐TypeScript 支持完善
路由 Vue Router 4+ SPA 路由,支持导航守卫
HTTP 客户端 Axios 1+ 请求/响应拦截,统一错误处理
后端框架 FastAPI 0.110+ 高性能异步框架,自动生成 OpenAPI 文档
ORM SQLAlchemy 2.0+ 成熟的 Python ORM异步支持
数据验证 Pydantic 2+ 类型安全,与 FastAPI 深度集成
数据库迁移 Alembic 1.13+ 版本化管理数据库变更
数据库 MySQL (腾讯云) 8.0+ 稳定可靠的关系型数据库
缓存 Redis 7+ 高性能缓存 + 消息队列
任务队列 Celery 5.3+ 分布式异步任务处理
认证 JWT 无状态认证,支持 Token 刷新
容器化 Docker + Docker Compose 最新 简化部署,环境一致

三、架构分层

┌─────────────────────────────────────────────────────────────┐
│                   客户端层 (Client Layer)                     │
│  浏览器 (Chrome/Edge)  │  移动端  │  第三方 API 调用         │
└───────────────────────┬─────────────────────────────────────┘
                        │ HTTPS
┌───────────────────────▼─────────────────────────────────────┐
│                  接入层 (Gateway Layer)                      │
│  Nginx 反向代理 │  SSL 终止 │ 静态资源服务 │ 端口 8038/8037  │
└───────────────────────┬─────────────────────────────────────┘
                        │
┌───────────────────────▼─────────────────────────────────────┐
│                 前端应用层 (Frontend Layer)                   │
│  Vue 3 SPA  │  Pinia Store  │  Vue Router  │  Axios Client   │
│  ┌─────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────┐  │
│  │ Views   │  │Components│  │  Stores  │  │   Utils      │  │
│  │ 页面组件 │  │ 公共组件  │  │ 状态管理  │  │ 工具/请求封装│  │
│  └─────────┘  └──────────┘  └──────────┘  └──────────────┘  │
└───────────────────────┬─────────────────────────────────────┘
                        │ HTTP/JSON
┌───────────────────────▼─────────────────────────────────────┐
│                 后端服务层 (Backend Layer)                    │
│  FastAPI  │  中间件  │  路由  │  依赖注入                    │
│  ┌──────────────┐  ┌──────────────────┐                    │
│  │  API 路由层   │  │  认证/授权中间件  │                    │
│  │  (api/v1/*)  │  │  (JWT、CORS)     │                    │
│  ├──────────────┤  ├──────────────────┤                    │
│  │  Service 层   │  │  任务调度         │                    │
│  │  (业务逻辑)   │  │  (Celery 任务)   │                    │
│  ├──────────────┤  ├──────────────────┤                    │
│  │  Models 层    │  │  Schemas 层       │                    │
│  │  (ORM 定义)   │  │  (数据验证)      │                    │
│  └──────────────┘  └──────────────────┘                    │
└──────┬────────────────────────────┬─────────────────────────┘
       │                            │
       ▼                            ▼
┌──────────────┐          ┌──────────────────┐
│  MySQL 8.0   │          │    Redis 7        │
│ (腾讯云)     │          │ 缓存 / 任务队列   │
│ 持久化存储   │          │ 会话 / 锁        │
└──────────────┘          └──────────────────┘
                                │
                                ▼
                      ┌──────────────────┐
                      │   Celery Worker   │
                      │ 异步任务处理       │
                      │ 文件处理 / 通知   │
                      └──────────────────┘

四、核心业务模块

1. 用户模块

  • 注册/登录:邮箱 + 密码JWT Token 发放
  • Token 刷新Access Token (短期) + Refresh Token (长期)
  • 个人中心:信息查看与修改

2. 智能体模块

  • 智能体的创建、配置、发布、下架
  • 支持配置 LLM 参数、提示词、工具调用
  • 知识库关联

3. 知识库模块

  • 文档上传与解析PDF、TXT、Markdown
  • 向量化存储(对接嵌入模型)
  • 语义检索

4. 对话模块

  • 用户与智能体的实时对话
  • 上下文管理
  • 流式输出SSE

五、数据流示例(对话请求)

1. 用户输入消息
       │
2. Axios POST /api/v1/conversations/{id}/messages
       │
3. Nginx 代理到后端 8037
       │
4. FastAPI 接收请求
   ├── JWT 中间件验证 Token
   ├── 路由分发到对应 Handler
   ├── Service 层处理业务逻辑
   │   ├── 查询对话历史 (MySQL)
   │   ├── 检索相关知识 (知识库)
   │   └── 调用 LLM API (异步)
   │
5. Celery 异步执行 LLM 调用
   ├── 进度通过 Redis Pub/Sub 推送
   └── SSE 推送给前端
       │
6. 前端流式渲染响应内容

六、安全设计

安全措施 说明
JWT 认证 Access Token 有效期短Refresh Token 轮换
密码加密 bcrypt 哈希存储
CORS 配置 仅允许指定域名跨域访问
输入验证 Pydantic 严格校验所有输入
SQL 注入防护 SQLAlchemy ORM 参数化查询
HTTPS Nginx 侧终止 SSL生产环境

七、扩展性 & 可维护性

  • 水平扩展FastAPI 为无状态应用,可多实例部署 + Nginx 负载均衡
  • 异步任务Celery Worker 可独立扩展,处理大量异步任务
  • 模块化:后端按业务拆分为 modules/,新增功能不影响现有模块
  • 数据库迁移Alembic 管理 Schema 变更,支持回滚
  • 前端组件化Vue 组件按功能拆解,提升复用性

📎 相关文档项目结构概览 | 开发指南