# kms **Repository Path**: huang_youchao/kms ## Basic Information - **Project Name**: kms - **Description**: 知识库 - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Knowledge Management System (KMS) 基于 Java 21 + Spring Boot 3.2 的知识管理系统,支持文档管理、代码仓库集成和 OpenClaw AI 助手接入。 ## 技术栈 - **Java 21** - 最新 LTS 版本 - **Spring Boot 3.2** - 微服务框架 - **Spring Data JPA / MyBatis Plus** - ORM 框架 - **PostgreSQL** - 关系型数据库 - **Redis** - 缓存与会话存储 - **Milvus** - 向量数据库(用于语义搜索) - **Apache Tika** - 文档内容提取 - **Apache PDFBox** - PDF 解析 - **Apache POI** - Word 文档解析 - **JGit** - Git 操作 - **OpenClaw** - AI 助手集成 ## 项目结构 采用 DDD 分层架构,模块化设计,支持未来拆分为微服务: ``` knowledge-system/ ├── kms-common/ # 公共模块 - 工具类、异常、结果封装 ├── kms-domain/ # 领域层 - 实体、枚举、仓储接口 ├── kms-infrastructure/ # 基础设施层 - 文档解析、Git、OpenClaw 客户端 ├── kms-application/ # 应用层 - 业务逻辑、服务接口 ├── kms-adapter/ # 适配器层 - REST API、Web 控制器 └── kms-starter/ # 启动模块 - 应用入口、配置 ``` ## 核心功能 ### 1. 知识库管理 - 创建、编辑、删除知识库 - 支持多种类型:通用、技术、业务等 - 向量集合自动管理 ### 2. 文档管理 - 支持格式:PDF、Markdown、Word (docx/doc)、纯文本 - 文档上传(Multipart) - 本地文件导入 - Git 仓库文件导入 - 自动内容提取与向量化 ### 3. 代码仓库集成 - 支持本地 Git 仓库和远程 Gitee/GitHub - 自动克隆/拉取 - Token/密码认证 - 定时同步 ### 4. OpenClaw 集成 - AI 对话接口 - 代码修改请求 - 知识库搜索 - 命令执行 ## 快速开始 ### 环境要求 - JDK 21+ - Maven 3.9+ - PostgreSQL 15+ - Redis 7+ - Milvus 2.3+ - Node.js 18+ (前端) ### 一键启动 ```bash # 1. 克隆仓库后,复制环境配置 cp .env.example .env # 编辑 .env 配置数据库等连接信息 # 2. 启动依赖服务 docker-compose up -d postgres redis milvus # 3. 构建并运行 ./build.sh ./start.sh ``` ### 手动构建 #### 后端 ```bash # 编译打包 mvn clean package -DskipTests # 运行(开发环境) cd kms-starter mvn spring-boot:run -Dspring-boot.run.profiles=dev # 或运行 jar java -jar kms-starter/target/kms-starter-1.0.0-SNAPSHOT.jar ``` #### 前端 ```bash cd vue npm install npm run dev # 开发模式 npm run build # 生产构建 ``` ### Docker 部署 ```bash # 构建镜像 docker build -t knowledge-system:latest . # 运行所有服务 docker-compose up -d # 查看日志 docker-compose logs -f app ``` ## API 文档 启动后访问:http://localhost:8080/swagger-ui.html ### 主要接口 **知识库管理** - `POST /api/v1/knowledge-bases` - 创建知识库 - `GET /api/v1/knowledge-bases` - 列表查询 - `PUT /api/v1/knowledge-bases/{id}` - 更新 - `DELETE /api/v1/knowledge-bases/{id}` - 删除 **文档管理** - `POST /api/v1/documents/upload` - 上传文档 - `POST /api/v1/documents/import-path` - 从路径导入 - `POST /api/v1/documents/import-git` - 从 Git 导入 - `POST /api/v1/documents/{id}/reindex` - 重新索引 - `GET /api/v1/documents` - 文档列表 - `DELETE /api/v1/documents/{id}` - 删除文档 **代码仓库** - `POST /api/v1/code-repositories` - 添加仓库 - `POST /api/v1/code-repositories/{id}/sync` - 同步仓库 - `POST /api/v1/code-repositories/sync-all` - 同步全部 **RAG (检索增强生成)** - `GET /api/v1/rag/search` - 向量搜索 - `POST /api/v1/rag/search-multi` - 多知识库搜索 - `POST /api/v1/rag/chat` - AI 问答 - `POST /api/v1/rag/chat-multi` - 多知识库问答 - `GET /api/v1/rag/context` - 获取检索上下文 **OpenClaw** - `POST /api/v1/openclaw/chat` - AI 对话 - `POST /api/v1/openclaw/execute` - 执行命令 - `POST /api/v1/openclaw/modify-file` - 修改文件 - `POST /api/v1/openclaw/search` - 知识库搜索 ## 配置说明 ### application.yml 关键配置 ```yaml # OpenClaw 连接 openclaw: base-url: http://localhost:3000 api-key: your-api-key timeout: 120 # 文件存储 storage: path: /data/openclaw/knowledge-files max-file-size: 100MB # 向量数据库 vector: milvus: host: localhost port: 19530 ``` ## 扩展计划 当前为单体应用,预留微服务拆分能力: 1. **kms-document-service** - 文档处理服务 2. **kms-search-service** - 搜索与向量服务 3. **kms-git-service** - Git 仓库服务 4. **kms-openclaw-service** - AI 助手服务 通过 Spring Cloud Gateway 统一接入,Nacos 服务注册发现。 ## License MIT License