# javaAiDialog **Repository Path**: fire-wall/java-ai-dialog ## Basic Information - **Project Name**: javaAiDialog - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-06 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 项目简介 本项目是一个基于 Java 的智能对话系统,集成讯飞 API 流式调用、MySQL 数据持久化、用户权限管理及多模块配置功能。支持实时对话交互、历史记录存储、系统参数配置等核心功能,采用模块化设计,可灵活扩展。 环境准备 JDK 版本:JDK 17(推荐,项目编译级别为 JDK 17) 数据库:MySQL 8.0+ 构建工具:Maven 3.6+ 依赖管理:通过pom.xml自动管理(需联网下载依赖) 网络环境:需联网访问讯飞 API 服务 前置配置 1. 数据库配置(首先导入sql脚本(chat_system.sql)到数据库 chat_system 中 ) 方式 1:直接修改代码配置(AdvancedChatSystem.java) java 运行 // 数据库连接参数(修改为你的MySQL信息) private static final String DB_URL = "jdbc:mysql://localhost:3306/chat_system?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"; private static final String DB_USER = "root"; // 你的MySQL用户名 private static final String DB_PWD = "123456"; // 你的MySQL密码 方式 2:通过命令行参数指定(启动时动态配置) bash 运行 --db-url "jdbc:mysql://localhost:3306/chat_system?useSSL=false" \ --db-user 你的用户名 \ --db-pwd 你的密码 初始化数据库 系统首次启动会自动执行以下操作: 创建数据库表(对话历史、用户信息、系统配置等 6 张表) 插入默认数据: 管理员账户:admin/123456(角色:ADMIN) 默认模型配置:x1,最大 Token 4096,温度 0.5 基础屏蔽词(可后续扩展) 2. 讯飞 API 配置 获取 Token 访问讯飞开放平台获取Bearer Token 配置 Token 的 3 种方式: 数据库配置(推荐):启动后通过系统配置模块更新 代码配置:修改AdvancedChatSystem.java中默认 Token 命令行参数:启动时通过--bearer-token指定 项目构建 克隆项目到本地 bash 运行 git clone <项目仓库地址> cd java-ai-dialog 执行 Maven 打包命令 bash 运行 mvn clean package -Dmaven.test.skip=true 打包成功后,在target目录生成可执行 JAR 文件(如chat-system.jar) 启动方式 方式 1:IDE 直接运行 推荐使用 IntelliJ IDEA 打开项目 选择主类启动: 带登录功能入口:ChatApplication.java 基础功能入口:AdvancedChatSystem.java 可选配置 VM 参数(示例): plaintext --bearer-token "你的讯飞Token" --user-id "自定义用户ID" 方式 2:命令行运行 bash 运行 # 基础启动(使用默认配置) java -jar target/chat-system.jar # 完整参数启动 java -jar target/chat-system.jar \ --db-url "jdbc:mysql://localhost:3306/chat_system?useSSL=false" \ --db-user root \ --db-pwd 123456 \ --bearer-token "你的讯飞Token" \ --model "x1" \ --max-tokens 4096 \ --temperature 0.5 \ --user-id "user123" 功能说明 登录模块 首次启动使用默认管理员账户:admin/123456 登录后根据角色(ADMIN/USER)展示不同功能菜单 主菜单功能(1-6) 1. 智能对话模块 支持与 AI 实时流式对话(讯飞 API) 自动关联上下文(基于历史对话记录) 输入exit_chat可退出当前对话模块 提示:如遇输入卡顿,可多按几次回车 2. 用户管理模块 普通用户(USER): 查询个人信息 修改个人密码 管理员(ADMIN): 新增用户(支持设置角色) 查询所有用户列表 3. 系统配置模块 管理屏蔽词(添加 / 删除敏感词) 更新讯飞 Token(即时生效) 配置模型参数(max_tokens/temperature) 修改系统提示词(定义 AI 人设) 编辑开场白(首次对话欢迎语) 4. 对话历史模块 查看当前用户的历史对话记录 查看单条对话详情(包含完整上下文) 5. 退出登录 返回登录界面,可切换用户 6. 退出系统 安全关闭应用,释放数据库连接等资源 核心功能实现说明 讯飞 API 流式调用 通过ApiClient.java实现,支持实时响应输出 响应格式解析:处理data:前缀的 JSON 片段,提取对话内容 支持中断当前回复和强制退出功能 历史对话管理 内存中维护messagesHistory(上下文关联) 持久化存储到t_chat_history表(MySQL) 支持跨会话复用对话历史 权限控制 基于角色的访问控制(RBAC) 管理员专属功能:用户管理、系统配置全权限 普通用户仅能管理个人信息和对话 常见问题 数据库连接失败 检查 MySQL 服务是否启动 确认连接参数(URL / 用户名 / 密码)正确性 验证数据库用户是否有建表权限 对话无响应 检查讯飞 Token 有效性(可在系统配置中更新) 确认网络连接正常(需访问讯飞 API) 查看控制台错误日志,定位 API 请求失败原因 权限不足提示 切换为管理员账户(admin)操作受限功能 联系管理员添加对应权限 输入卡顿或无反应 多按几次回车触发输入检测(已知优化点) 检查是否有未关闭的资源占用(如 Scanner) 注意事项 生产环境需修改默认管理员密码(首次登录后立即更新) 讯飞 Token 具有时效性,需定期在系统配置中更新 屏蔽词列表可根据实际需求扩展,防止违规内容 系统退出时会自动释放数据库连接,避免强制关闭 可将本内容保存为README.md文件,放置于项目根目录下方便查阅。# 智能助手系统运行教程 项目简介 本项目是一个基于 Java 的智能对话系统,集成讯飞 API 流式调用、MySQL 数据持久化、用户权限管理及多模块配置功能。支持实时对话交互、历史记录存储、系统参数配置等核心功能,采用模块化设计,可灵活扩展。 环境准备 JDK 版本:JDK 17(推荐,项目编译级别为 JDK 17) 数据库:MySQL 8.0+ 构建工具:Maven 3.6+ 依赖管理:通过pom.xml自动管理(需联网下载依赖) 网络环境:需联网访问讯飞 API 服务 前置配置 1. 数据库配置 方式 1:直接修改代码配置(AdvancedChatSystem.java) java 运行 // 数据库连接参数(修改为你的MySQL信息) private static final String DB_URL = "jdbc:mysql://localhost:3306/chat_system?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"; private static final String DB_USER = "root"; // 你的MySQL用户名 private static final String DB_PWD = "123456"; // 你的MySQL密码 方式 2:通过命令行参数指定(启动时动态配置) bash 运行 --db-url "jdbc:mysql://localhost:3306/chat_system?useSSL=false" \ --db-user 你的用户名 \ --db-pwd 你的密码 初始化数据库 系统首次启动会自动执行以下操作: 创建数据库表(对话历史、用户信息、系统配置等 6 张表) 插入默认数据: 管理员账户:admin/123456(角色:ADMIN) 默认模型配置:x1,最大 Token 4096,温度 0.5 基础屏蔽词(可后续扩展) 2. 讯飞 API 配置 获取 Token 访问讯飞开放平台获取Bearer Token 配置 Token 的 3 种方式: 数据库配置(推荐):启动后通过系统配置模块更新 代码配置:修改AdvancedChatSystem.java中默认 Token 命令行参数:启动时通过--bearer-token指定 项目构建 克隆项目到本地 bash 运行 git clone <项目仓库地址> cd java-ai-dialog 执行 Maven 打包命令 bash 运行 mvn clean package -Dmaven.test.skip=true 打包成功后,在target目录生成可执行 JAR 文件(如chat-system.jar) 启动方式 方式 1:IDE 直接运行 推荐使用 IntelliJ IDEA 打开项目 选择主类启动: 带登录功能入口:ChatApplication.java 基础功能入口:AdvancedChatSystem.java 可选配置 VM 参数(示例): plaintext --bearer-token "你的讯飞Token" --user-id "自定义用户ID" 方式 2:命令行运行 bash 运行 # 基础启动(使用默认配置) java -jar target/chat-system.jar # 完整参数启动 java -jar target/chat-system.jar \ --db-url "jdbc:mysql://localhost:3306/chat_system?useSSL=false" \ --db-user root \ --db-pwd 123456 \ --bearer-token "你的讯飞Token" \ --model "x1" \ --max-tokens 4096 \ --temperature 0.5 \ --user-id "user123" 功能说明 登录模块 首次启动使用默认管理员账户:admin/123456 登录后根据角色(ADMIN/USER)展示不同功能菜单 主菜单功能(1-6) 1. 智能对话模块 支持与 AI 实时流式对话(讯飞 API) 自动关联上下文(基于历史对话记录) 输入exit_chat可退出当前对话模块 提示:如遇输入卡顿,可多按几次回车 2. 用户管理模块 普通用户(USER): 查询个人信息 修改个人密码 管理员(ADMIN): 新增用户(支持设置角色) 查询所有用户列表 3. 系统配置模块 管理屏蔽词(添加 / 删除敏感词) 更新讯飞 Token(即时生效) 配置模型参数(max_tokens/temperature) 修改系统提示词(定义 AI 人设) 编辑开场白(首次对话欢迎语) 4. 对话历史模块 查看当前用户的历史对话记录 查看单条对话详情(包含完整上下文) 5. 退出登录 返回登录界面,可切换用户 6. 退出系统 安全关闭应用,释放数据库连接等资源 核心功能实现说明 讯飞 API 流式调用 通过ApiClient.java实现,支持实时响应输出 响应格式解析:处理data:前缀的 JSON 片段,提取对话内容 支持中断当前回复和强制退出功能 历史对话管理 内存中维护messagesHistory(上下文关联) 持久化存储到t_chat_history表(MySQL) 支持跨会话复用对话历史 权限控制 基于角色的访问控制(RBAC) 管理员专属功能:用户管理、系统配置全权限 普通用户仅能管理个人信息和对话 常见问题 数据库连接失败 检查 MySQL 服务是否启动 确认连接参数(URL / 用户名 / 密码)正确性 验证数据库用户是否有建表权限 对话无响应 检查讯飞 Token 有效性(可在系统配置中更新) 确认网络连接正常(需访问讯飞 API) 查看控制台错误日志,定位 API 请求失败原因 权限不足提示 切换为管理员账户(admin)操作受限功能 联系管理员添加对应权限 输入卡顿或无反应 多按几次回车触发输入检测(已知优化点) 检查是否有未关闭的资源占用(如 Scanner) 注意事项 生产环境需修改默认管理员密码(首次登录后立即更新) 讯飞 Token 具有时效性,需定期在系统配置中更新 屏蔽词列表可根据实际需求扩展,防止违规内容 系统退出时会自动释放数据库连接,避免强制关闭