智能体项目MaxKB4J - 本地部署与开发完整指南

1. 项目结构概览

项目整体目录结构如下:

🚀 项目源码地址 : https://gitee.com/taisan/MaxKB4j

💡 提示:首次克隆项目后,请确认目录结构是否完整。


2. 环境准备

在开始部署前,请确保你的开发机已安装以下软件:

✅ 前端环境

  • Node.js :版本 16 或更高 验证命令:node -v

    推荐从 https://nodejs.org 下载 LTS 版本。

✅ 后端环境

  • Java :版本 17 或更高 (推荐 OpenJDK 17) 验证命令:java -version
  • Maven :版本 3.8 或更高 验证命令:mvn -v
  • IDEA(可选但推荐):用于 Java 开发、调试和代码导航。

✅ 数据库环境

  • PostgreSQL :版本 15.x 安装后请确保服务已启动,默认端口为 5432
  • MongoDB :版本 8.x 安装后请确保 mongod 服务正在运行,默认端口为 27017

📌 注意:所有服务建议在本地 localhost 上运行,便于开发调试。


3. 本地配置

项目依赖两个数据库:PostgreSQL (主业务数据 + 向量存储)和 MongoDB(非结构化数据或日志等)。需分别创建并配置。


3.1 创建 PostgreSQL 数据库

  1. 打开终端,进入 PostgreSQL 命令行(以 postgres 用户为例):

    bash 复制代码
    psql -U postgres
  2. 执行以下 SQL 命令:

sql 复制代码
-- 创建数据库
CREATE DATABASE "maxkb4j";

-- 切换到新创建的数据库
\c "maxkb4j";

-- 安装 vector 扩展(用于向量相似性搜索)
CREATE EXTENSION IF NOT EXISTS vector;

⚠️ 如果提示 extension "vector" does not exist,说明未安装 pgvector

安装方法(Ubuntu 示例):

bash 复制代码
sudo apt install postgresql-15-pgvector

3.2 创建 MongoDB 数据库与用户

MongoDB 默认在首次写入时自动创建数据库,但为了权限安全,建议手动创建专用用户和数据库

  1. 打开 MongoDB Shell:

    bash 复制代码
    mongosh
  2. admin 数据库中创建用户(替换 your_mongo_usernameyour_mongo_password 为你的实际凭证):

js 复制代码
use admin

db.createUser({
  user: "your_mongo_username",
  pwd: "your_mongo_password",
  roles: [
    { role: "readWrite", db: "maxkb4j" },
    { role: "dbAdmin", db: "maxkb4j" }
  ]
})
  1. 创建 maxkb4j 数据库(通过写入触发创建):
js 复制代码
use maxkb4j

// 插入一条临时文档以确保数据库被创建
db.init.insertOne({ created_at: new Date() })

// 可选:清理测试数据
db.init.drop()

✅ 此时 maxkb4j 数据库已存在,且你创建的用户拥有完整操作权限。


3.3 配置应用参数

编辑后端配置文件:
MaxKB4J/src/main/resources/application-default.yml

填入你的真实数据库连接信息:

yaml 复制代码
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/maxkb4j      # PostgreSQL 地址
    username: your_postgres_username                   # 替换为你的 PG 用户名
    password: your_postgres_password                   # 替换为你的 PG 密码
    driver-class-name: org.postgresql.Driver
  data:
    mongodb:
      uri: mongodb://your_mongo_username:your_mongo_password@localhost:27017/maxkb4j?authSource=admin

🔐 安全提醒:

  • 不要将真实密码提交到 Git 仓库。
  • authSource=admin 表示用户是在 admin 数据库中创建的,这是 MongoDB 的标准做法。

4. 开发与调试

4.1 启动前端

  1. 进入前端目录:

    bash 复制代码
    cd ui
  2. 安装依赖(首次运行需要):

    bash 复制代码
    npm install
  3. 启动管理后台(默认模式):

    bash 复制代码
    npm run dev
  4. 启动对话界面(聊天模式):

    bash 复制代码
    npm run dev -- --mode chat

🖥️ 成功启动后,终端会显示类似:

复制代码
Local: http://localhost:3000/

打开浏览器即可访问对应页面。

默认账号:admin

默认密码:tarzan@123456


4.2 启动后端

📁 请在 项目根目录 (含 pom.xml 的目录)操作。

方法一:命令行启动(推荐用于开发)
  1. 编译并打包项目(首次或代码变更后需要):

    bash 复制代码
    mvn clean compile
  2. 启动 Spring Boot 应用:

    bash 复制代码
    mvn spring-boot:run

✅ 成功启动后,日志中会显示:

复制代码
	Application is running! Access URLs:
	Local: 		http://localhost:8080
	External: 	http://10.16.98.141:8080
方法二:使用 IDEA 启动(图形化调试)
  1. 用 IDEA 打开项目根目录。
  2. 等待 Maven 自动导入依赖。
  3. 找到主启动类(通常为 com.maxkb.Application 或类似名称,含 @SpringBootApplication 注解)。
  4. 右键 → Run 'Application.main()'

💡 优势:支持断点调试、热加载(需配置 DevTools)。


5. 访问项目

当前后端均成功启动后:

  1. 打开浏览器。
  2. 访问前端提供的地址(如 http://localhost:3000)。
  3. 你将看到如下界面:

🎉 恭喜!你已成功在本地运行 MaxKB4J 项目!


常见问题(FAQ)

Q1:启动报错 "Connection refused"?

A:请检查 PostgreSQL(5432)和 MongoDB(27017)服务是否正在运行,防火墙是否放行端口。

Q2:前端页面空白或 API 返回 404?

A:确认后端已成功启动,并检查前端代理配置是否指向正确的后端地址(通常开发模式下已内置代理)。

Q3:如何停止服务?

A:在终端按 Ctrl + C 终止进程。若需彻底清理,可使用 jps 查看 Java 进程并 kill,或重启终端。

Q4:MongoDB 报错 "Authentication failed"?

A:请确认用户名、密码、authSource=admin 三者匹配,且用户角色已正确授权给 maxkb4j 数据库。


相关推荐
怕浪猫6 小时前
设计你自己的可替换能力:三段式 Seam 实战,从需求到上线
agent·产品
腾讯云大数据8 小时前
DataBuddy数据语义驱动的企业Agent Runtime实践
大数据·人工智能·腾讯云·agent
EXI-小洲8 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
2601_961901709 小时前
SpringBoot使用Nacos进行application.yml配置管理
java·spring boot·spring
星核0penstarry9 小时前
试一试用gr.Workflow把AI多步骤串联变成可视化画布
人工智能·python·ai作画·api·ai编程·工作流·api聚合平台
何以解忧,唯有..9 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
QQ_216962909610 小时前
【源码编号:project79475】SpringBoot校内二手交易平台:商品发布、分类检索、留言交流、订单管理全流程实战
java·spring boot·后端
软件聚导航10 小时前
「聚小软 AI 助手」技术升级:从数据库检索到 RAG 知识库问答
前端·数据库·mysql·微信小程序·小程序·ai编程·rag
玉&心10 小时前
GraalVM 21 Native Image 编译踩坑全记录:从 class 初始化冲突到成功构建
ai·springboot·graalvm·rag
plainGeekDev11 小时前
Agent高级编排模式
agent·ai编程·claude