Skip to content

对话功能介绍

MJ-Studio 的对话功能提供了功能丰富的 AI 对话体验,支持多助手管理、流式输出、Markdown 渲染、多模态输入、对话压缩等特性。

核心功能

多助手系统

  • 助手管理: 创建多个专业助手,每个助手独立管理自己的对话
  • 助手设置: 每个助手可配置名称、描述、头像、System Prompt(系统提示词)和默认模型
  • System Prompt: 定义助手的角色和行为,如"你是一个专业的代码审查助手"
  • 开场白建议: 每个助手自动生成个性化的开场白建议,帮助用户快速开始对话
  • 助手收藏: 点击收藏按钮将常用助手置顶显示,方便快速访问
  • 智能排序: 助手列表自动按最后对话时间排序,最近使用的助手排在前面

助手排序规则

助手列表分为两个区域:

  1. 收藏区: 收藏的助手按收藏时间降序排列(最近收藏的在前)
  2. 普通区: 未收藏的助手按最后活跃时间降序排列(最近对话的在前)

调整收藏顺序: 取消收藏后重新收藏,该助手会移到收藏区最前面

对话管理

  • 新建对话: 点击"+"按钮创建新对话,或点击助手直接进入虚拟对话(发送第一条消息时自动创建)
  • 对话重命名: 在对话列表的下拉菜单中选择"重命名",手动修改对话标题
  • 智能命名: 点击"智能重命名",AI 根据对话内容自动生成标题
  • 对话列表: 每个助手独立管理自己的对话列表,支持删除、分享等操作
  • URL 参数: 支持通过 URL 参数指定助手和对话,刷新页面保持状态

智能命名规则

智能命名会提取对话的前 2 条后 2 条消息(每条最多 200 字)作为上下文,让 AI 生成 10-20 字的简洁标题。

  • 使用当前助手配置的模型进行生成
  • 标题最大长度默认 30 字,超出会截断
  • 可在设置页面自定义生成提示词和最大长度

对话分享

在对话标题下拉菜单中点击"分享"按钮,会在新标签页打开分享页面,页面地址即为分享链接。

分享页面特性

  • 只读展示: 分享页面仅供查看,无法编辑
  • 实时更新: 分享链接指向原始对话,对话内容更新后分享页面同步更新
  • Markdown 渲染: 完整支持 Markdown 格式,代码块语法高亮
  • 思考过程: 显示 AI 的思考过程(折叠块形式)
  • 嵌入式插图: 对话中生成的图片会在分享页面正常显示
  • 移动端友好: 响应式布局,手机上也能良好阅读

导出 PDF

分享页面顶部有"导出 PDF"按钮,点击后调用浏览器打印功能,可保存为 PDF 文件。打印时工具栏自动隐藏。

分享方式

  1. 复制链接: 直接复制分享页面的 URL 发送给他人
  2. 导出 PDF: 保存为本地文件后分享

消息交互

  • 流式输出: 实时显示 AI 回复
  • Markdown 渲染: 消息内容支持 Markdown 格式,代码块支持语法高亮
  • 多模态输入: 支持上传图片作为对话附件,与 AI 进行多模态交互
  • 消息操作: 支持复制、编辑、删除、重放消息
  • 停止生成: AI 生成过程中可随时停止输出
  • 手动添加: 支持手动添加用户消息和 AI 消息,不触发 AI 回复

对话压缩

  • 智能压缩: 当对话历史超过 100KB 时提示压缩,将历史消息压缩为摘要
  • 分界标记: 压缩后的消息作为对话历史的分界线,后续压缩从该消息开始
  • 折叠显示: 压缩消息默认折叠,点击展开查看压缩内容

嵌入式绘图

  • 对话中生图: 在对话消息中嵌入绘图功能,通过 Markdown 代码块触发
  • 参数配置: 支持配置提示词、负面提示词、参考图等绘图参数
  • 状态同步: 绘图任务状态实时更新,支持重新生成、模糊控制等操作

上游和模型管理

  • 快速切换: 对话输入框上方显示当前上游和模型,可快速切换
  • 多 Key 支持: 每个上游支持配置多个 API Key,自动轮询使用
  • 余额查询: 支持查询上游账户余额(需配置用户 Key)
  • 模型分类: 对话模型和绘图模型分别管理,互不干扰

全局事件系统

  • 多端同步: 基于 SSE 的全局事件系统,支持多个浏览器标签页实时同步
  • 事件驱动: 消息创建、更新、删除等操作通过事件推送,自动更新 UI
  • 流式优化: 流式内容通过独立的 SSE 连接传输,优化性能

页面布局

桌面端

┌──────────────────────────────────────────────────────────────────────────┐
│  MJ Studio                                        [绘图] [设置] [用户]     │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│ ┌──────────┐ ┌─────────────────────────────────────┐ ┌───────────────┐ │
│ │ 助手列表 │ │         消息区域                     │ │ 助手信息      │ │
│ ├──────────┤ ├─────────────────────────────────────┤ ├───────────────┤ │
│ │          │ │                                     │ │ [头像]        │ │
│ │ ◉ 默认助手│ │  User: 帮我解释Vue的响应式原理       │ │ 默认助手  [⚙] │ │
│ │          │ │                                     │ │               │ │
│ │ ○ 代码助手│ │  Assistant: Vue的响应式系统基于...  │ │ 智能助理...   │ │
│ │          │ │                                     │ ├───────────────┤ │
│ │ ○ 翻译助手│ │                                     │ │ 对话列表      │ │
│ │          │ │                                     │ │ [+ 新对话]    │ │
│ ├──────────┤ │                                     │ ├───────────────┤ │
│ │[+ 新助手]│ │                                     │ │ ▸ Vue响应式   │ │
│ └──────────┘ │                                     │ │ ▹ API设计     │ │
│              │  ┌─────────────────────────────────┐│ │ ▹ 数据库设计  │ │
│              │  │ [上游▼] [模型▼]   Token: 2.5K   ││ └───────────────┘ │
│              │  ├─────────────────────────────────┤│                   │
│              │  │ 输入消息...            [发送]   ││                   │
│              │  └─────────────────────────────────┘│                   │
│              └─────────────────────────────────────┘                   │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

移动端

移动端采用响应式设计:

  • 助手列表: 折叠为顶部下拉菜单
  • 助手信息: 隐藏,通过按钮展开抽屉
  • 消息区域: 全屏显示,头像自适应隐藏
  • 对话列表: 底部抽屉展示

消息类型说明

对话中会出现以下几种类型的消息:

普通消息

  • 用户消息: 您发送的消息,显示在右侧
  • AI 消息: 助手的回复,显示在左侧,支持 Markdown 格式渲染

特殊消息

消息类型样式说明
错误消息红色边框AI 生成失败时显示错误原因
压缩请求蓝色边框 + 归档图标压缩操作的分界线,前方显示"以上内容已压缩"
压缩摘要琥珀色边框 + 文档图标AI 生成的历史摘要,默认折叠
思考过程折叠块开启思考功能时,AI 的推理过程,默认折叠

AI 消息状态

AI 回复时会经历以下状态:

状态UI 表现
正在创建加载动画(转圈)
等待响应加载动画(转圈)
流式输出中停止按钮
已完成正常显示
已停止正常显示,可能显示"已中断"标记
生成失败错误样式,内容为错误信息

使用技巧

快速开始

  1. 创建助手: 点击"新建助手"按钮,配置名称、System Prompt 和默认模型
  2. 开始对话: 点击助手进入对话界面,查看开场白建议或直接发送消息
  3. 切换模型: 通过输入框上方的下拉菜单快速切换上游和模型
  4. 多模态输入: 点击附件按钮上传图片,与 AI 进行图文对话

高级功能

  • 压缩对话: 对话历史过长时,点击"压缩对话"按钮生成摘要
  • 重放消息: 在消息下拉菜单中选择"重放消息",从该消息重新生成
  • 分叉对话: 在消息下拉菜单中选择"分叉对话",创建新对话分支
  • 嵌入式绘图: 在对话中输入 mj-drawing 代码块,快速生成插图
  • 智能命名: 在对话列表中点击"智能重命名",AI 自动生成标题

性能优化

  • 虚拟对话: 点击助手后立即进入对话,无需等待对话创建
  • 懒加载: 消息列表默认加载最近 10 条,向上滚动时加载更多
  • 事件驱动: UI 更新通过事件推送,避免轮询和频繁请求
  • 流式缓冲: 前端缓冲区平滑渲染流式内容,减少 DOM 操作

下一步计划

短期 (已在规划中)

  • AI 群聊: 多助手、多用户参与同一对话,智能协作
  • 记忆系统: 长期记忆用户偏好和项目背景,跨对话连续性
  • TTS/ASR: 语音输入输出,支持语音通话
  • Thinking 模式: 显示 AI 思考过程,支持折叠渲染

中期 (功能增强)

  • MCP 集成: 支持工具调用,集成搜索、代码执行等功能
  • 多模态视频: 支持视频通话,实时识图对话
  • 助手共享: 支持分享助手配置,导入社区助手

长期 (生态建设)

  • 助手市场: 社区助手分享和订阅
  • 插件系统: 第三方插件扩展助手能力
  • 团队协作: 多用户团队共享助手和对话

MJ-Studio - 多模型 AI 工作台