thzxx
|
2de89ad631
|
fix: 代码块 [object Object] — rehype-highlight 替换 span 后 String() 失败
根因: rehype-highlight 将代码文本替换为 <span class='hljs-*'> 元素后,
children 变成 React 元素数组, String(children) → '[object Object]'
修复: extractTextContent 递归提取纯文本,绕过语法高亮 span
|
2026-06-27 23:00:16 +08:00 |
|
thzxx
|
22f7ec39c5
|
fix: 代码块文字不可见 — 导入 highlight.js atom-one-dark 主题
|
2026-06-27 22:54:39 +08:00 |
|
thzxx
|
e7c564112c
|
chore: 消息输入框加高加大 (minH 36, fontSize 14)
|
2026-06-27 22:48:47 +08:00 |
|
thzxx
|
8a385b8e1a
|
refactor: AI 回复卡片渲染 UX 优化
问题:
- 思考过程默认折叠,流式时看不到实时思考
- StreamingIndicator 独立展示,与卡片内容脱节
- 思考和回复在同一卡片无阶段分隔
- 加载态只有光秃秃闪烁块
- 流式中的卡片和无流式的卡片看不出区别
优化:
- 思考过程: 流式时自动展开(defaultExpanded),完成后可手动折叠
- 三阶段标签: 💭思考 / 🔧工具 / ✏️回复,带颜色和脉冲动画
- 流式无内容时显示「正在思考.../正在生成回复...」带打字光标
- 有内容时末尾添加闪烁光标指示持续输出中
- 卡片流式时边框高亮(borderColor + boxShadow)
- StreamingIndicator 仅在没有可见内容时显示「正在连接 AI...」
|
2026-06-27 22:33:51 +08:00 |
|
thzxx
|
4924e2d339
|
fix: 图片上传增加压缩(1024px/JPEG 0.7),对齐 AgnesAIDesktop 方案
问题: 上传图片后 AI 无法识别,回复没有图像分析工具
根因: 原图 base64 直接发送(5-10MB),Agnes AI 可能因体积过大拒绝处理
对比 AgnesAIDesktop(可正常工作):
- 上传后用 canvas 压缩: max 1024px, JPEG quality 0.7
- 小图(<500KB且尺寸未超标)保留原图
修复:
- ChatInput 新增 compressImage 函数(来自 AgnesAIDesktop 验证方案)
- processFile 中图片读取后立即压缩再存 preview
|
2026-06-27 22:27:56 +08:00 |
|
thzxx
|
8b3dc4298d
|
feat: DeepSeek 选择时禁止上传图片附件
DeepSeek 不支持多模态,前端层面阻止用户选择图片文件:
- ChatInput 根据 provider 动态控制 accept 属性(DeepSeek不包含image/*)
- addFiles 中过滤图片文件(DeepSeek自动跳过)
- Paperclip 按钮 Tooltip 区分提示
- provider 切换后即时生效(通过 useAgentStore 响应式读取)
|
2026-06-27 21:50:31 +08:00 |
|
thzxx
|
1d185db6b3
|
feat: MetonaAI Desktop 初始项目
- Electron + React + TypeScript 架构
- 三栏布局: Sidebar | ChatPanel | DetailPanel
- 9 个内置工具 (文件系统/网络/记忆/命令)
- SQLite 持久化 (better-sqlite3)
- MUI 暗色/亮色主题系统
- Agent Loop ReAct 状态机引擎
- DeepSeek / Agnes AI / Ollama Provider 适配器
- MCP 协议集成
- 系统托盘 + 全局快捷键
- Tailwind CSS v4 + Tailwind Merge
- 修复: Sidebar 缺失 TextField 导入导致黑屏
|
2026-06-27 21:33:27 +08:00 |
|