feat(desktop): 引入 Electron + SolidJS GUI 桌面端,支持多模态 UI 复原、系统托盘与毫秒级 HMR - #1950
Open
yudong22 wants to merge 24 commits into
Open
feat(desktop): 引入 Electron + SolidJS GUI 桌面端,支持多模态 UI 复原、系统托盘与毫秒级 HMR#1950yudong22 wants to merge 24 commits into
yudong22 wants to merge 24 commits into
Conversation
added 24 commits
July 27, 2026 20:35
…pat, tray menu & iconsets - Desktop GUI & Tray: add macOS GUI scaffolding, window title sync, workspace switching, deep links, tray menu (1x/2x trayTemplate icons) with session actions (switch/rename/delete), and native notification focus. - Electron & Node.js Compat: replace Bun.file/Bun.write with Node.js fs APIs, guard Bun.build/Transpiler/version in Electron, and fix gitdir relative path resolution. - Session Title Auto-Generation: enhance title prompt with bilingual rules and zero-tool constraint; recognize New/Untitled Session as default titles to trigger LLM titling. - Icon Assets & Branding: update app name to MiMo-Code, add python iconset generator script, and refresh Concept C icons for macOS, Windows, iOS, and Android. - CI/CD & Build Workflows: add desktop packaging pipeline and release-desktop.yml automation.
…lls & bold filenames)
… access, session dedup
…est UI design mockup
…matching UI mockup
…ages/ui and packages/app
…letions in single horizontal line for edit tool
…tFile, and filePath
…oad delay and API rate limit
- session.tsx (1972→1721): extract createSessionHistoryWindow to history-window.ts - message-timeline.tsx (1042→879): extract utils and staging logic to sub-modules
- Add system menu (About, Check Updates, Edit, Window submenus) - Add system tray icon with left-click show/focus - Add macOS Keychain integration via security CLI - Add macOS Dock badge support - Add tauri-plugin-updater with compatible ElectronAPI - Add menu-command event forwarding to frontend - Use tauri-plugin-store for persistent storage (with localStorage fallback)
…scale tray icon - Update i18n/en.ts: all OpenCode → MiMo-Code - Use local favicon.svg instead of opencode.ai URL - Update id attributes from opencode- to mimo- - Update help/feedback/changelog URLs to mimo-codes.com - Use trayTemplate.png (grayscale) for system tray icon - Add image crate for tray icon PNG decoding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📦 PR Title
feat(desktop): 引入 Electron + SolidJS GUI 桌面端
🧩 做了什么
为项目新增 macOS 桌面 GUI 客户端,解决 TUI 在视觉表达、多模态图片拖拽、系统原生集成方面的不足。采用 Electron + SolidJS 架构,与现有后端通过 IPC + 自定义协议通信,不影响原有 TUI 流程。
⚡ 核心特性
🛠️ 技术架构
packages/desktop:Electron 主进程 + 托盘 + IPCpackages/app:SolidJS 渲染进程 UIpackages/ui:共享组件库,支持 HMR@lydell/node-pty原生集成,打包后仍可正常使用✅ 自测通过
📸 截图
🔗 关联 Issue
Closes #(填写编号)