• thzxx released this 2026-07-21 21:06:06 +08:00 | 0 commits to master since this release

    版本概要

    本次发布聚焦于多模态能力扩展、工作空间数据完整性保障、首次使用体验优化,并修复了 16 个历史遗留的 TypeScript 编译错误。

    新功能

    1. MiMo 适配器支持图片输入(多模态)

    问题:MiMo Provider 上传图片后,模型回复"没有收到图片"。

    根因:MiMo 适配器直接调用共享函数 buildOpenAICompatibleMessages,该函数不处理 images 字段,导致图片被静默丢弃。

    修复:在 mimo.adapter.tstoNativeRequest 中加入图片转换逻辑,将 MetonaMessage.images[] 转为 OpenAI 兼容的 content parts 数组格式 [{type:"text",text}, {type:"image_url",image_url:{url}}],与 Agnes AI 适配器实现一致。

    MiMo API 文档明确声明"OpenAI 兼容",因此采用 OpenAI 标准多模态格式。

    2. 工作空间切换支持继承数据库

    问题:切换到新工作空间时,所有历史会话、消息、记忆、Trace 记录全部丢失,因为数据库 agent.db 存储在工作空间目录内(.metona/agent.db),新工作空间会创建空数据库。

    修复

    • 设置页"切换工作空间"对话框新增"数据库 agent.db 继承"复选框(默认勾选)
    • 仅在目标为全新空工作空间时显示此选项(避免覆盖已有工作空间数据)
    • 后端 workspace:inheritFiles IPC handler 使用 better-sqlite3 的 backup() API 原子性导出数据库快照
    • 自动 checkpoint WAL 日志,确保未提交事务不丢失
    • backup 失败时降级为 copyFileSync,保证基本可用
    • 白名单映射防止路径遍历攻击

    3. 引导弹窗 LLM 配置新增上下文长度字段

    问题:首次安装应用后的引导弹框中,LLM 配置缺少上下文长度配置项,但 SettingsModal 中有此字段。用户首次配置后需要再次进入设置修改。

    修复

    • OnboardingWizard.tsx 新增"上下文长度"输入框
    • Provider 切换时自动填充默认值:DeepSeek/Agnes = 1000000、MiMo = 131072、Ollama = null
    • 最小值校验:Ollama = 512、其他 Provider = 4096(与 SettingsModal 一致)
    • 落库 key 与 Provider 对应:Ollama → ollama.numCtx,其他 → {provider}.contextWindow

    Bug 修复

    TypeScript 编译错误(16 个 → 0 个)

    1. agent-store.tsAgentState 接口缺少 setConfigLoaded 方法声明(4 个错误)
    2. global.d.ts:10 个 IPC 方法返回类型缺少 error?: string 字段
      • sessions.rename / sessions.delete / sessions.pin / sessions.archive
      • mcp.addServer / mcp.removeServer / mcp.toggleServer
      • config.set / config.setBatch
      • tools.toggle
    3. SettingsModal.tsx:MUI TextField 的 readOnly 属性需通过 slotProps.input.readOnly 传入(MUI v6 变更)

    重构与清理

    移除死代码 traces 目录

    分析:全项目 grep 确认 traces/ 目录从未被任何代码写入或读取。Trace 数据实际存储在数据库 sessions.metadata 字段(JSON 格式)。traces/ 目录是早期设计的遗留物。

    改动

    • workspace.service.tsAUTO_CREATED_DIRS 移除 'traces'
    • handlers.tsworkspace:getInfoAUTO_DIRS 移除 'traces'
    • WorkspaceViewer.tsx:注释更新,顺手修复过时注释(v0.3.14 已移除 AGENTS.md 和 USERS.md,"4 个核心文件" → "2 个核心文件")

    影响

    • 新工作空间不再创建空的 traces/ 目录
    • 已有工作空间的 traces/ 目录保留不动(不删除用户文件)

    文档更新

    MiMo API 文档补充多模态章节

    apis/mimo-api-docs-20260715.html 新增:

    • 目录导航新增"🖼️ 多模态输入"锚点
    • 独立 section #multimodal:content parts 字段表、支持格式说明、多模态消息 JSON 示例、限制警告
    • 代码示例区新增三个 Tab:curl / Python OpenAI SDK URL 方式 / Python 本地图片 base64 方式

    升级须知

    • MiMo 用户:重启应用后即可上传图片,无需额外配置
    • 工作空间切换:切换到新工作空间时默认勾选继承数据库,如不需继承可手动取消
    • TypeScript:本次修复了 16 个历史编译错误,建议开发者运行 tsc --noEmit 确认零错误

    技术统计

    • 提交:516d8a7
    • 文件变更:12 个文件,+317 行,-32 行
    • 影响模块:electron/harness/adapters、electron/ipc、electron/services、src/components、src/stores、src/types、apis
    Downloads