EAC-Desktop如何把壳层从Electron迁移到Tauri?安装包241MB瘦身到155MB的全复盘

发布时间:2026/10/11 5:06:55
EAC-Desktop如何把壳层从Electron迁移到Tauri?安装包241MB瘦身到155MB的全复盘 EAC-Desktop如何把壳层从Electron迁移到Tauri安装包241MB瘦身到155MB的全复盘【免费下载链接】EAC-DesktopEmbracing All Creation (Desktop) — Dedicated to the Harmonious Coexistence of Hundreds of DSH Plugins / 揽尽万象桌面版 —— 致力于让数百个DSH插件和谐共存项目地址: https://gitcode.com/gh_mirrors/de/EAC-DesktopEAC-DesktopEmbracing All Creation揽尽万象桌面版是 DeepSeek Harness 内核的桌面客户端主打让数百个 DSH 插件和谐共存。这次壳层大迁移项目把桌面壳从 Electron 整体切换为 TauriRust安装包体积从约 241MB 瘦身到约 155MB而内核与全部插件零改动。本文按时间线复盘为什么要换、怎么分层、走了哪六步、体积省在哪里、以及如何用回归矩阵验证。为什么换壳Electron 的痛点先说结论不是 Electron 不好而是它的包体税太贵。体积Electron 必须自带一套 Chromium 和 Node 运行时仅壳本身就把安装包顶到 ~241MB而真正的业务dsh 内核 插件树之外Chromium 占了大头。代码结构旧版main.js高达 5268 行但调研发现其中约 60% 是与 Electron 零耦合的纯 Node 业务逻辑profile 园艺、进程编排、插件治理、更新器只有约 35% 是真正的桌面集成窗口/托盘/IPC/通知。换句话说值得重写的部分其实很小重写前先把业务逻辑剥干净才是正道。跨平台野心Tauri 在 Linux/macOS 上复用系统 WebView天然更轻为后续多平台铺路见文末 T6 决策门。这条判断的正式记录是架构决策文档 docs/adr/0002-shell-boundary-and-layering.md它定下了整个迁移的宪法。三层架构迁移不翻车的先决条件ADR 0002 把项目切成三层壳是可替换的业务是不可动的┌─ L1 桌面集成层可替换Electron ↔ Tauri │ 窗口 / 托盘 / 通知 / 对话框 / 剪贴板 / 单实例锁 / IPC ├─ L2 业务服务层壳无关未来 Node sidecar │ 进程编排 / profile 园艺 / 插件治理 / 更新器 / 救援 └─ L3 内核绝对不动区 deepseek-ai/dsh 内核 Cordis 插件树 Web UI迁移前的第一步T1不是写 Rust而是纯移动把main.js里 9 个业务模块原样搬到lib/desktop/*行为零变更main.js从 5268 行降到 3000 行以内测试基线 608 例全程全绿。这些模块后来全部长成 Node sidecar 的心脏如今代码就在 dsh-desktop/lib/desktop/ 目录里。这一步的价值Tauri 接手后L2 业务一行不用改Rust 只重写 L1 胶水。六步路线图T0–T6 全记录完整施工图在 docs/archive/HANDOVER-2026-08-22-pre-tauri.md六步如下阶段内容关键点T0壳层边界 ADR 三层架构声明立宪法定永不触碰清单T1main.js纯移动拆分成lib/desktop/*行为零变更Electron 仍是宿主T2Tauri Rust 工程 PoCcargo build一次通过stdio JSON-RPC 桥 3/3T3前端桥迁移window.dshDesktop桥逐字节保真契约测试锁键集T4打包链NSIS 便携版stage-resources.mjs装配运行树T5回归矩阵18 项 GUI 冒烟 全量单测T6Linux 决策门WebKitGTK 兼容性验证决定多平台策略T2 的 PoC 工程就是今天的 tauri-shell/ 目录Rust 壳tauri-shell/src/main.rs负责窗口/托盘/浮窗隔离/退出策略Node sidecartauri-shell/sidecar/server.ts挂载全部 14 个 L2 模块并通过127.0.0.1回环 WS 桥与前端通信细节可见 docs/archive/HANDOVER-2026-08-23-R5.md。241MB → 155MB体积省在哪瘦身不是删功能而是结构性的不再捆绑 ChromiumTauri 用系统 WebView2Windows/ WebKitGTKLinux渲染页面安装包不再携带数百 MB 的浏览器内核这是 86MB 差距的主力来源。安装包压缩升级NSIS 配置改用 bzip2 压缩tauri-shell/tauri.conf.json 中compression: bzip2对高重复率的 JS/资源树压缩率显著优于默认算法。清理退役残留迁移窗口期顺便审计 40 个插件的依赖面删除退役插件残留目录再省 11MB记录于 docs/archive/HANDOVER-2026-08-23-R7.md。资源布局修正Tauri v2 的bundle.resourcesmap 语义踩坑sidecar 三件套一度没进包核对安装树后修复最终 NSIS 产出 155MB 的 Setupdocs/archive/HANDOVER-2026-08-23-R5.md5.1.0 进一步压到 152MB。官方口径的对照记录见 dsh-desktop/CHANGELOG.md 的 5.0.0 条目安装包从 ~241MB 降至 ~155MB。验证体系怎么证明换壳没换功能换壳最大的风险是静默破坏老用户的使用习惯。项目用了四道闸门单测基线npm test从 608 例涨到 613 例每步硬门槛全绿GUI 冒烟 18 项gui-smoke.js真实 UI、桥方法、玻璃栏、托盘、浮窗隔离、退出策略、零孤儿进程逐项 CDP 自动化断言自更新冒烟 10 项update-smoke.js客户端整树交换 agent 更新全链路P5 回归矩阵皮肤/浮窗/终端/图片粘贴/救援/便携版/中文路径的端到端实测全绿落盘 docs/archive/P5-regression-matrix.md。还有一个用户侧的关键设计安装器自动接管旧 Electron 版——静默卸载旧壳后接管安装老用户无感升级。同时 Electron 链路标注 FROZEN 完整保留为可回退救生索5.1.2 之后才正式退场见 docs/HANDOVER.md 关键事实第 1 条。后续多平台与持续演进Tauri 换壳的直接红利是多平台成本骤降Linux 支持见 docs/superpowers/specs/2026-08-25-linux-desktop-support-spec.md、macOS 冒烟docs/macos-smoke-report.md、RPM 打包docs/HANDOVER-2026-09-25-rpm-package.md都在 5.x 版本陆续落地最终形成了 Windows/Linux 四平台 CI 安装包矩阵。复盘要点先分层再换壳——把可替换层和不可动层用 ADR 钉死迁移成本才能收敛纯移动纪律——行为零变更的代码搬家用测试基线全程护航Rust 只重写真正的桌面集成层体积是架构收益不是压缩技巧——86MB 的差距来自不再携带浏览器而非删减功能留好救生索——旧壳冻结保留 自动接管升级让激进重构对最终用户零风险。对想借鉴这套经验的团队三层边界文档 docs/adr/0002-shell-boundary-and-layering.md 与完整交接记录 docs/HANDOVER.md 是最好的起点。【免费下载链接】EAC-DesktopEmbracing All Creation (Desktop) — Dedicated to the Harmonious Coexistence of Hundreds of DSH Plugins / 揽尽万象桌面版 —— 致力于让数百个DSH插件和谐共存项目地址: https://gitcode.com/gh_mirrors/de/EAC-Desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询