Commit Graph
70 Commits
Author SHA1 Message Date
thzxx f34ee258e8 style: TokenUsage + AgentMonitor 所有数值加粗 fontWeight:600 2026-06-27 23:07:11 +08:00
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 203552920a chore: Sidebar 搜索框高度 34px 2026-06-27 22:47:43 +08:00
thzxx 354d13105f refactor: Sidebar 搜索框从手写 InputBase+Stack 改为 MUI TextField 2026-06-27 22:46:19 +08:00
thzxx 2cf6422169 chore: 底部栏加高至36px,字体+图标加大 2026-06-27 22:44:32 +08:00
thzxx 68ec4bb7bb chore: 底部栏高度 28→32px,常量同步更新 2026-06-27 22:43:03 +08:00
thzxx 239bd8703b refactor: 移除顶部栏,设置按钮移至底部栏右侧,StatusBar 全面改 MUI Table
- StatusBar: 全 MUI Table 布局,左侧状态/Provider/Token,右侧版本+设置
- Header: 已删除(功能合并到 StatusBar)
- App.tsx: 移除 Header 引用
2026-06-27 22:41:59 +08:00
thzxx a5ef816763 refactor: AgentMonitor 改用 MUI Table 布局标签-值对 2026-06-27 22:39:59 +08:00
thzxx 8dd593e747 refactor: TokenUsage 底部汇总改用 MUI Table,标题与值自然分离 2026-06-27 22:38:53 +08:00
thzxx a45b4c321b refactor: 详情面板布局优化 — 固定高度 + 空值占位
- DetailPanel: TraceViewer flex:1 撑满, TokenUsage/AgentMonitor flexShrink:0 固定
- TraceViewer: 空内容时「等待 Agent 活动」居中撑满剩余空间
- TokenUsage: 始终展示完整结构(无会话时显示 -/0 而非隐藏)
- AgentMonitor: 固定 flexShrink:0 防止被挤压
2026-06-27 22:36:21 +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 a6397f07db refactor: 总超时从滑块改为数字输入框(120-3600秒),移除未用的Slider导入 2026-06-27 22:12:36 +08:00
thzxx c5ae4c9efa refactor: 最大迭代次数从滑块改为固定值下拉选择 (10/20/50/85/128/256/512) 2026-06-27 22:10:42 +08:00
thzxx 8f687f77a6 fix: 右侧面板布局和间距修复
- TraceViewer: 移除底部重复的 Token/Provider 摘要(与TokenUsage重复)
- TraceViewer: height:100% → flexShrink+maxHeight 避免撑破布局
- TokenUsage: StatCard/SummaryRow 增加内边距和间距
2026-06-27 22:05:52 +08:00
thzxx e4c0259afc feat: Agnes上下文512K→1M + Ollama支持配置num_ctx
Agnes AI:
- adapter注释和API文档更新: 上下文512K→1M (官方已升级)

Ollama num_ctx 支持:
- MetonaGenerationParams 新增 contextLength 字段
- OllamaAdapter.toNativeRequest 发送 options.num_ctx
- AgentLoopEngine 从 config 读取并传递到请求参数
- database.service 新增 ollama.numCtx 默认配置(null=由模型决定)
- SettingsModal LLM设置: Ollama 选中时显示上下文长度输入框
- main.ts 启动时从 configService 读取 ollama.numCtx

数据流:
Settings → configService → main.ts → AgentLoopEngine.config
→ MetonaRequest.params → OllamaAdapter → options.num_ctx
2026-06-27 21:57:05 +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