- 场景案例一:
在这个场景中,假设软件开发公司(授权单位[1])开发了一个用于数据处理的软件,并授权给客户公司(客户[2])使用。根据授权协议,客户公司可以使用可运行的jar文件或镜像来部署和运行该软件。然而,如果客户公司需要访问源代码,他们必须重新向软件开发公司购买授权。一旦他们获得源代码,他们可以用于内部目的,但不能进行二次开发或修改并将其用于商业目的。如果客户公司修改了源代码并打算将其用于商业用途,他们必须重新购买授权。
- 场景案例二:
在这个场景中,假设软件服务提供商(授权单位[1])提供一种用于云存储的软件服务,并将其授权给云服务提供商(客户[2])。根据授权协议,云服务提供商可以使用可运行的jar文件或镜像来在其云平台上提供该服务。然而,如果云服务提供商需要访问源代码以进行定制或优化,他们必须重新向软件服务提供商购买授权。在获得源代码后,云服务提供商可以进行必要的修改,但不能将修改后的代码用于商业目的,除非他们重新购买了授权。
- 场景案例三:
在这个场景中,假设一个开源软件项目的维护者(授权单位[1])授权给一家IT咨询公司(客户[2]),该公司希望在其客户项目中使用该软件。根据授权协议,IT咨询公司可以使用可运行的jar文件或镜像来集成该开源软件到他们的项目中。然而,如果该公司需要对软件进行定制以满足其客户的特定需求,他们必须重新向软件维护者购买授权以获取源代码。一旦获得源代码,IT咨询公司可以根据需要进行修改,但不能将修改后的代码用于商业目的,除非他们重新购买了授权。
产品文档
项目架构
LangChat Pro采用前后端分离架构,后端基于Spring Boot 3.x开发,前端基于Vue3 + TypeScript + NaiveUI开发,支持多种AI模型和向量数据库。后端架构
后端目录结构
前端架构
前端目录结构
技术架构概览
后端技术栈
| 技术类别 | 技术名称 | 版本要求 | 说明 |
|---|---|---|---|
| 核心框架 | Spring Boot | 3.x | 主要后端开发框架 |
| 开发环境 | JDK | 17+ | Java开发工具包 |
| 数据存储 | MySQL | 8+ | 主数据库 |
| 数据存储 | Redis | 6.0+ | 缓存数据库 |
| 连接池 | Druid | - | 数据库连接池 |
| ORM框架 | MyBatis Plus | - | 数据库操作框架 |
| AI框架 | LangChain4j | - | AIGC基础框架 |
| 权限管理 | Sa-Token | - | 认证授权框架 |
| 工具库 | Hutool | - | Java工具库集合 |
| 打包工具 | Maven Assembly | - | 生产环境打包 |
前端技术栈
| 技术类别 | 技术名称 | 版本要求 | 说明 |
|---|---|---|---|
| 核心框架 | Vue | 3.x | 前端核心框架 |
| 开发语言 | TypeScript | - | JavaScript超集 |
| 运行环境 | Node.js | 18+ | JavaScript运行环境 |
| 包管理器 | pnpm | - | 快速、节省磁盘空间的包管理器 |
| 构建工具 | Vite | - | 下一代前端构建工具 |
| 项目管理 | Turbo | - | 高性能构建系统 |
| UI框架 | NaiveUI | - | Vue 3组件库 |
| 工作流引擎 | VueFlow | - | 流程图可视化组件 |
| 样式框架 | Tailwind CSS | - | 实用优先的CSS框架 |
| 项目模板 | Vben5 | - | 后台管理系统模板 |
部署架构
| 组件 | 技术方案 | 说明 |
|---|---|---|
| 后端部署 | Spring Boot JAR | 内嵌Tomcat,支持独立运行 |
| 前端部署 | Nginx | 静态资源托管 |
| 数据库 | MySQL 8.x | 主数据存储 |
| 缓存 | Redis 6.x | 会话和缓存存储 |
| 向量数据库 | PgVector/ElasticSearch/Milvus | 知识库向量检索 |
| 对象存储 | MinIO/阿里云OSS/腾讯云COS | 文件存储服务 |
硬件要求
| 类别 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| 内存 | 8GB | 16GB+ | 系统运行内存要求 |
| 硬盘 | 50GB | 100GB+ | 存储空间要求 |
| CPU | 4核 | 8核+ | 处理器核心数 |
| 操作系统 | CentOS 8+ / Ubuntu 20+ | CentOS 8+ / Ubuntu 20+ | 支持的操作系统 |
| GPU | 无要求 | 可选 | 本地模型推理加速 |
模型接入支持
| 类型 | 支持平台 | 说明 |
|---|---|---|
| 国内模型 | DeepSeek、阿里百炼、硅基流动、百度千帆、智谱清言、GiteeAI、抖音豆包 | 主要国内大模型平台 |
| 国外模型 | OpenAI、Ollama、Azure OpenAI | 主要国外大模型平台 |
| 私有化模型 | Ollama本地部署、Vllm本地部署 | 本地化部署方案 |
| 向量模型 | OpenAI Embeddings、BGE、Nomic | 文本向量化模型 |
核心功能模块
后端模块说明
langchat-bootstrap
langchat-bootstrap
项目启动引导模块,包含Spring Boot主程序和assembly打包配置。
打包后生成langchat-bootstrap.jar和langchat-bootstrap-bin.tar.gz,解压后包含start.sh/stop.sh脚本和完整的配置文件,支持生产环境一键部署。
langchat-core
langchat-core
核心业务模块,包含用户管理、对话管理、知识库管理等核心功能。
langchat-auth
langchat-auth
认证授权模块,基于Sa-Token实现用户认证、权限控制和会话管理。
langchat-aigc
langchat-aigc
AI生成内容模块,集成多种大语言模型,支持对话生成、内容创作等功能。
langchat-workflow
langchat-workflow
工作流引擎模块,支持可视化流程设计、任务编排和自动化处理。
langchat-plugin
langchat-plugin
插件系统模块,支持工具插件扩展,如搜索、时间、新闻等工具。
langchat-integration
langchat-integration
第三方集成模块,支持与Coze、Dify等平台的集成对接。
langchat-mcp
langchat-mcp
MCP协议模块,支持Model Context Protocol,实现与AI工具的标准化交互。
前端模块说明
apps/langchat
apps/langchat
主业务应用,包含用户界面、对话界面、知识库管理、系统设置等功能页面。
packages/ui
packages/ui
共享UI组件库,提供可复用的界面组件。
packages/utils
packages/utils
工具函数库,提供通用的工具方法和辅助函数。
packages/types
packages/types
类型定义库,提供TypeScript类型定义和接口声明。

