LangChat 是Java&LangChain4j生态的开源 AI Agent 应用平台,支持多模型、Agent、知识库 RAG、Skills、MCP 与智能问数。
See the codeLangChat Agentic 是 LangChat Team 面向企业采购、交付与长期运营推出的商业产品。商业版拥有比当前开源版本更丰富、完整的产品能力,适合需要将 AI 应用规模化部署到真实业务流程中的组织。
商业版主要提供:
如果你正在进行企业级 AI 平台选型或采购,建议优先了解 LangChat Agentic:
查看商业版完整能力 · 阅读商业白皮书 · 查看价格与交付方案 · 了解团队
LangChat 是一个模块化、可扩展的开源 AI Agent 应用平台。它将模型接入、Agent 构建、知识库 RAG、Skills、MCP、数据分析和权限管理整合到同一套 Java 与 Vue 技术体系中,帮助开发者快速搭建可运行、可集成的 AI 应用。
开源版本适合技术验证、二次开发和团队内部场景建设。项目采用模块化单体架构,在保持部署简单的同时,为后续按领域拆分和能力扩展保留清晰边界。
| 能力 | 说明 |
|---|---|
| 多模型接入 | 统一管理 OpenAI、Azure OpenAI、Anthropic、Gemini、DeepSeek、通义千问、智谱、Ollama 及 OpenAI 兼容服务 |
| Agent 构建 | 配置模型、系统提示词、知识库、Skills 与 MCP,提供构建、调试和运行界面 |
| 对话运行时 | 支持会话与消息管理、SSE 流式响应,并提供 OpenAI 兼容的 Chat Completions 接口 |
| 知识库 RAG | 管理知识库、文档上传、解析预览、分段、索引状态和向量存储配置 |
| Skills 扩展 | 支持技能包或文件夹上传、文件浏览、下载和运行时工具注册 |
| MCP 集成 | 管理外部 MCP 服务配置,并在 Agent 运行时复用客户端会话 |
| 智能问数 | 接入数据源、读取结构目录,以自然语言生成分析结果与图表 |
| 图像能力 | 提供图像生成与图像识别接口,复用统一模型配置体系 |
| 应用市场 | 发布和发现 Agent,并从统一聊天界面直接运行应用 |
| 权限与治理 | 提供登录、用户、角色、菜单、动态路由与 RBAC 权限管理 |
以下截图来自本地开发环境启动后的实际界面,按功能分类展示。信息密度较高的页面(Agent 构建器、文档导入、数据源详情)采用一行两张,其余一行三张。
| 登录页 | 概览 | 应用市场 |
![]() | ![]() | ![]() |
| Agent 管理 | 构建器 · 应用配置 |
![]() | ![]() |
| 构建器 · API 接入 | 构建器 · 消息日志 |
![]() | ![]() |
| 构建器 · 统计报表 | 应用对话 |
![]() | ![]() |
| 知识库管理 | 导入文档 · 上传文件 |
![]() | ![]() |
| 知识库 · 文档管理 | 知识库 · 文档分段 |
![]() | ![]() |
| 导入文档 · 分段配置 | 导入文档 · 执行向量化 |
![]() | ![]() |
| 智能问数 | 图片生成 | 图片识别 |
![]() | ![]() | ![]() |
| 数据源管理 | 数据源详情 · 表内省 |
![]() | ![]() |
| 模型管理 | 向量存储 | 技能管理 |
![]() | ![]() | ![]() |
| MCP 管理 | 模型监控 | |
![]() | ![]() |
| 用户管理 | 角色管理 |
![]() | ![]() |
| 菜单管理 | 关于 |
![]() | ![]() |
flowchart LR
U[用户 / 外部系统] --> UI[Vue 3 管理端]
U --> API[REST / OpenAI-compatible API]
UI --> API
API --> AUTH[langchat-auth<br/>认证与 RBAC]
API --> AIGC[langchat-aigc<br/>配置与资源管理]
API --> CORE[langchat-core<br/>Agent / Chat / RAG / Skills]
API --> DS[langchat-datasource<br/>数据源与智能问数]
CORE --> LLM[模型服务<br/>OpenAI / Gemini / Ollama / ...]
CORE --> MCP[MCP 服务与工具]
CORE --> VECTOR[Pgvector / Milvus]
AIGC --> MYSQL[(MySQL)]
AUTH --> MYSQL
DS --> DATA[(业务数据源)]
| 层级 | 主要技术 |
|---|---|
| 后端 | Java 17、Spring Boot 3.3、LangChain4j 1.12、MyBatis-Plus、Sa-Token |
| 前端 | Vue 3、TypeScript、Vite、Pinia、Naive UI、Tailwind CSS、VXE Table、ECharts |
| 数据 | MySQL、PostgreSQL / Pgvector、Milvus |
| 工程 | Maven 多模块、pnpm workspace、SSE、OpenAI-compatible API |
langchat
├── build-release.sh # 构建后端、前端并生成非 Docker 交付目录
├── build-docker.sh # Docker 配置准备、镜像构建与服务管理入口
├── langchat-common # 公共基础能力与依赖管理
├── langchat-auth # 认证、用户、角色、菜单与权限
├── langchat-aigc # 模型、Agent、知识库、Skills 等业务管理
├── langchat-core # 对话运行时、RAG、MCP、图像与数据分析
├── langchat-datasource # 数据源接入、结构读取与查询能力
├── langchat-server # Spring Boot 启动与应用配置
├── langchat-ui # Vue 3 前端工作区
└── docs/db # 数据库初始化脚本
git clone -b next https://github.com/langchat/langchat.git
cd langchat
本地配置文件已被 Git 忽略,不会被提交:
cp langchat-server/src/main/resources/application-local.example.yml \
langchat-server/src/main/resources/application-local.yml
编辑 application-local.yml,填写数据库连接和本地管理员密码。生产环境请使用环境变量,不要将密码或密钥写入仓库。
数据库初始化脚本位于 docs/db/langchat.sql。
cd langchat-ui
corepack enable
pnpm install
cd ..
SPRING_PROFILES_ACTIVE=local ./langchat.sh
默认地址:
http://localhost:5888http://localhost:8080http://localhost:8080/actuator/health也可以分别运行后端与前端:
mvn -pl langchat-server -am spring-boot:run
pnpm --dir langchat-ui --filter @vben/web-naive dev
项目根目录提供两个统一入口脚本。两者用途不同:build-release.sh 用于生成可复制到服务器的传统交付目录,build-docker.sh 用于构建和管理 Docker Compose 服务。
执行:
bash build-release.sh
脚本会依次完成 Maven 后端打包、Vue 前端生产构建和交付文件检查,并在根目录生成已被 Git 忽略的 release/:
release/
├── app/langchat.jar
├── config/
├── html/
├── logs/
├── nginx/default.conf
├── sql/01-langchat.sql
└── langchat-workspace/
可以通过环境变量修改输出目录:
LANGCHAT_RELEASE_DIR=/opt/releases/langchat bash build-release.sh
脚本不会自动安装前端依赖。首次构建前请先在 langchat-ui/ 中执行 pnpm install。部署后端时,应复制并修改 release/config/application-runtime.example.yml,再通过 Spring Boot 的 spring.config.additional-location 参数加载真实配置。
首次部署先生成本地配置:
bash build-docker.sh prepare
该命令仅在文件不存在时创建以下配置,不会覆盖已有内容:
docker/.env:MySQL、Pgvector、RustFS 和镜像等基础设施参数;docker/application-docker.yml:LangChat 后端数据库、管理员和 S3 客户端配置。修改两份配置并确保数据库与 RustFS 凭据相互一致,然后执行:
bash build-docker.sh deploy
deploy 会构建 LangChat 镜像并在后台启动 LangChat、MySQL、Pgvector 与 RustFS。后端业务配置通过 Compose 同目录的 YAML 文件挂载到容器中,不需要在 docker-compose.yml 内维护大量应用参数。
常用命令:
| 命令 | 作用 |
|---|---|
bash build-docker.sh build | 仅构建 LangChat 应用镜像 |
bash build-docker.sh up | 使用现有镜像启动全部服务 |
bash build-docker.sh down | 停止并删除容器,保留数据卷 |
bash build-docker.sh restart | 重启 LangChat 应用容器 |
bash build-docker.sh logs [服务名] | 持续查看日志,默认服务为 langchat |
bash build-docker.sh status | 查看服务状态 |
bash build-docker.sh config | 展开并校验 Compose 配置 |
bash build-docker.sh release | 调用 build-release.sh 生成传统交付目录 |
可通过 LANGCHAT_DOCKER_ENV_FILE 指定其他 Compose 环境变量文件,通过 LANGCHAT_CONFIG_SOURCE 指定相对于 docker/docker-compose.yml 的后端 YAML。完整的容器端口、存储和健康检查说明见 Docker 部署文档。
application.yml 保存通用配置。application-dev.yml、application-test.yml 和 application-prod.yml 对应不同运行环境。application-local.yml 仅用于本机真实配置,已加入 .gitignore。docker/application-docker.yml,基础设施参数写入 docker/.env;两个文件均已被 Git 忽略。change-me、默认密码和访问密钥;build-docker.sh 会拒绝使用仍包含 change-me 的配置启动。欢迎通过 Issue 报告问题、讨论设计或提出功能建议。提交代码前请阅读 贡献指南 与 行为准则。安全问题请按照 安全政策 私下报告。
当前开发基线为 next 分支,请基于该分支创建功能分支并向 next 提交 Pull Request。
LangChat Agentic 是面向企业采购的完整商业产品。如果你的组织正在建设企业级智能体平台,或需要私有化部署、系统集成、实施交付与持续服务,建议直接评估 LangChat Agentic。
除子目录另有声明外,本项目基于 Apache License 2.0 开源。langchat-ui 包含基于 MIT License 分发的 Vue Vben Admin 相关代码,详情请参阅 langchat-ui/LICENSE 和 NOTICE。
Copyright © 2026 LangChat Team.
LangChat 是Java&LangChain4j生态的开源 AI Agent 应用平台,支持多模型、Agent、知识库 RAG、Skills、MCP 与智能问数。
See the codeLangChat Agentic 是 LangChat Team 面向企业采购、交付与长期运营推出的商业产品。商业版拥有比当前开源版本更丰富、完整的产品能力,适合需要将 AI 应用规模化部署到真实业务流程中的组织。
商业版主要提供:
如果你正在进行企业级 AI 平台选型或采购,建议优先了解 LangChat Agentic:
查看商业版完整能力 · 阅读商业白皮书 · 查看价格与交付方案 · 了解团队
LangChat 是一个模块化、可扩展的开源 AI Agent 应用平台。它将模型接入、Agent 构建、知识库 RAG、Skills、MCP、数据分析和权限管理整合到同一套 Java 与 Vue 技术体系中,帮助开发者快速搭建可运行、可集成的 AI 应用。
开源版本适合技术验证、二次开发和团队内部场景建设。项目采用模块化单体架构,在保持部署简单的同时,为后续按领域拆分和能力扩展保留清晰边界。
| 能力 | 说明 |
|---|---|
| 多模型接入 | 统一管理 OpenAI、Azure OpenAI、Anthropic、Gemini、DeepSeek、通义千问、智谱、Ollama 及 OpenAI 兼容服务 |
| Agent 构建 | 配置模型、系统提示词、知识库、Skills 与 MCP,提供构建、调试和运行界面 |
| 对话运行时 | 支持会话与消息管理、SSE 流式响应,并提供 OpenAI 兼容的 Chat Completions 接口 |
| 知识库 RAG | 管理知识库、文档上传、解析预览、分段、索引状态和向量存储配置 |
| Skills 扩展 | 支持技能包或文件夹上传、文件浏览、下载和运行时工具注册 |
| MCP 集成 | 管理外部 MCP 服务配置,并在 Agent 运行时复用客户端会话 |
| 智能问数 | 接入数据源、读取结构目录,以自然语言生成分析结果与图表 |
| 图像能力 | 提供图像生成与图像识别接口,复用统一模型配置体系 |
| 应用市场 | 发布和发现 Agent,并从统一聊天界面直接运行应用 |
| 权限与治理 | 提供登录、用户、角色、菜单、动态路由与 RBAC 权限管理 |
以下截图来自本地开发环境启动后的实际界面,按功能分类展示。信息密度较高的页面(Agent 构建器、文档导入、数据源详情)采用一行两张,其余一行三张。
| 登录页 | 概览 | 应用市场 |
![]() | ![]() | ![]() |
| Agent 管理 | 构建器 · 应用配置 |
![]() | ![]() |
| 构建器 · API 接入 | 构建器 · 消息日志 |
![]() | ![]() |
| 构建器 · 统计报表 | 应用对话 |
![]() | ![]() |
| 知识库管理 | 导入文档 · 上传文件 |
![]() | ![]() |
| 知识库 · 文档管理 | 知识库 · 文档分段 |
![]() | ![]() |
| 导入文档 · 分段配置 | 导入文档 · 执行向量化 |
![]() | ![]() |
| 智能问数 | 图片生成 | 图片识别 |
![]() | ![]() | ![]() |
| 数据源管理 | 数据源详情 · 表内省 |
![]() | ![]() |
| 模型管理 | 向量存储 | 技能管理 |
![]() | ![]() | ![]() |
| MCP 管理 | 模型监控 | |
![]() | ![]() |
| 用户管理 | 角色管理 |
![]() | ![]() |
| 菜单管理 | 关于 |
![]() | ![]() |
flowchart LR
U[用户 / 外部系统] --> UI[Vue 3 管理端]
U --> API[REST / OpenAI-compatible API]
UI --> API
API --> AUTH[langchat-auth<br/>认证与 RBAC]
API --> AIGC[langchat-aigc<br/>配置与资源管理]
API --> CORE[langchat-core<br/>Agent / Chat / RAG / Skills]
API --> DS[langchat-datasource<br/>数据源与智能问数]
CORE --> LLM[模型服务<br/>OpenAI / Gemini / Ollama / ...]
CORE --> MCP[MCP 服务与工具]
CORE --> VECTOR[Pgvector / Milvus]
AIGC --> MYSQL[(MySQL)]
AUTH --> MYSQL
DS --> DATA[(业务数据源)]
| 层级 | 主要技术 |
|---|---|
| 后端 | Java 17、Spring Boot 3.3、LangChain4j 1.12、MyBatis-Plus、Sa-Token |
| 前端 | Vue 3、TypeScript、Vite、Pinia、Naive UI、Tailwind CSS、VXE Table、ECharts |
| 数据 | MySQL、PostgreSQL / Pgvector、Milvus |
| 工程 | Maven 多模块、pnpm workspace、SSE、OpenAI-compatible API |
langchat
├── build-release.sh # 构建后端、前端并生成非 Docker 交付目录
├── build-docker.sh # Docker 配置准备、镜像构建与服务管理入口
├── langchat-common # 公共基础能力与依赖管理
├── langchat-auth # 认证、用户、角色、菜单与权限
├── langchat-aigc # 模型、Agent、知识库、Skills 等业务管理
├── langchat-core # 对话运行时、RAG、MCP、图像与数据分析
├── langchat-datasource # 数据源接入、结构读取与查询能力
├── langchat-server # Spring Boot 启动与应用配置
├── langchat-ui # Vue 3 前端工作区
└── docs/db # 数据库初始化脚本
git clone -b next https://github.com/langchat/langchat.git
cd langchat
本地配置文件已被 Git 忽略,不会被提交:
cp langchat-server/src/main/resources/application-local.example.yml \
langchat-server/src/main/resources/application-local.yml
编辑 application-local.yml,填写数据库连接和本地管理员密码。生产环境请使用环境变量,不要将密码或密钥写入仓库。
数据库初始化脚本位于 docs/db/langchat.sql。
cd langchat-ui
corepack enable
pnpm install
cd ..
SPRING_PROFILES_ACTIVE=local ./langchat.sh
默认地址:
http://localhost:5888http://localhost:8080http://localhost:8080/actuator/health也可以分别运行后端与前端:
mvn -pl langchat-server -am spring-boot:run
pnpm --dir langchat-ui --filter @vben/web-naive dev
项目根目录提供两个统一入口脚本。两者用途不同:build-release.sh 用于生成可复制到服务器的传统交付目录,build-docker.sh 用于构建和管理 Docker Compose 服务。
执行:
bash build-release.sh
脚本会依次完成 Maven 后端打包、Vue 前端生产构建和交付文件检查,并在根目录生成已被 Git 忽略的 release/:
release/
├── app/langchat.jar
├── config/
├── html/
├── logs/
├── nginx/default.conf
├── sql/01-langchat.sql
└── langchat-workspace/
可以通过环境变量修改输出目录:
LANGCHAT_RELEASE_DIR=/opt/releases/langchat bash build-release.sh
脚本不会自动安装前端依赖。首次构建前请先在 langchat-ui/ 中执行 pnpm install。部署后端时,应复制并修改 release/config/application-runtime.example.yml,再通过 Spring Boot 的 spring.config.additional-location 参数加载真实配置。
首次部署先生成本地配置:
bash build-docker.sh prepare
该命令仅在文件不存在时创建以下配置,不会覆盖已有内容:
docker/.env:MySQL、Pgvector、RustFS 和镜像等基础设施参数;docker/application-docker.yml:LangChat 后端数据库、管理员和 S3 客户端配置。修改两份配置并确保数据库与 RustFS 凭据相互一致,然后执行:
bash build-docker.sh deploy
deploy 会构建 LangChat 镜像并在后台启动 LangChat、MySQL、Pgvector 与 RustFS。后端业务配置通过 Compose 同目录的 YAML 文件挂载到容器中,不需要在 docker-compose.yml 内维护大量应用参数。
常用命令:
| 命令 | 作用 |
|---|---|
bash build-docker.sh build | 仅构建 LangChat 应用镜像 |
bash build-docker.sh up | 使用现有镜像启动全部服务 |
bash build-docker.sh down | 停止并删除容器,保留数据卷 |
bash build-docker.sh restart | 重启 LangChat 应用容器 |
bash build-docker.sh logs [服务名] | 持续查看日志,默认服务为 langchat |
bash build-docker.sh status | 查看服务状态 |
bash build-docker.sh config | 展开并校验 Compose 配置 |
bash build-docker.sh release | 调用 build-release.sh 生成传统交付目录 |
可通过 LANGCHAT_DOCKER_ENV_FILE 指定其他 Compose 环境变量文件,通过 LANGCHAT_CONFIG_SOURCE 指定相对于 docker/docker-compose.yml 的后端 YAML。完整的容器端口、存储和健康检查说明见 Docker 部署文档。
application.yml 保存通用配置。application-dev.yml、application-test.yml 和 application-prod.yml 对应不同运行环境。application-local.yml 仅用于本机真实配置,已加入 .gitignore。docker/application-docker.yml,基础设施参数写入 docker/.env;两个文件均已被 Git 忽略。change-me、默认密码和访问密钥;build-docker.sh 会拒绝使用仍包含 change-me 的配置启动。欢迎通过 Issue 报告问题、讨论设计或提出功能建议。提交代码前请阅读 贡献指南 与 行为准则。安全问题请按照 安全政策 私下报告。
当前开发基线为 next 分支,请基于该分支创建功能分支并向 next 提交 Pull Request。
LangChat Agentic 是面向企业采购的完整商业产品。如果你的组织正在建设企业级智能体平台,或需要私有化部署、系统集成、实施交付与持续服务,建议直接评估 LangChat Agentic。
除子目录另有声明外,本项目基于 Apache License 2.0 开源。langchat-ui 包含基于 MIT License 分发的 Vue Vben Admin 相关代码,详情请参阅 langchat-ui/LICENSE 和 NOTICE。
Copyright © 2026 LangChat Team.