# factmesh **Repository Path**: XimoKB/factmesh ## Basic Information - **Project Name**: factmesh - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

FactMesh V1.0

FactMesh

## 平台简介 FactMesh(Fact + Mesh)是一个基于现代微服务架构的智能决策支持系统,集成了多智能体协作、数据可视化、量化分析和系统管理等功能。 **核心理念**: - **Fact (事实/数据/真理)**:强调系统的输出是基于事实的(Fact-based),而非大模型的幻觉。在科研领域讲究数据治理的“实事求是”,在政务领域(类似 RegTech)讲究风控和审计的“数据确权”。 - **Mesh (网格/多智能体网络)**:体现了 Agent 之间的分布式协作。 - **定位**:最适合科研、政务和金融的“可信流”系统。 系统采用前后端分离架构,支持高并发、高可用的企业级应用场景。 ## **项目架构背景:** FactMesh 采用微服务架构,包含以下核心组件: - **backend**:主后端服务(端口9100,基于FastAPI) - 核心业务逻辑处理 - 系统管理(用户、角色、权限等) - 数据可视化和量化分析模块 - **agent 模块**:集成智能体服务(基于 Eigent Multi-Agent System / CrewAI) - 提供多智能体协作能力 - 支持任务分解与动态规划 - 实现智能体间的协调与通信 - **fronted**:前端服务(端口5174,基于Vue3 + Element Plus) - 现代化响应式用户界面 - 丰富的数据可视化组件 - 智能体交互界面 - **数据存储**: - Redis(端口6380):缓存和会话管理 - PostgreSQL(端口5433):主数据库 **架构原则**:智能体相关的定义已集成在 backend 模块中管理,提供统一的业务逻辑支持。 ## 内置功能 ### 系统管理模块 1. **用户管理**:用户是系统操作者,该功能主要完成系统用户配置。 2. **角色管理**:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 3. **菜单管理**:配置系统菜单,操作权限,按钮权限标识等。 4. **部门管理**:配置系统组织机构(公司、部门、小组)。 5. **岗位管理**:配置系统用户所属担任职务。 6. **字典管理**:对系统中经常使用的一些较为固定的数据进行维护。 7. **参数管理**:对系统动态配置常用参数。 8. **通知公告**:系统通知公告信息发布维护。 ### 系统监控模块 9. **操作日志**:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. **登录日志**:系统登录日志记录查询包含登录异常。 11. **在线用户**:当前系统中活跃用户状态监控。 12. **定时任务**:在线(添加、修改、删除)任务调度包含执行结果日志。 13. **服务监控**:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 14. **缓存监控**:对系统的缓存信息查询,命令统计等。 ### 开发工具模块 15. **在线构建器**:拖动表单元素生成相应的HTML代码。 16. **系统接口**:根据业务代码自动生成相关的api接口文档。 17. **代码生成**:配置数据库表信息一键生成前后端代码(python、sql、vue、js),支持下载。 ### 智能体模块 18. **CrewAI 多智能体协作**: - 支持 Sequential、Parallel、Hierarchical 三种编排模式 - 基于 CrewAI 框架的成熟协作机制 - 完整的任务生命周期追踪和事件驱动架构 - 实时执行轨迹展示和状态同步 19. **会话隔离机制**: - 三层防护机制(Scope Token + 对象ID + 字符串ID) - 支持多会话并发执行,互不干扰 - WebSocket 独立连接管理 - 经过严格测试验证的隔离能力 20. **用户级数据隔离**: - 用户切换自动清理任务数据 - localStorage 按用户ID隔离存储 - 防止跨用户数据泄漏 21. **统一任务状态管理**: - 单一数据源 TaskStore - 支持运行时任务和历史任务管理 - 完整的任务统计和消息记录 - WebSocket 连接生命周期管理 22. **工具集成**:提供丰富的工具集,包括搜索、文档处理、代码执行等 23. **实时通信**:支持智能体间的实时通信和状态同步 ### 数据分析模块 21. **数据可视化**:提供丰富的图表和可视化组件 22. **文档解析**:支持PDF、Word等多种文档格式的解析和处理 23. **量化分析**:提供量化策略和分析工具 ## 最新功能迭代 (2025-11) ### ✅ Phase 1: 前端状态管理重构(已完成) **目标**:解决多会话任务状态管理问题,实现会话级别隔离 **已完成功能**: - ✅ **TaskStore 统一管理**:合并两个独立的 taskStore 实现,实现单一数据源 - ✅ **会话隔离机制**:三层防护确保多会话并发执行互不干扰 - ✅ **用户隔离机制**:用户切换自动清理数据,防止跨用户数据泄漏 - ✅ **P0 级别性能优化**:修复内存泄漏和竞态条件问题 - ✅ **完整测试验证**:通过双会话并发执行测试,隔离机制工作正常 **技术亮点**: - 基于 CrewAI 的事件驱动架构 - Scope Token + 对象 ID + 字符串 ID 三层防护 - WebSocket 独立连接管理 - 向后兼容的无缝迁移设计 **测试结果**: - 会话隔离:✅ 通过 - 任务隔离:✅ 通过 - 用户隔离:✅ 通过 - 并发支持:✅ 通过 **相关文档**: - `WORK_PROGRESS.md` - 详细工作进程记录 - `CLAUDE.md` - 项目开发指南 ### 🚧 Phase 2: 后端任务统一化与持久化(计划中) **目标**:实现任务持久化,支持浏览器刷新后恢复任务状态 **计划功能**: - [ ] Redis/Database 任务状态持久化 - [ ] Celery 异步任务队列系统 - [ ] WebSocket 自动重连机制 - [ ] 任务恢复 API - [ ] 任务历史查询和管理 ### 🔮 Phase 3: 企业级功能扩展(规划中) **计划功能**: - [ ] 工具集成架构重构(MCP + Traditional Tools) - [ ] 微服务架构优化 - [ ] 多租户支持 - [ ] 监控告警系统 - [ ] 分布式追踪(OpenTelemetry) ## 系统架构图 ```mermaid graph TB subgraph "前端层" A[fronted
Vue3 + Element Plus
端口:5174] end subgraph "API网关层" B[Nginx
端口:80] end subgraph "业务服务层" C[backend
FastAPI + Agent Module
端口:9100] end subgraph "数据存储层" E[(PostgreSQL
端口:5433)] F[(Redis
端口:6380)] end A --> B B --> C C --> E C --> F ``` ## 智能体架构图 ```mermaid graph LR subgraph "Agent Module (in backend)" A[用户请求] --> B[协调器] B --> C[规划器] C --> D[任务分解] D --> E[智能体调度] E --> F[智能体1] E --> G[智能体2] E --> H[智能体N] F --> I[结果汇总] G --> I H --> I I --> J[响应返回] end subgraph "工具集" K[搜索工具] L[文档处理] M[代码执行] N[数据分析] end F --> K F --> L G --> M H --> N ``` ## 在线体验 ## 项目开发及发布相关 ### 开发 #### 前端开发 ```bash # 进入前端目录 cd fronted # 安装依赖 npm install --registry=https://registry.npmmirror.com # 启动开发服务器 npm run dev ``` #### 后端开发 ```bash # 进入后端目录 cd backend # 安装项目依赖环境 pip3 install -r requirements-pg.txt # 配置环境变量 cp .env.example .env.dev # 编辑 .env.dev 文件,配置数据库和Redis连接信息 # 初始化数据库 1. 创建数据库(默认名称:kddis-fastapi) 2. 运行sql文件夹下的kddis-fastapi-pg.sql初始化数据库结构 # 启动后端服务 python3 app.py --env=dev ``` #### 访问系统 ```bash # 默认账号密码 账号:admin 密码:admin123 # 浏览器访问 地址:http://localhost:5174 # 直接访问前端 (开发模式) 或 http://localhost:80 # 通过Nginx访问 (生产模式) # API文档 后端API: http://localhost:9100/docs ``` ### 部署指南 #### 前端部署 ```bash # 构建生产环境 npm run build # 使用Docker部署 cd fronted docker build -t fronted . docker run -d -p 80:80 fronted ``` #### 后端部署 ```bash # 配置生产环境 cp .env.example .env.prod # 编辑 .env.prod 文件,配置生产环境的数据库和Redis # 使用Docker部署 cd backend docker build -t backend . docker run -d -p 9100:9100 backend # 或直接运行 python3 app.py --env=prod ``` #### Docker Compose部署 ```bash # 使用Docker Compose一键部署所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ``` ## 交流与赞助 如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注VF-Admin即可进群。
zsxq zanzhu
wxcode