# PineNote **Repository Path**: taote/PineNote ## Basic Information - **Project Name**: PineNote - **Description**: 免费开源的本地笔记本软件。该笔记本是一个启动快、内存占用低、结构稳定、适合长期本地使用的桌面笔记本软件。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PineNote PineNote 是一个面向 Windows 10 / Windows 11 的本地笔记桌面应用,当前技术栈为: `Rust + Tauri v2 + TypeScript + SQLite + Markdown + Rich Text` 项目目标不是做一个“大而全”的知识库平台,而是做一个启动快、结构稳、适合长期本地使用的知识工作台。 ## 当前版本 当前仓库版本:`0.3.0` 当前状态:`0.3.0` 已达到可发布状态,可作为当前稳定版本对外发布。 ### 0.2.0 已完成更新 - 全新的三栏桌面布局,界面方向调整为更接近 Windows 桌面软件的工作区体验 - 顶部改为自定义标题栏,支持窗口拖拽、最小化、最大化、关闭 - 顶部菜单栏接入 `文件 / 编辑 / 视图 / 帮助` - `文件` 菜单接入 `设置`,`帮助` 菜单接入 `关于 PineNote` - 新增工作空间入口:`全部笔记`、`星标收藏`、`最近编辑`、`回收站` - 新增 `回收站` 工作区,支持查看已删除笔记、恢复笔记、彻底删除笔记 - 新增 `设置` 页面,并改为系统页展示方式 - 新增 `关于` 页面,并改为系统页展示方式 - 新增笔记 `收藏 / 关注` 操作入口,并接入实际保存链路 - 笔记列表支持按不同工作区视图切换展示 - 中栏笔记列表已去掉横向滚动,长标题、长摘要、长标签会自动换行或省略 - 界面主题从旧版蓝色导航风格调整为更克制的中性色 + 绿色强调 - 保留并兼容现有 Markdown / 富文本双编辑能力 - 富文本编辑体验已修复:支持空白状态聚焦、可见光标、代码插入与标题编辑 - 中文搜索已增强:短中文词会合并 `FTS + LIKE` 搜索结果,标题命中优先排序 ### 0.3.0 已完成更新:第一批 - `文件` 菜单新增 `导入 Markdown` - `文件` 菜单新增 `导出笔记` - `文件` 菜单新增 `数据备份` - `文件` 菜单新增 `数据恢复` - 支持导入单个 Markdown 文件,或递归导入整个 Markdown 文件夹 - 导入时支持目标分类选择、重名处理策略、按原目录自动创建分类 - 支持导出当前笔记或当前列表中的可见笔记 - 导出格式首批支持 `Markdown` 与 `纯文本` - 支持一键备份当前 SQLite 数据库 - 支持从备份文件恢复数据库,并会先自动创建安全备份 - Rust 侧已补充导入、导出、备份、恢复的自动化测试 ### 0.3.0 已完成更新:第二批 - `帮助` 菜单新增 `使用说明` - `帮助` 菜单新增 `快捷键` - 系统页新增桌面端使用说明,覆盖新建、分类、搜索、回收站、导入导出等核心工作流 - 系统页新增快捷键说明,并同步接入 `Ctrl+N / Ctrl+Shift+N / Ctrl+F / Ctrl+S / Ctrl+E / Delete / F2 / Esc` - 关于页说明同步更新到 `0.3.0` 阶段目标 ### 0.3.0 已完成更新:第三批 - 设置页新增 `编辑区宽度` 选项 - 设置页新增 `编辑字号` 选项 - 设置页新增 `自动保存节奏` 选项 - 设置页新增 `数据位置` 信息展示 - 回收站支持 `全部恢复` - 回收站支持 `清空回收站` - Rust 侧补充回收站批量恢复与批量清空测试 ### 0.3.0 已完成更新:第四批 - 顶部 `编辑` 菜单补齐为真正的桌面下拉菜单 - 顶部 `视图` 菜单补齐为真正的桌面下拉菜单 - `文件` 菜单新增 `退出 PineNote` - 编辑菜单接入 `新建笔记 / 新建分类 / 立即保存 / 阅读编辑切换 / 删除当前笔记` - 视图菜单接入 `全部笔记 / 最近编辑 / 星标收藏 / 回收站` - 菜单项补充快捷键提示、当前视图高亮和禁用态 - `Esc` 现在可关闭顶部菜单和右键菜单 - 单篇笔记从回收站恢复后,会自动回到原分类并选中该笔记 - 全部恢复后,会自动切换到 `最近编辑` 视图继续工作 ### 0.3.0 已完成更新:第五批 - 编辑区标题下方新增状态条,统一展示 `阅读 / 编辑`、`待保存 / 保存中 / 已保存`、自动保存节奏等信息 - 中栏笔记卡片新增草稿保存状态徽标,未保存修改会更容易被识别 - 编辑头部的元信息收敛为 `分类 / 字数 / 更新时间`,减少重复文案堆叠 - 新建空白笔记时,若标题仍是默认标题且正文为空,会优先聚焦标题,方便直接命名 - 状态提示在短暂提示结束后,会回到更贴近当前上下文的常驻文案,而不是统一回到固定提示 ### 0.3.0 已完成更新:第六批问题修正 - 修复文件菜单导入 / 导出 / 备份 / 恢复链路中的原生文件对话框中文标题乱码 - 修复立即保存后界面状态可能短暂停留在 `保存中` 的问题 - 修复批量刷新数据源后,旧草稿状态可能残留到新数据上的问题 - 修复外部导入的 Markdown 笔记打开后未进入渲染阅读态的问题,Markdown 笔记默认先以阅读态打开 - 优化顶部菜单、下拉菜单与回收站头部的排版,移除重复的“快速检索”可见入口,保留顶部搜索框与 `Ctrl+F` - 补做一轮以真实使用路径为主的统一构建与测试验证 ### 当前仍已具备的核心能力 - 分类树管理:新建、重命名、删除分类 - 笔记管理:新建、删除、移动分类 - 标签编辑 - Markdown / 富文本双模式编辑 - 全文搜索 - 自动保存 - 回收站恢复与彻底删除 - 收藏与关注 - 顶部桌面菜单与快捷键 - 设置与关于系统页 - 编辑状态条与草稿保存反馈 - SQLite 本地持久化 - Windows 可执行文件与 NSIS 安装包构建 ## 目录结构 ```text . ├─ README.md ├─ package.json ├─ src │ ├─ main.ts │ ├─ note-content.ts │ ├─ pinenote-desktop.css │ ├─ pinenote-navigator.ts │ └─ types.ts └─ src-tauri ├─ Cargo.toml ├─ tauri.conf.json ├─ migrations │ └─ 0001_init.sql └─ src ├─ app_state.rs ├─ commands.rs ├─ database.rs ├─ lib.rs └─ models.rs ``` ## 数据设计 - `folders`:分类目录 - `notes`:笔记主表 - `tags`:标签 - `note_tags`:笔记与标签关联 - `notes_fts`:SQLite FTS5 全文索引 当前搜索索引字段: - `title` - `body_plain` - `search_tags` ## 本地开发 推荐环境: - Node.js 20+ - npm 10+ - Rust stable - Visual Studio C++ Build Tools - Microsoft WebView2 Runtime 安装依赖: ```bash npm install ``` 前端构建: ```bash npm run build ``` 桌面开发模式: ```bash npm run tauri:dev ``` 桌面打包: ```bash npm run tauri:build ``` ## 测试与验证 当前已验证: - `npm run build` - `cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1` Rust 侧当前覆盖的重点包括: - 标签与分类保存后会写入数据库并可被搜索命中 - 分类在仍有笔记时不可删除 - 富文本新建笔记会生成空白富文本文档 - 收藏 / 关注状态可随笔记保存一起持久化 - 回收站列表、恢复、彻底删除的数据库链路 - 中文短词搜索与中文结果排序验证 - Markdown 导入、笔记导出、数据库备份与恢复 - 回收站批量恢复与批量清空 - 编辑区状态反馈与草稿保存可视化 ## 0.4.0 功能设计草案 下一版本建议正式推进为:`0.4.0` 版本目标:把 PineNote 从“已经很好用的本地笔记工具”升级为“更安全、更适合长期积累知识的本地知识工作台”。 ### 0.4.0 主要功能方向 - 历史版本 / 快照恢复 - 批量整理 - 模板 - 导出增强:`HTML / PDF` - 附件能力:插入图片、拖拽图片、粘贴截图 - 双向链接 / 关联笔记 - 自动备份计划 - 数据目录直达 - 固定筛选视图 - 标签管理页 ### 0.4.0 建议推进顺序 - 第一批:历史版本 / 快照恢复、自动备份计划、数据目录直达 - 第二批:批量整理、固定筛选视图、标签管理页、模板 - 第三批:导出增强、附件能力、双向链接 / 关联笔记 详细设计草案见: - [docs/ROADMAP_0.4.0.md](./docs/ROADMAP_0.4.0.md)