——功能、技术、源码一次讲透
在 Notion、语雀、飞书等多云笔记百花齐放的今天,为什么还要造一个「纯本地」的备忘录?
答案只有一句:数据所有权应该握在自己手里。
今天给大家分享的这款开源项目 Electron Memo,正是为「离线优先、隐私优先」场景而生。它用当下最潮的技术栈(Electron 37 + Vue3.5 + TS5 + Vite7)搭了一套跨平台桌面笔记,3 分钟 clone 下来就能用,颜值、体验、扩展性全部在线。下面直接上干货。
一、产品速览:5 个高频痛点一次解决
表格
| 痛点 | Electron Memo 解法 |
|---|---|
| 云笔记同步慢/收费 | 纯本地 IndexedDB,毫秒级读写,0 流量 0 费用 |
| 隐私担忧 | 数据落盘即加密,无联网请求,想删就删 |
| 富文本体验差 | 集成 WangEditor 5,图片拖拽、代码块、公式一键插入 |
| 多级分类混乱 | 左侧树形目录,无限层级随便嵌 |
| 日记/灵感/代码片段混杂 | 内置「日记模式」「收藏模式」,一键过滤 |
二、技术拆解:为什么选这套栈?
表格
| 层级 | 选型 | 亮点 |
|---|---|---|
| 跨端壳 | Electron 37.1.0 | 统一 Windows / macOS / Linux,一次编码多端运行 |
| 渲染层 | Vue 3.5 + TS 5.8 | Composition API + 类型体操,代码提示爽到飞起 |
| 构建 | Vite 7 + esbuild | 冷启动 < 800 ms,热更新 ≈ 20 ms |
| 状态 | Pinia 3 | 模块化 store,完美配合 Composition API |
| UI | Ant Design Vue 4.2 | 组件全、主题 Token 化,暗色模式一行配置 |
| 存储 | IndexedDB | 浏览器原生 NoSQL,支持二进制大文件 |
| 服务端 | Express 5(本地) | 预留 HTTP 拓展口,后期可接 WebDAV 同步 |
整个架构图如下:
┌──────────────┐ ┌──────────────┐
│ Main │◄────────►│ Renderer │
│ (Electron) │ IPC │ (Vue3) │
└──────┬───────┘ └──────┬───────┘
│ │
│ native APIs │ IndexedDB
▼ ▼
┌──────────────┐ ┌──────────────┐
│ File System │ │ WangEditor │
└──────────────┘ └──────────────┘
三、30 秒本地跑起来
bash
# 1. 克隆
git clone https://gitee.com/suzhidong/electron-memo.git
cd electron-memo
# 2. 装依赖
npm i
# 3. 开发模式
npm run dev # 同时启动 Vite + Electron
# 4. 打包
npm run build && npx electron-builder
打包产物在 dist/ 目录,双击即可安装,体积 ≈ 70 MB(含运行时)。
四、可玩性极高的扩展点
- 插件市场
主进程暴露了ipcMain.handle('memo:xxx')统一通道,只需在/src/main/plugins新建文件即可注入新能力,例如 OCR 识别、图床上传、Git 备份等。 - 主题皮肤
基于 Ant Design Vue 的theme.token,在/src/renderer/theme里写 JSON 即可热切换。 - 同步策略
IndexedDB → 导出 JSON → 加密 → WebDAV / Gist / 私有 S3,社区已有人提 PR#12,欢迎一起 review。
五、一键直达
源码:👉 gitee.com/suzhidong/e…
文档:README 即文档
六、安装包下载地址
windows: aksu.suzhidong.cn/Memory%20Se… mac: aksu.suzhidong.cn/Memory-0.0.…
如果你也厌倦了「云」的束缚,想要一个完全属于自己的第二大脑,不妨给 Electron Memo 点个 Star,让它在本地安静地陪你记录每一个灵感闪现的瞬间。