Commit Graph

25 Commits

Author SHA1 Message Date
史悦
71cfa133a6 mermaid 改为流式 2025-10-28 09:53:37 +08:00
史悦
7bcfadde59 - 在 js/core/app-shell.js:1275 引入 window.mermaid.parse(code) 语法校验,若捕获异常则抛出带有“Mermaid
语法错误”描述的错误,阻断后续渲染流程并避免生成无效图表。
  - 在 js/core/app-shell.js:1244 的渲染异常分支中统一处理错误信息,既在查看区域展示,又在输入框末尾追加
    (避免重复追加),并自动调整输入框高度,方便用户基于错误提示修改 Mermaid 代码。
2025-10-28 09:19:07 +08:00
史悦
298e421f7d 修改样式和提示词 2025-10-28 09:14:19 +08:00
史悦
dd930805e0 修改了提示词 2025-10-27 17:59:17 +08:00
史悦
c03be8d65a 增加了几个快捷按钮 2025-10-27 17:14:49 +08:00
史悦
e7b1351384 修改删除按钮的样式 2025-10-27 16:53:20 +08:00
史悦
a210a6f92d 删除无用库 2025-10-27 16:47:22 +08:00
史悦
6d453b2519 修改样式 2025-10-27 16:20:46 +08:00
史悦
86b83dd39a 下载图片 2025-10-27 16:13:26 +08:00
史悦
ae46cedd37 1. 在浏览器中切换至 Mermaid 模块生成示例图,确认 SVG 容器占满可用空间且居中显示。
2. 若存在缓存,建议强制刷新(Ctrl+F5)以确保最新样式生效。
2025-10-27 15:10:06 +08:00
史悦
f7fd53c9a2 放大缩小 2025-10-27 15:05:35 +08:00
史悦
4dde0e31b1 放大缩小 2025-10-27 13:50:34 +08:00
史悦
01e1083e5e 资源改为本地引用 2025-10-27 12:25:23 +08:00
史悦
f37357096e • - 在 renderConversationHistory 末尾与 renderArtifact 内部新增 highlightActivePlaceholder(),每次渲染或
切换图形后都会重新标记当前选中的占位卡片。
  - 新方法会清除所有 .svg-placeholder-block 上的 svg-placeholder-active,再根据 ModuleRuntime 记录的
    currentArtifactId 为对应占位卡片添加该类(js/core/app-shell.js:321, 673, 729)。
  - 这样无论是点击左侧占位切换、完成流式渲染或模块切换,右侧当前图形都会同步点亮对应占位符,恢复过往的高
    亮效果。
2025-10-27 11:27:52 +08:00
史悦
533375e8ca 调整了整个框架,模块化解耦 2025-10-27 11:04:00 +08:00
史悦
c83c36baa6 - 在 js/app.js:728-766 新增 buildDeleteButtonHtml,并在 js/app.js:1000-1034 将浮动删除按钮植入用户、AI
与错误消息气泡,同时阻断事件冒泡以免干扰 SVG 点击;带 SVG 的消息亦在 js/app.js:1042-1054 注入同样的
    删除入口。
  - 通过 js/app.js:870-924 的 confirmDeleteMessage 与 deleteMessagePermanently,删除前弹出不可恢复提示,
    确认后同步清理当前模式的对话历史、关联 SVG 缓存以及本地存储,必要时自动回退至占位视图。
  - 在 css/style.css:235-266 定义 message-with-delete 与 message-delete-btn,实现右上角高亮悬浮按钮及
    hover 反馈,保证在深浅背景下均可清晰识别。
2025-10-27 09:51:28 +08:00
史悦
4b14bb26dd - 在 index.html:47-51 给 main 和左侧面板增加 min-h-0,允许网格子项在父级 flex 容器中释放高度,确保
#chat-history 的 overflow-y-auto 生效;右侧展示区同样设置 min-h-0,防止 SVG 区域被异常拉伸。
  - 调整后,长对话会保持面板固定高度,滚动条承载多余内容,不再把整个页面撑出视窗。
2025-10-27 09:42:16 +08:00
史悦
b0c487a4ef 6. 增加一个svg放大缩小功能;
7. 目前的svg下载,下载图片,显示代码实现有问题,好像没找到svg;再增加一个复制图片到剪切板功能;
8. 点重新生成按钮,应该再添加一个气泡啊,而且流式响应,现在点击重新生成,就时等待,没有实时显示;
9. 点击查看画布,没有区分现在显示的是哪个气泡或占位符,需要标记区分下;
2025-10-24 20:31:49 +08:00
史悦
cbf59e3450 - js/app.js:165-260, 310-420, 560-893:重构模式切换与流式渲染逻辑;引入 renderSvgViewerForMode 分离各
模式历史与SVG;通过 buildActionToolbar 和 renderConversationHistory 仅为最新 AI 气泡保留“重新生成”;
    新增 setSendButtonState、startStreamingMessage、cancelActiveStream 实现终止按钮与流式中断,回滚后同
    步复位查看面板。
  - js/utils.js:24-334:增强 parseSVGResponse 容错截断SVG/反引号;StreamProcessor 增加完成态管理;
    createStreamRequest 返回 {cancel, finished} 并支持 AbortController,保证中止时回调依然收尾。
  - js/apiclient.js:150-208:流式接口返回新的句柄对象而非简单等待,使前端可触发中止,同时保持异常转换。
  - css/style.css:220-224:去除悬浮显隐,操作按钮常显,并保留色彩过渡以提示交互。
  - js/app.js:900-970:regenerateMessage 改用“处理中”状态并重绘气泡(按最新可见状态),避免历史重复
    生成。
2025-10-24 19:56:40 +08:00
史悦
06e1d5ca19 修改了提示词 2025-10-24 19:18:03 +08:00
史悦
64e93d25b8 - 在 js/utils.js:24-79 强化 parseSVGResponse,兼容缺失结尾反引号和截断的 SVG,自动补齐 </svg> 并去除残
留的 ```,确保后续渲染能稳定提取图形。
2025-10-24 19:03:40 +08:00
史悦
bacafd66dc 修复气泡 2025-10-24 18:52:18 +08:00
史悦
6fe5f4175d 修复了SVG实时绘制问题:
使用更精确的正则表达式检测SVG代码块开始
正确处理Markdown格式的SVG代码块(svg或<svg)
实时更新SVG显示区域,自动补全结束标签确保正确显示
添加了完整的Markdown支持:

集成了marked.js库用于解析Markdown内容
配置了支持GitHub风格的Markdown选项
在所有消息渲染函数中添加了Markdown解析逻辑
添加了专门的Markdown样式:

为标题、段落、列表、代码块、引用等添加了样式
确保Markdown内容在对话气泡中正确显示
保持了原有的设计风格和颜色方案
优化了流式输出体验:

SVG绘制过程中显示加载动画和"正在绘制..."提示
绘制完成后自动切换为可点击的占位符
支持SVG前后的Markdown文本内容正确渲染
2025-10-24 18:20:43 +08:00
史悦
9032b634e6 对话框调试 2025-10-24 18:12:29 +08:00
史悦
18f1aba08e first commit 2025-10-24 17:44:25 +08:00