Skip to content

模块说明

Molan Cloud 采用 Maven 多模块结构,便于开发和维护。


整体结构

molan-cloud/
├── backend/
│   ├── core/                     # 双模驱动核心库(单模块,按包划分能力)
│   ├── apis/                     # API 接口定义(Feign 接口)
│   ├── base-service/             # 基础服务(用户/角色/菜单/文件/消息/任务)
│   ├── knowledge-service/        # 知识库服务(RAG)
│   ├── xiuxian-service/          # AI 修仙服务
│   ├── gateway-service/          # 微服务网关
│   └── standalone-service/       # 单体模式启动入口
├── frontend/                     # Vue 3 前端
├── autotest/                     # 自动化测试(登录 / 权限等主线)
├── scripts/                      # 部署脚本、Docker、SQL、Nacos 配置
├── converter/                    # 文档转换服务
└── wiki/                         # 文档站

设计理念

服务按业务域聚合:base-service 整合系统管理、文件、消息、任务;knowledge-service / xiuxian-service 专注 AI。单体用 standalone-service 启动,微服务用 gateway-service + 各服务独立部署。


模块详解

1. 核心库 (core)

职责: 双模内核与通用能力(RPC、事件、锁、文件、加解密、数据源、Spring 增强等)。

业务模块通过同仓 Maven 模块依赖 core,无需额外引入外部包。

能力说明见 Molan Core 介绍


2. API 模块 (apis)

职责: 定义服务间 Feign 接口与 DTO。

特点:

  • 接口与实现分离
  • 支持单体 / 微服务双模
  • 统一 API 约定

示例:

java
@FeignClient(
    name = "${molandev.service-name.base-service:base-service}",
    contextId = "sysUserApi",
    path = "/feign/user"
)
public interface SysUserApi {
    @GetMapping("/admin")
    UserDto getAdmin(@RequestParam("id") String id);
}

接口即服务

通过 core 的 RPC 能力,Feign 在单体下自动走本地调用,微服务下走远程 HTTP,业务代码无需感知。


3. 基础服务 (base-service)

职责: 系统管理、文件、消息、任务等基础能力。

功能包路径说明
系统管理sys/用户、角色、菜单、部门、字典
文件管理file/上传下载、回收站
消息管理msg/站内信、WebSocket
任务调度task/定时任务

微服务模式下独立启动;单体模式下由 standalone-service 合并拉起。


4. 知识库服务 (knowledge-service)

职责: 文档摄入、向量检索、RAG 问答。

依赖中间件:向量库(如 Milvus)、可选 ES 等,详见 知识检索文档


5. AI 修仙服务 (xiuxian-service)

职责: 多 Agent 对话、工具调用、权限与技能体系。详见 AI 集成


6. 网关 (gateway-service)

职责: 微服务入口、鉴权、路由。仅微服务模式需要。


7. 单体入口 (standalone-service)

职责: 合并各业务服务,以单进程启动,配置 molandev.mode=standalone

bash
mvn spring-boot:run -pl standalone-service -f backend/pom.xml

8. 脚本与部署 (scripts/)

目录说明
scripts/docker/各中间件 docker-compose
scripts/sql/MySQL / Postgres 初始化脚本
scripts/cloud/Nacos 配置样例、云部署 compose
scripts/standalone/单体部署辅助配置

依赖关系(示意)

standalone / gateway(入口)

base / knowledge / xiuxian(业务)

apis(Feign 契约)

core(双模内核)

相关文档