# lumin **Repository Path**: yanzhenyu_shower/lumin ## Basic Information - **Project Name**: lumin - **Description**: Lumin 是一个面向企业内部使用的智能知识库管理平台。它不重复造轮子,而是作为一个 “超级连接器”,将 Ruoyi 强大的权限管理能力与 Dify 先进的 LLM 编排能力完美融合。 通过 Lumin,企业可以快速构建私有知识库,并提供类似 ChatGPT 的沉浸式问答体验,同时确保数据归属权和访问权限的严格管控。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2025-11-20 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #

🌟 Lumin

Spring Boot JDK License Database

> **连接企业知识与大模型的智能中枢** > > 基于 **Ruoyi-Vue-Plus** 与 **Dify** 引擎构建的企业级 RAG 知识库管理系统。 ## 📖 简介 | Introduction **Lumin** 是一个面向企业内部使用的智能知识库管理平台。它不重复造轮子,而是作为一个 **“超级连接器”**,将 **Ruoyi** 强大的权限管理能力与 **Dify** 先进的 LLM 编排能力完美融合。 通过 Lumin,企业可以快速构建私有知识库,并提供类似 ChatGPT 的沉浸式问答体验,同时确保数据归属权和访问权限的严格管控。 ### 核心价值 * **🚀 极速落地**:利用 Dify 处理复杂的 RAG 切片与向量化,Lumin 专注业务流与交互。 * **🔒 企业级权限**:基于 Sa-Token 的 RBAC 权限控制,精确管理谁能创建库、谁能问答。 * **🧩 多应用门户**:支持挂载多个 AI 助手(如 HR 助手、IT 运维专家),一站式管理。 * **💬 完美交互**:基于 Iframe + postMessage 的无缝对话集成,支持流式输出与历史回溯。 ----- ## ⚡ 功能特性 | Features - **📚 知识库全生命周期管理** - 创建/编辑/删除知识库。 - 设置可见性(私有/公开)。 - 知识库文档的批量上传与同步。 - **🧠 文档智能解析 (Powered by Dify)** - 支持 PDF, Word, Markdown, TXT 等多种格式。 - 实时同步 Dify 解析状态 (Waiting -\> Parsing -\> Completed)。 - 自动清洗与分片。 - **🤖 AI 应用矩阵** - 多应用切换:支持接入 HR、财务、研发等不同场景的 Dify 应用。 - 默认路由:智能路由到系统默认助手。 - **💬 沉浸式对话工作台** - **流式响应**:基于 SSE 的打字机效果。 - **会话持久化**:本地存储会话历史,支持跨设备同步。 - **双向同步**:Lumin 侧边栏与 Dify 聊天窗口状态实时同步。 - **📊 数据洞察 (Dashboard)** - 知识资产概览。 - 热门文档动态流。 - (规划中) Token 消耗统计与审计。 ----- ## 🛠 技术栈 | Tech Stack ### 后端 (Lumin-Server) * **核心框架**:Spring Boot 3.5.7 * **ORM 框架**:MyBatis-Plus * **权限认证**:Sa-Token * **数据库**:PostgreSQL (业务数据 + 关系数据) * **文件存储**:MinIO / 阿里云 OSS (通过 Ruoyi sys_oss 模块) ### 前端 (Lumin-Web) * **核心框架**:Vue 3 + TypeScript + Vite * **UI 组件库**:Naive UI * **CSS 引擎**:UnoCSS * **脚手架**:Ruoyi-Soybean-Admin ### AI 引擎 (Infrastructure) * **LLM Ops**:Dify (Docker 部署) * **Chat UI**:webapp-conversation (Next.js,嵌入式改造版) ----- ## 🚀 快速开始 | Quick Start ### 1\. 环境准备 * JDK 17+ * Node.js 18+ & pnpm * PostgreSQL 14+ * Redis 6+ * **Dify 实例** (需已部署并创建好应用) ### 2\. 后端启动 1. 克隆仓库并导入 IDEA。 2. 初始化数据库:执行 `sql/init.sql`。 3. 修改 `application.yml`: * 配置 PostgreSQL 连接。 * 配置 Redis 连接。 4. **配置 Dify**: * 在数据库 `sys_config` 表中,配置 `dify.api.url` 和 `dify.api.key.dataset`。 5. 运行 `LuminApplication`。 ### 3\. 前端启动 ```bash cd lumin-ui pnpm install pnpm run dev ``` ### 4\. Chat 子应用启动 (lumin-ui-chat) ```bash cd lumin-ui-chat pnpm install # 配置 .env.local 中的 ALLOWED_ORIGIN pnpm run dev ``` ----- ## ⚙️ 关键配置 | Configuration ### Dify 连接配置 Lumin 需要两个层面的 Dify 凭证: 1. **后端管理凭证** (用于创建知识库、上传文件): * 存储位置:`sys_config` 表或 `application.yml`。 * 类型:Dify 的 **API Key** (具有管理权限)。 2. **前端对话凭证** (用于 Iframe 聊天): * 存储位置:`ai_app` 表。 * 类型:Dify 应用的 **WebApp Token** 或 **App API Key** (视安全策略而定)。 ----- ## 📸 截图展示 | Screenshots | 首页工作台 | 知识库管理 | |:-------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------:| | 首页 | 知识库 | | AI 对话 (Iframe) | AI助手 | |:-----------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------:| | AI对话 | AI助手 | ----- ## ❤️ 特别鸣谢 | Special Thanks 本项目站在巨人的肩膀上,核心能力深受以下优秀开源项目的启发或直接基于其构建: * **[RuoYi-Vue-Plus](https://gitee.com/dromara/RuoYi-Vue-Plus)** * 提供了极其稳健、功能丰富的 Spring Boot + Vue3 前后端分离开发脚手架。 * **[RuoYi-Plus-Soybean](https://gitee.com/xlsea/ruoyi-plus-soybean)** * 基于Naive UI实现的前端脚手架。 * **[Dify](https://github.com/langgenius/dify)** * 提供了世界级的 LLM 应用编排引擎,为 Lumin 赋予了强大的 RAG 与 Agent 能力。 * **[Naive UI](https://www.naiveui.com/)** * 提供了设计感极强、体验流畅的 Vue 3 组件库。 * **[webapp-conversation](https://github.com/langgenius/webapp-conversation)** * 提供了优雅的对话界面实现参考与基础代码。 感谢这些项目的维护者为开源社区做出的贡献! ## 🤝 贡献 | Contribution 欢迎提交 Pull Request 或 Issue! ## 📄 许可证 | License [MIT](https://www.google.com/search?q=LICENSE) © 2025 Yann