# easyai-plus **Repository Path**: aizuda/easyai-plus ## Basic Information - **Project Name**: easyai-plus - **Description**: 🔥🔥🔥 easyai-plus 是一个大模型+小模型的AI中台,可以被多系统多平台接入,提供完备的AI能力。大模型+小模型可以弥补大模型垂直领域不足,如小模型人脸识别,识别成功结果告诉大模型,以便更好的交互效果 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: https://doc.gyei.cn/ - **GVP Project**: No ## Statistics - **Stars**: 653 - **Forks**: 182 - **Created**: 2025-02-13 - **Last Updated**: 2026-03-06 ## Categories & Tags **Categories**: ai **Tags**: Java, AI, Vue, pangu, easy-security ## README

🚀 easyai-plus
企业级 AI 中台 · 大模型+小模型 · 开箱即用

一站式 AI 应用构建平台,让每个团队都能拥有自己的 AI 基础设施。

Spring AI · MCP 生态 · 多模型适配 · Agent 自进化 · 工作流编排 · 知识库 · 小模型训练

--- ## 为什么选择 easyai-plus? 市面上的 AI 平台要么只做大模型对话,要么只做模型训练,很少有产品能**同时覆盖大模型智能体和小模型训练**两条主线。easyai-plus 正是为此而生—— - **大模型 + 小模型双引擎**:大模型负责理解、推理、决策;小模型负责垂直领域感知(人脸识别、目标检测、NER 等)。两者协同,补齐单一大模型在专业场景的短板。 - **开箱即用的 AI 中台**:不是 SDK,不是框架,而是一个**完整的、可独立运行的平台产品**。接入即用,多系统、多平台共享同一套 AI 能力。 - **全流程可视化管理**:从模型管理、知识库构建、MCP 工具编排、智能体配置到工作流调度,所有环节都有直观的管理界面。 --- ## 核心功能全景 ### 一、🤖 AI 智能体(Agent) easyai-plus 的智能体不是简单的"提示词 + 模型调用",而是一套**具备自主决策、自我进化、多级协作能力的 Agent 架构**。 #### 1. 灵活的智能体配置 - **多模型自由切换**:支持 Ollama 本地模型、OpenAI 兼容接口、自训练模型等,按需为每个 Agent 绑定不同模型 - **提示词工程**:可视化编辑 System Prompt,精细控制 Agent 人设与行为边界 - **能力装配**:为 Agent 自由组合知识库、MCP 工具、Skills 技能包,像搭积木一样构建专属能力 #### 2. 主Agent + 子Agent 多级协作 支持**主从 Agent 架构**。主 Agent 作为"决策大脑",根据任务自主判断应该分配给哪个子 Agent 执行: - 主 Agent 分析用户意图 → 选择最合适的子 Agent → 下发子任务 - 子 Agent 独立执行(拥有自己的模型、工具、超时控制)→ 结果汇报主 Agent - 支持**实时状态推送**,前端可以看到每个子 Agent 的执行进度 这意味着你可以构建一个"团队":一个规划 Agent 负责拆解需求,一个编码 Agent 负责写代码,一个测试 Agent 负责验证——**真正的 AI 团队协作**。 #### 3. 🧬 Agent 自进化能力(Self-Evolution) 这是 easyai-plus 最核心的差异化能力。受 Voyager(Wang et al., 2023)论文中 Skill Library 机制启发,我们实现了 Agent 在任务执行过程中的**自主学习与能力升级**: **Skills 技能库** - Agent 在执行任务时,如果发现本地知识不足,会**自动连接 Skills 市场**,搜索并下载最佳实践、脚本方案 - 下载的技能以 Markdown 文件形式保存,并**自动同步到向量库**,下次遇到类似问题直接语义检索复用 - 支持多个技能集分类管理,每个技能集独立同步 **进化记忆(Evolution Memory)** - Agent 在执行任务中积累的经验——成功的解决方案、失败的教训、发现的规律——会以**语义向量的形式持久化存储** - 下次遇到类似问题,Agent 会**主动查询历史记忆**,避免重复踩坑 - 每个 Agent 拥有独立的记忆空间,互不干扰,重启后自动恢复 **MCP 工具自主发现与安装** - Agent 遇到能力不足时,会**自动搜索 MCP 工具市场**,发现合适的工具后一键安装 - 安装完成后**热重载自身配置**,新工具立即生效,无需重启服务 - 整个过程完全自主,无需人工干预 **强制进化决策链** - 当 Agent 在任务中遇到困难,系统会引导其按照严格顺序尝试: 1. 先查本地 Skills 技能库 2. 再到 Skills 市场搜索下载 3. 再搜索 MCP 工具市场 4. 最后才用基础编码能力兜底 - 这套机制确保 Agent **不会盲目重试**,而是系统性地寻找最优解 --- ### 二、🛡️ 生产级稳定性优化 easyai-plus 不只是一个 Demo,而是面向**真实生产环境**设计的。以下是我们在稳定性和可靠性方面的核心优化: #### 1. 智能安全熔断机制 大模型在 Tool Calling 场景下有一个行业痛点:**容易陷入无限循环**——反复调用同一个失败的工具,消耗大量 Token 却毫无产出。 easyai-plus 内置了三级保护: - **连续失败熔断**:连续多次工具调用无实质输出时,自动终止循环,避免 Token 浪费 - **进化策略注入**:连续失败达到阈值后,系统不是简单终止,而是**智能注入引导指令**,提醒 Agent 换思路、查记忆、找工具 - **总轮次硬上限**:不管成功失败,达到总轮次上限一律终止,兜底防护 所有阈值均可通过配置文件灵活调整,适配不同业务场景。 #### 2. 任务自动续传 大模型输出存在 Token 上限,复杂任务经常在执行到一半时被截断。传统方案需要用户手动"继续"。 easyai-plus 实现了**全自动任务续传**: - 主 Agent 输出结束后,系统自动判断任务是否真正完成 - 支持**模型完成度验证**——调用模型做二次确认,避免误判 - 未完成时自动构造续传指令,无缝发起下一轮,**前端完全无感知** - 多轮续传的输出直接拼接推送,用户看到的是一次完整的流畅交互 #### 3. 两级上下文压缩 长对话场景下,上下文窗口会不断膨胀,导致 Token 消耗飙升甚至超出模型限制。easyai-plus 创新性地引入**两级压缩策略**: - **L1 规则压缩(零成本)**:每轮工具调用后,自动截断旧轮次的工具输出,只保留最新结果完整。零 LLM 调用,实时生效 - **L2 模型摘要压缩**:当对话历史达到阈值时,自动调用模型将早期对话压缩为精炼摘要,释放上下文空间。支持指定轻量模型做压缩,降低成本 两级策略配合,既保证了对话质量,又大幅降低了长对话场景的 Token 开销。 #### 4. 跨对话任务记忆 传统 AI 对话"关了就忘",下次打开又要从头开始。easyai-plus 支持**跨对话的任务进度记忆**: - 每次对话结束后,自动提取任务进度摘要并持久化 - 下次新对话时,自动注入上次的进度摘要到 System Prompt - Agent 能清楚知道"上次做到哪了",直接从断点继续,**避免重复劳动** #### 5. 跨平台命令智能适配 Agent 在执行系统命令时,最常见的问题就是**跨平台语法不兼容**——在 Windows 上用 Linux 命令,在 Mac 上用 PowerShell 语法。 easyai-plus 内置了**三平台命令规范引擎**: - 自动检测当前操作系统(Windows / macOS / Linux) - 为 Agent 动态注入**当前平台的完整命令规范**:正确语法 + 禁用命令清单 - 命令失败时,错误提示会明确告知当前运行环境,引导 Agent 使用正确语法 Windows 用 PowerShell、Mac 用 bash/zsh、Linux 用 bash——Agent 永远不会搞混。 --- ### 三、🔧 CodingTool — 全能系统操作工具 为 Agent 提供**完整的操作系统交互能力**,一个工具覆盖所有场景: | 能力 | 说明 | |------|------| | **bash** | 执行任意 Shell/PowerShell 命令(git、mvn、npm、curl、docker…) | | **file_read** | 读取文件内容,支持行号范围 | | **file_edit** | 精准文本替换或创建文件,支持增量编辑 | | **search** | 目录级文件内容搜索(正则/关键词) | | **list_dir** | 目录树结构查看 | 同时内置**安全防护**: - 禁止杀死宿主 Java 进程(避免 Agent 误杀自己) - 禁止修改应用端口配置 - 危险命令正则拦截(覆盖 Windows/Linux 双平台的各种变体写法) - 后台进程启动强制规范(防止 Agent 启动阻塞式前台服务导致超时) --- ### 四、📚 知识库(RAG) - **多格式文档支持**:PDF、Word、Excel、Markdown 等主流格式,基于 Docling 解析,准确率 85%~90% - **向量化语义检索**:文档内容自动 Embedding 入库,Agent 对话时实时检索相关知识片段 - **可视化管理界面**:上传、解析、检索、删除,全流程可视化操作 --- ### 五、🔌 MCP 工具生态 easyai-plus 深度集成 MCP(Model Context Protocol)标准,让 Agent 能力无限扩展: - **可视化 MCP 管理**:添加、配置、启停 MCP 服务,支持 stdio 和 SSE 两种传输方式 - **MCP 市场搜索**:直接对接 MCP 官方 Registry,一键搜索全球开发者发布的工具 - **一键本地部署**:搜到的工具直接安装到本地,自动配置,无需手动折腾 - **Agent 自主发现安装**:Agent 在任务中遇到能力缺口时,可自动搜索并安装 MCP 工具 --- ### 六、⚡ 工作流编排 - **基于 Agent 的工作流**:每个节点可以绑定不同的 Agent,Agent 之间支持参数传递 - **可视化编排**:拖拽式配置工作流节点和连接关系 - **定时调度**:支持 Cron 表达式定时触发工作流,实现自动化任务 - **执行日志**:完整记录每次工作流的执行详情,方便排查和回溯 - **对话中触发**:用户可以在对话中 @工作流,让 Agent 自动调用执行 --- ### 七、🧠 小模型训练(NLP + 视觉) 大模型不是万能的,垂直领域的精准感知仍然需要专业的小模型。easyai-plus 提供完整的小模型训练流水线: #### NLP 方向 - **分类管理**:定义业务场景,配置关键词提取规则和缺失信息回复策略 - **数据标注**:为对话内容标注关键实体,构建高质量训练数据集 - **Q&A 管理**:一问一答格式的对话数据管理,支持批量上传 - **训练与测试**:一键启动训练,训练完成后立即在线测试效果 #### 视觉方向 - **图像训练**:图片上传 → 自动裁剪 → 内容标注 → 模型训练 → 在线测试,全流程闭环 - **视频分析**:支持视频实时分析,适用于安防监控、质检等场景 - **特征管理**:统一管理标注标签体系,支持跨数据集复用 --- ### 八、🖥️ 更多平台特性 | 特性 | 说明 | |------|------| | **Electron 桌面端** | 支持打包为桌面应用,Windows/Mac/Linux 三端运行 | | **多用户多角色** | 完整的用户、角色、菜单权限体系 | | **操作审计** | 全链路操作日志记录 | | **安全配置** | 密码复杂度、登录锁定、密码过期等企业级安全策略 | | **国际化** | 支持多语言切换 | --- ## 技术参数一览 所有 Agent 行为参数均**可通过配置文件动态调整**,无需改代码重启: | 配置项 | 说明 | 默认值 | |--------|------|--------| | 对话历史窗口 | 保留最近 N 条消息 | 50 | | 最大输出 Token | 模型单次最大输出 | 16384 | | 安全熔断阈值 | 连续失败 N 次终止 | 5 | | 进化提醒阈值 | 连续失败 N 次触发进化引导 | 3 | | 最大工具调用轮次 | 单次对话最大工具调用总轮次 | 15 | | 任务续传轮次 | 自动续传最大次数 | 3 | | L1 工具输出裁剪 | 旧轮次工具输出保留字符数 | 200 | | L2 压缩触发比例 | 消息数占窗口的百分比 | 70% | | 子 Agent 超时 | 子 Agent 单次执行超时时间 | 120s | --- ## 技术栈 | 层 | 技术 | |----|------| | 后端框架 | Spring Boot 3.x + Spring AI 1.1.3 | | AI 协议 | MCP (Model Context Protocol) | | 模型服务 | Ollama / OpenAI 兼容接口 | | 文档解析 | Docling 2.74.0 | | 向量检索 | 本地 Embedding (ONNX MiniLM) + SimpleVectorStore | | 数据库 | MySQL 8.0+ | | 前端 | Vue 3 + Element Plus | | 桌面端 | Electron | | 认证鉴权 | easy-security | | 脚手架 | 盘古(Pangu) | --- ## 快速开始 ### 环境要求 - JDK 21 - MySQL 8.0+ - Node.js 20.x+(建议使用 yarn) - Ollama 最新版 ### 三步启动 ```bash # 1. 创建数据库(项目启动后自动建表) # 2. 修改 application.yml 中的数据库连接和文件存储路径 # 3. 启动后端 + 前端 # 默认账号:superAdmin / superAdmin@2025 ``` 遇到如下报错,可以先对项目进行 maven compile,然后启动 ```text Error creating bean with name 'embeddingModel' defined in class path resource [com/wt/admin/config/AIConfig.class]: Error code - ORT_INVALID_PROTOBUF - message: Failed to load model because protobuf parsing failed. ``` --- ## 开源协议 本项目采用 **AGPL** 开源协议。使用必须遵守国家法律法规,不允许非法项目使用。 ---

easyai-plus — 让 AI 能力触手可及