程序聚合 软件案例 基于deepseekAPI的AI聊天助手

基于deepseekAPI的AI聊天助手

2026-06-26 21:59:32
行业:人工智能
载体:小程序
技术:Java

业务和功能介绍

- **基础聊天界面(GUI)**
- 底部多行输入框:输入问题或聊天内容。
- 聊天消息展示区:按时间顺序显示对话,区分用户消息和 AI 消息。
- 发送按钮:点击后把输入内容发给 AI,并清空输入框。

- **与 DeepSeek 模型的问答能力**
- 使用 HTTP POST 调用 DeepSeek 的聊天接口,将用户输入和历史对话一起打包为 JSON 发送。
- 解析 DeepSeek 返回的 JSON,提取模型回复文本。
- 将 AI 回复渲染为聊天气泡插入到界面中。

- **多轮对话与历史记录**
- 在内存中维护一份对话列表,作为后续请求的上下文。
- 每次对话自动保存为本地 JSON 文件,包含消息角色、内容、时间戳和头像路径。
- 左侧“历史对话”列表可以随时打开旧对话并恢复到聊天窗口。

- **多模式 / 自定义模式**

- 内置多种预设模式(如专业 / 简洁 / 友好 / 分析 / 创意等),适合不同场景。
- 支持完全自定义:
- 自定义人设(System Prompt):决定 AI 的说话风格和角色定位;
- 专属欢迎语:每个模式有自己的欢迎文案;
- 模式持久化:自定义模式保存在本地 properties 文件,下次打开仍然存在。
- **推荐问题按钮**
- 每次 AI 回答后,根据内容自动生成 1~3 个可能的后续提问。
- 以按钮形式展示,点击即可直接继续追问,适合不知道该问什么的时候。

- **停止按钮(中断当前回答)**
- 当 AI 正在生成长回答时,可以点击输入框旁的“停止”按钮终止本次请求。
- 停止后会立即恢复输入状态,并插入一条“回答已被中断”的系统消息。
- **对话管理与清理(在其他图片有体现故没放图)**
- 顶部工具栏的 `➕` 按钮:新建一个空白对话,不影响已有历史记录。
- 顶部 `🗑️` 按钮:清空当前对话,并删除对应的历史对话文件。
- 左侧历史列表每一项右侧有小 `❌` 按钮,可以删除整条历史对话(包含对应 JSON 文件)。
- 聊天区中,每条消息右键菜单提供“删除该消息”,只移除当前气泡,不影响其他消息。

- **现代化界面与 Markdown 渲染**

- 气泡式聊天布局,左右对齐区分用户和 AI。

- 支持 Markdown:代码块、列表、加粗等都能正常显示,更适合技术类答案。

- 支持深色/浅色主题、字体大小调整,让阅读更舒适。

项目实现

一次请求是如何流转的?

1. 用户在输入框中输入问题,点击“发送”。
2. `ModernChatGUI.sendMessage()`:
- 创建一条 `ChatMessage(role="user")`;
- 加到内存中的 `conversationHistory` 列表;
- 在界面上渲染一条“用户消息气泡”。
3. 创建并启动一个 `SwingWorker`(`currentWorker`):
- 在后台线程中调用 `DeepSeekAPI.sendChatRequest(conversationHistory)`;
- 把整段对话上下文一起发给 DeepSeek,获得新的回复文本。
4. `done()` 回到 UI 线程:
- 创建一条 `ChatMessage(role="assistant")`,保存当前模式的头像路径;
- 渲染 AI 消息气泡;
- 调用 `autoSaveConversation()` 写入 JSON 文件;
- 调用 `addSuggestedQuestions(response)` 生成推荐问题按钮。
5. 用户可以继续提问,形成一个完整的多轮对话闭环。

### 5.3 项目架构概览

可以简单理解为三层:

- **UI 层(界面与交互)**:
- `ModernChatGUI`:主窗口,负责布局、按钮事件、键盘事件。
- `MessageBubbleSimple` / `AIMessageBubble`:消息气泡的绘制与排版。
- `MarkdownRenderer`:把 AI 文本渲染成带格式的 HTML/组件。

- **业务层(状态与会话逻辑)**:
- `AIModeManager`:当前模式、所有可选模式、自定义模式的保存与加载。
- `ConversationHistory`:在内存中维护 `List`,并负责与 JSON 文件互相转换。
- `ChatMessage`:一条消息的领域对象(角色、内容、时间戳、头像路径)。

- **基础设施层(API 与存储实现)**:
- `DeepSeekAPI`:负责 HTTP 调用和 JSON 解析,是与外部服务交互的唯一入口。
- `org.json` 等第三方库:支撑 JSON 的读写。

示例图片视频


30天前活跃
方向: 人工智能-计算机视觉与图像处理、人工智能-机器学习与深度学习、
交付率:100.00%
相似推荐
InsGame
一款面向海外的小游戏平台,玩法类似于抖音小游戏,区别在于此app更专注于游戏的用户体验感,独创游戏沉浸模式,和AI生成游戏,用户可以同时也可作为作者在平台创作发布游戏。核心业务包括 刷视频推荐游戏(流量推荐算法)、games游戏中心、用户发布与创作、AI生成游戏、游戏任务中心等
自动化脚本
脚本核心实现自动化测试:游戏自动登录、定点挂机、装备替换、道具兑换、账号资源流转等全流程自动化 1、全自动登录进游戏功能 2、新手账号定点挂机初始化功能 3、场景判断及挂机自动重启功能 4、挂机自动换装功能 5、装备道具批量兑换功能 6、打工号与主号资源流转功能 7、多账号面对面交易功能
简单冒险(微信小游戏,独立开发)
背景: 市面上的角色扮演游戏以“付费变强”或者“看广告变强”为核心卖点,用户缺少通过装备、技能、天赋等搭配构筑一个独特的职业玩法。针对以上场景,本项目提供一种操作简单、有一定策略性的休闲角色扮演游戏玩法,让玩家轻松变强,体验暗黑like游戏独有的构筑魅力。 功能: 1、角色模块:包含基础属性、战斗属性、探索属性等,分别加强角色对应方向的能力。 2、装备模块:包含大量随机词缀,选择合适角色的装备可以有效提升战斗力。 3、技能模块:不同技能拥有不同的属性加成,合理搭配是战斗取胜的关键。 4、战斗模块:基于时间的自由战斗系统。普通攻击自动施放,主动技能手动释放。
家族人生小游戏
1、立项背景和目标 随着数字化生活的普及,模拟人生类游戏逐渐成为休闲娱乐的重要品类。本项目"家业长歌"以家族生命周期为核心,融合教育、职业、婚姻、生育、财富积累等真实人生要素,旨在打造一款零依赖、易部署、可在浏览器中直接运行的轻量级家族人生模拟体验工具。通过后端自动运算与玩家关键抉择相结合,让每位用户体验从出生到传承家族的完整人生故事。 2、软件功能、核心功能模块的介绍 本软件包含五大核心功能模块: - 故事模块 :展示年度人生事件、现金流与成长日志,是玩家与人生交互的主界面; - 家族模块 :以可视化图谱呈现家族成员关系,支持画布缩放、拖拽调整,直观展示血脉传承; - 足迹模块 :汇总人生统计数据,展示成就徽章与一生总结; - 商店模块 :按生活、职业、角色、装扮四大分类,基于人生经历逐步解锁内容; - 奇遇模块 :以命运图谱形式呈现人生奇遇树,满足前置条件后由玩家主动选择,影响家族走向。 此外还包含人物属性面板(智力、情商、体魄、创造、魅力、机敏六大属性)、教育路径系统(涵盖学前至博士共十个学历层级及对应专业)、职业系统(60+职业,含学历、证书、专业、属性多重准入条件)、健康疾病系统、犯罪司法系统、资产投资系统等子模块。 3、业务流程、功能路径描述 启动游戏后,玩家首先选择性别,随后角色以0岁出生。游戏以"年"为时间单位自动推进:每年系统自动计算健康、心情、收支、事件等变化,玩家在关键人生节点(升学、就业、结婚、生育、奇遇、犯罪等)做出抉择。教育路径需依次满足学历要求、支付学费、匹配属性与专业;职业变更需满足学历、证书、专业及属性条件;家族通过生育、配偶加入实现代际传承,每代继承上一代的潜能、经济与解锁进度;奇遇树按条件逐级解锁,玩家选择后永久影响家族属性。最终家族的成就、足迹与财富通过存档系统持久化保存,支持跨会话延续人生。
基于真实物理状态机的 3D 卡牌肉鸽-法则擂台(物理大陆)
《法则擂台》(物理大陆)是一款以真实物理量为核心战斗资源的 3D 卡牌肉鸽:玩家在圆形擂台上通过出牌改变稳定值、角度、摩擦、质量、热量、电荷等状态,用「推出擂台/击破稳定」决胜负。产品含强制教程、章节精英与 Boss、关后构筑(三选一/跳过)、跨局成长存档、多级教学与本局物理图谱,以及文本+3D 虚线落点的出牌预测系统。Web 3D 原型已上线试玩,Unity 客户端与遗物/协议数据管线并行推进,面向 Steam/Web 发行。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服