# enterprise-agent **Repository Path**: CodingKeep/enterprise-agent ## Basic Information - **Project Name**: enterprise-agent - **Description**: 基于 Spring Boot 3 + Vue 3 + LangChain4j 的 AI 企业规章制度智能问答与流程办理系统(RAG 检索增强 + Agent 工具调用) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-30 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业规章制度 AI 问答与流程办理系统 基于 **Spring Boot 3 + Vue 3 + LangChain4j** 的企业级 AI Agent 应用,提供企业规章制度智能问答(RAG 检索增强生成)与流程办理(请假、报销等审批流)能力,内置 Agent 工具调用、AI 智能审核、报表统计与完善的 RBAC 权限体系。 ## ✨ 功能特性 - 🤖 **AI 智能问答**:基于 RAG(检索增强生成)技术,对企业规章制度文档进行向量化检索,结合大模型生成精准回答 - 🛠️ **Agent 工具调用**:意图识别 + 工具路由,AI Agent 可自动调用查询、办理等工具完成任务 - 📋 **流程办理**:请假、报销等工作流申请与多级审批,支持 AI 智能预审 - 📚 **知识库管理**:文档上传、解析、切片、向量化入库,支持全文检索 - 📊 **报表统计**:AI 生成分析报告、Dashboard 数据看板 - 🔐 **RBAC 权限**:用户 / 角色 / 权限 / 菜单管理,JWT 认证 + Spring Security 鉴权 - 📝 **操作日志**:完整记录系统操作与 Agent 工具调用日志 - 🧩 **降级容错**:未配置 AI Key 时自动启用 DevFallbackChatModel,本地开发无障碍 ## 🏗️ 技术栈 ### 后端 | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 3.2.5 | 基础框架 | | Java | 17 | 语言版本 | | MyBatis-Plus | 3.5.6 | ORM 框架 | | LangChain4j | 0.35.0 | AI / LLM 应用框架 | | MySQL | 8.x | 数据存储 + 向量存储 | | Redis | - | 缓存 | | Spring Security + JWT | 0.12.5 | 认证鉴权 | | Knife4j | 4.5.0 | API 文档 | | Hutool | 5.8.27 | 工具库 | ### 前端 | 技术 | 版本 | 说明 | |------|------|------| | Vue | 3.4 | 前端框架 | | TypeScript | 5.4 | 类型系统 | | Vite | 5.2 | 构建工具 | | Pinia | 2.1 | 状态管理 | | Vue Router | 4.3 | 路由 | | Arco Design Vue | 2.56 | UI 组件库 | | Axios | 1.7 | HTTP 请求 | ## 📂 项目结构 ``` ├── backend/ # 后端 Spring Boot 工程 │ └── src/main/java/com/example/enterpriseagent/ │ ├── agent/ # AI Agent 核心(意图识别、编排、工具路由、记忆) │ │ └── tool/ # Agent 工具集 │ ├── rag/ # RAG 检索增强(文档解析、向量化、检索) │ ├── controller/ # REST 接口层 │ ├── service/ # 业务逻辑层 │ ├── mapper/ # MyBatis-Plus Mapper │ ├── entity/ # 数据库实体 │ ├── security/ # JWT + Spring Security 安全配置 │ ├── config/ # 全局配置(AI、数据初始化等) │ └── ... └── frontend/ # 前端 Vue 3 工程 └── src/ ├── api/ # 接口封装 ├── views/ # 页面(问答、知识库、工作流、审核、报表、系统管理) ├── layout/ # 布局 ├── router/ # 路由 └── store/ # Pinia 状态 ``` ## 🚀 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - Node.js 18+ - MySQL 8.x - Redis ### 1. 初始化数据库 ```bash mysql -uroot -proot < backend/src/main/resources/sql/init.sql ``` ### 2. 启动后端 ```bash cd backend mvn spring-boot:run ``` - 后端地址:http://localhost:8080 - API 文档:http://localhost:8080/doc.html ### 3. 启动前端 ```bash cd frontend npm install npm run dev ``` 访问 http://localhost:5173(开发环境 `/api` 已代理至 `http://localhost:8080`) ### 4. AI 配置(可选) ```bash export AI_API_KEY=your-api-key export AI_BASE_URL=https://api.openai.com/v1 export AI_MODEL_NAME=gpt-4o-mini ``` > 未配置 `AI_API_KEY` 时系统自动启用 DevFallbackChatModel 降级模型,不影响本地开发调试。 ## 👤 默认账号 | 用户名 | 密码 | 角色 | |--------|------|------| | admin | 123456 | 系统管理员 | | employee | 123456 | 企业员工 | | manager | 123456 | 部门主管 | | hr | 123456 | 人事专员 | | reviewer | 123456 | 审核专家 | ## 📸 核心模块说明 - **AI 问答(agent/)**:`AgentOrchestrator` 编排整个对话流程 → `AgentIntentRecognizer` 识别用户意图 → `AgentToolRouter` 路由到对应工具 → `ToolCallingService` 执行工具调用 → 结合 `AgentMemoryService` 多轮记忆生成回复 - **RAG 检索(rag/)**:`DocumentParser` 解析文档 → `TextCleaner` 清洗 → 切片后经 `EmbeddingService` 向量化 → 存入 `MySqlVectorStore` → `RagRetriever` 相似度检索召回 - **工作流(workflow)**:申请提交 → AI 智能预审(`WorkflowAiReview`)→ 多级人工审批 → 状态流转与记录 ## 📄 License 本项目基于 [MIT License](https://opensource.org/licenses/MIT) 开源。