一个人的本地知识库
用 Rust + egui 写的 Windows 桌面笔记工具:左边「文件夹 → 文档」两层目录,
右边所见即所得的 Markdown 编辑区,能放图片、能摆文本块、能分页,数据全部躺在本机一个 SQLite 文件里。
开箱就用
双击 exe,窗口直接最大化打开;首次运行自动在 C:\zctool 建库建配置。默认账号 admin / admin,登录后可在「设置」里改。
搬家只要拷一个目录
数据库、配置、所有图片全在 C:\zctool 下。换电脑时整个目录拷走即可,不用装任何运行环境。
版本 V1.0.26.09.26.13
2026-09 · 产品介绍
01它解决什么问题
笔记软件越做越重、越做越像协作平台。zcTool 反过来:只做「自己给自己记东西」这一件事,把复杂留给实现,把简单留给使用者。
| 常见的别扭 |
zcTool 的做法 |
| 想记点密码、账号、片段,却要注册账号、同步、会员、被扫描。 |
纯本地,永不联网。数据只写本机 SQLite,程序里没有任何网络代码。 |
Markdown 编辑器里满是 **、```、#,看着就乱。 |
编辑区里源标记一律不显示,看到的就是最终样子,选中前后长得完全一样。 |
| 贴进来的图糊了、存到云端、过几天链接失效。 |
原图直接进本地目录,画质零损失;每张图还能单独拖动改大小。 |
| 长文档写到几十万字,编辑器开始卡、越写越慢。 |
手动分页,一次只排版当前页,几百万字也不卡,每页各记各的光标位置。 |
| 改错一个字,撤回还不回来当时的上下文。 |
撤销连光标和页码一起退,连续输入算一步,退回你当时待的地方。 |
主界面一眼看全
主界面:左侧两层目录、顶部一行工具栏、右侧所见即所得的正文,长文档底部自动出现页码栏。
上手只要记住三件事:左边点文档就能写;工具栏的按钮都是「选中文字再点」;正文随时自动保存(改动后 3 秒写库,Ctrl+S 可立即存)。
02特色功能 · 目录与整理
两层目录:文件夹 → 文档,够了核心
不做多层嵌套、不做多标签,就「文件夹 / 文档」两层。左边点一下就切换文档,右边立刻能写。
- 拖动排序、拖动搬家:文件夹行、文档行都能按住鼠标上下拖。落点会显示一条蓝色插入线;拖到别的文件夹标题上,那个文件夹会被蓝框圈起来,表示「放进这个文件夹」。松手立刻存库。
- 「未分类」很乖:只有真的有没归属的文档时才出现,而且默认收起——空的时候整组都不显示。
- 删文件夹不删文档:删掉文件夹,里面的文档自动回到「未分类」,不会连内容一起没了。
- 右键就有菜单:文件夹——新建文档 / 重命名 / 删除;文档——重命名 / 移动到 / 删除。
- 整份列表最下面一行 + 用来新建文档,建在当前选中的文件夹下;没有选中就放「未分类」。
拖拽整理:蓝色插入线 = 插到这个位置;蓝色方框 = 放进这个文件夹。松手立即写入数据库。
顺手的小事都做了
| 窗口大小 | 启动即最大化;自己点「还原」后不会被程序顶回去(还原尺寸 1200×800,最小 860×560,高 DPI 屏也放得下)。 |
| 左侧观感 | 文档名靠左排列,不再显示「修改时间」那一行,一屏能多看三四个文档。 |
| 自动保存 | 正文改动后 3 秒自动存;顶栏「保存」和 Ctrl+S 可以立刻存。 |
| 状态栏 | 每一步操作都有回话:已保存、已移动文档、已插入文本块、没有可以撤销的操作了…… |
03特色功能 · 所见即所得的编辑区
写着写着被一堆 **、~~、``` 打断思路,是 Markdown 笔记最常见的体验损耗。zcTool 的做法是:编辑区里一个源标记都不显示——不是「光标移开才隐藏」,而是任何时候都不显示,选中前后长得完全一样。
左边是你敲的、也是数据库里实实在在存着的 Markdown 源文本;右边是编辑区里看到的。源标记只是被藏起来显示,随时都能正常编辑。
为什么敢把符号全藏起来
- 实现方式是「只改样式、不增删字符」:渲染出来的文本与数据库里的正文逐字节一致,只是给某些段套上透明色、把宽度压到几乎为零。所以打字、选词、光标定位、批量替换都不会错位——自检里有专门的用例死守这条规则。
- 藏着藏着会出事的三样,特意留着:
- 列表符号常显
1. 有序列表常显
- [ ] 任务项常显
下划线 _ 常显
列表符号藏了就看不出这是列表;下划线常被当普通字符写在账号、编号里(比如
101_43_73_99),藏起来会变成 101437399。
- 没有「阅览 / 编辑」切换:编辑区本身就是成品样,不需要两个模式来回切。
支持的语法与快捷键
标题 #~######、粗体、斜体、删除线、行内代码、围栏文本块、引用、无序 / 有序列表、任务项、分隔线、图片,以及本工具自带的文字颜色与底色([[c:#ff0000]]文字[[/c]]、[[b:#ffff00]]文字[[/b]])。
多行一次搞定:选中连续几行再点「• 列表 / 1. 列表 / 引用 / H1~H3」,每一行都会加上(有序列表自动编号);整段都已经有同类标记时,再点一次就是整段取消。
04特色功能 · 文本块:能摆位置的框招牌
笔记里的代码、命令、配置片段,传统做法是一段灰底文字。zcTool 把它变成一张能自由摆放的浮动卡片:改宽度、改高度、挪位置、并排摆放,位置跟着文档一起存下来。
文本块:编辑区里永远只显示这张圆角高亮框,不显示 ``` 围栏;框里的文字用琥珀色高亮。
摆得动,也摆得住
四边拖宽高、四角拖位置、左右可并排。往上拖时,正文里给这块预留的高度会自动收敛到 0,不会在正文里留下空洞。每块的几何跟着文档存进数据库,下次打开原样。
点哪都能打字
点框里的文字、点四周留白、点底部按钮条,光标都落在框里。正文光标永远不会停在块内部——块在正文里是隐形的,光标停进去会变成一根贯满整块的怪长条,程序会自动把它就近推到块外。
- 右下角「复制」:一键把本框内容复制到剪贴板,光标不会跑;鼠标停在框上时左边多出「取消」,点它就去掉围栏、块里的文字变回普通文本。
- 块占的高度与框严丝合缝:块里的空行也不占正文高度,所以紧贴框下面那一行就是框外面的正文,点上去光标不会跑进块里。
- 高亮框画在文字下面:先占位置、渲染完正文再回填,不盖字、也不往正文里塞任何字符。
- 不写语言名时,框里不会再显示多余的「代码」两个字。
05特色功能 · 图片:粘贴进来就是原图
图片:粘贴即原图、拖动即缩放、大小跟着文档记住;点一下就有另存 / 定位 / 删除。
画质与体积
- 贴进来的是原图:从资源管理器复制的图片文件按原格式、原字节拷进
C:\zctool\images,不重新编码。
- 显示时才按需缩:超过 1600 像素的大图只按比例缩小后上传显示纹理,磁盘上仍保存原图;换文档时清空纹理缓存,内存不越用越大。
- 图片宽度上下限保护:最小 60px、最大 2400px,也不会被拖出可用区域。
正文里存的是什么
- 正文里保存的是
[[img:文件名]] 一行,但编辑区里永远只显示图片本身。
- 正因为它显示成图片、光标也不会停上去,删图只能点图片、在操作行里点「删除」——删的是整行,不留空行;
images 里的原文件不动。
为什么不做「插入图片」按钮?因为真正高频的用法是「在别处看到一张图 → 复制 → 回到这里粘贴」。少一个按钮,少一步点击。
06特色功能 · 分页:几百万字也不卡招牌
编辑器卡,多半卡在「一次要给整篇几百万字排版」。zcTool 索性让你自己决定在哪里断页:编辑区一次只排版当前页,而文档在侧边栏里还是那一条、数据库里还是那一个文件。
分页:分页符在正文里看不见,只用来断页;文档始终是一篇、一条、一个文件。
翻页有三种方式
底部页码栏点「上一页 / 下一页」;光标在编辑区里按 PgDn / PgUp;查询跳转时自动翻页。
为什么这样就快
排版成本只跟当前页的字数有关,跟整篇多长无关。所以一页几十万字也不卡,重启打开长文档也不用等。
撤销:连光标和页码一起退
- 连续输入算一步:一串字(800 毫秒内连着敲的都算)退一次就整串回到敲之前,不会一个字一个字地退。
- 操作各算一步:加粗、上色、插入分页符、插入图片、取消文本块、双击结尾……都各自单独成一步,一下退干净。
- 连光标和页码一起退:撤销后回到当时所在的那一页、那个位置,不用自己找。
- 范围清楚:只记正文改动(每篇最多 80 步,长文档还会按总量自动丢掉最老的几步),换文档时清空,不会把上一篇的内容撤到这一篇里。要留底请单独复制一份文档。
08数据与隐私:它只属于你
备份 = 拷一个目录。换电脑时把 C:\zctool 整个拷走,文档、图片、设置全都在里面,不用装任何运行环境、不用登录任何账号。
密码与登录
- 默认账号
admin(不可改名)、默认密码 admin,登录后可在「设置」里修改。
- 密码用 Argon2id 加盐哈希后写入配置,磁盘上不存明文——这一点由自检专门守着。
- 双密码:可以额外设一个第二密码,两个密码任意一个都能登录,互不影响。适合「日常用一个、应急用一个」。
- 忘记密码:删掉
C:\zctool\config.json 会重新生成默认配置(字号等设置会一起丢,文档不受影响)。
- 登录界面整体放大,打开时光标已经落在密码框里,直接敲密码回车即可。
离线到什么程度
- 程序里没有任何网络代码:没有账号体系、没有云同步、没有遥测、没有检查更新。
- 字体、图标全部随系统走,不打包任何字体文件,也不会去下载。
- 取当前时间直接调 Windows 的
GetLocalTime,连日期库都不依赖。
- 数据库用 SQLite,bundled 方式编进 exe,不需要单独安装数据库。
- 图片解码只保留 png / jpg / webp / gif / bmp 五种常用格式,其余解码器全裁掉。
- 整体是「拔掉网线照常用」的工具。
老数据库自动升级
打开老版本(缺少 folder_id、sort_order、block_layout 等列)的数据库时,程序会先用 PRAGMA table_info 检查,再自动 ALTER TABLE 补上缺的列——老文档照常读取,数据不丢,只是先归入「未分类」。自检里有专门的升级用例。
稳定性底线:只改样式,不碰字符
为了让编辑区能正常打字、选词、定位光标、批量替换,渲染时只改样式、绝不增删字符——渲染结果的文本与数据库里的正文逐字节一致。这条规则由专门的自动化用例死守,任何一次改动都不许破例。
一句话总结:一个 1.86 MB 的 exe,装下了目录整理、所见即所得的 Markdown、能摆位置的文本块、原图粘贴与缩放、几百万字不卡的分页、能跨页的查询、连光标一起退的撤销。全程不联网,数据只在你自己的硬盘上。