zcTool

单文件 · 全离线 · 私人知识库
一个人的本地知识库
用 Rust + egui 写的 Windows 桌面笔记工具:左边「文件夹 → 文档」两层目录, 右边所见即所得的 Markdown 编辑区,能放图片、能摆文本块、能分页,数据全部躺在本机一个 SQLite 文件里。
1.86 MB
单文件绿色版
0 次联网
全程不联网
90 MB
空闲内存占用

开箱就用

双击 exe,窗口直接最大化打开;首次运行自动在 C:\zctool 建库建配置。默认账号 admin / admin,登录后可在「设置」里改。

搬家只要拷一个目录

数据库、配置、所有图片全在 C:\zctool 下。换电脑时整个目录拷走即可,不用装任何运行环境。

版本 V1.0.26.09.26.13 2026-09 · 产品介绍

01它解决什么问题

笔记软件越做越重、越做越像协作平台。zcTool 反过来:只做「自己给自己记东西」这一件事,把复杂留给实现,把简单留给使用者。

常见的别扭 zcTool 的做法
想记点密码、账号、片段,却要注册账号、同步、会员、被扫描。 纯本地,永不联网。数据只写本机 SQLite,程序里没有任何网络代码。
Markdown 编辑器里满是 **、```、#,看着就乱。 编辑区里源标记一律不显示,看到的就是最终样子,选中前后长得完全一样。
贴进来的图糊了、存到云端、过几天链接失效。 原图直接进本地目录,画质零损失;每张图还能单独拖动改大小。
长文档写到几十万字,编辑器开始卡、越写越慢。 手动分页,一次只排版当前页,几百万字也不卡,每页各记各的光标位置。
改错一个字,撤回还不回来当时的上下文。 撤销连光标和页码一起退,连续输入算一步,退回你当时待的地方。

主界面一眼看全

zcTool V1.0.26.09.26.13 保存 设置 记忆册 退出 文件夹 + ▼ 工作 周报汇总 常用命令备忘 ▼ rust项目 zctool serde 学习笔记 ▶ 未分类 + 新建文档 H1 H2 H3 B I S ` 文本块 • 列表 1. 列表 ❝ 引用 链接 A 文字色 底色 撤销 分页 查询 常用命令备忘 平时要用的几段命令,记在这里省得翻笔记: 1. 看端口占用:netstat -ano | findstr 8080 2. 批量转图片:magick convert *.png out.pdf - 旧写法已废弃 https://doc.rust-lang.org/std/ cargo build --release .\target\release\zctool.exe --selftest .\tools\upx-5.2.1-win64\upx.exe --best --lzma 复制 ↑ 文本块(可自由摆放的浮动卡片) 第 1 / 3 页 上一页 下一页 已保存
主界面:左侧两层目录、顶部一行工具栏、右侧所见即所得的正文,长文档底部自动出现页码栏。
上手只要记住三件事:左边点文档就能写;工具栏的按钮都是「选中文字再点」;正文随时自动保存(改动后 3 秒写库,Ctrl+S 可立即存)。
zcTool · 产品介绍01

02特色功能 · 目录与整理

两层目录:文件夹 → 文档,够了核心

不做多层嵌套、不做多标签,就「文件夹 / 文档」两层。左边点一下就切换文档,右边立刻能写。

文件夹 + ▼ 工作 周报汇总 常用命令备忘 备忘 · 归档 ▶ rust项目 ← 拖到文件夹标题上:移进这个文件夹 zctool serde 学习笔记 拖动时松手即存,状态栏会提示「已保存文档顺序 / 已移动文档」 三种落点: 1. 文件夹之间的空档 → 换顺序 2. 另一分组的某篇文档上下 → 插到它前/后,同时改归属 3. 另一个文件夹的标题 → 移进该文件夹并排到最后 整份列表字体统一放大(15px),折叠箭头与 + 都是 26×26 的方形,点起来不费劲。
拖拽整理:蓝色插入线 = 插到这个位置;蓝色方框 = 放进这个文件夹。松手立即写入数据库。

顺手的小事都做了

窗口大小启动即最大化;自己点「还原」后不会被程序顶回去(还原尺寸 1200×800,最小 860×560,高 DPI 屏也放得下)。
左侧观感文档名靠左排列,不再显示「修改时间」那一行,一屏能多看三四个文档。
自动保存正文改动后 3 秒自动存;顶栏「保存」和 Ctrl+S 可以立刻存。
状态栏每一步操作都有回话:已保存、已移动文档、已插入文本块、没有可以撤销的操作了……
zcTool · 产品介绍02

03特色功能 · 所见即所得的编辑区

写着写着被一堆 **、~~、``` 打断思路,是 Markdown 笔记最常见的体验损耗。zcTool 的做法是:编辑区里一个源标记都不显示——不是「光标移开才隐藏」,而是任何时候都不显示,选中前后长得完全一样。

你敲进去 / 存进数据库的(Markdown 源文本) # 常用命令备忘 **注意**:8080 端口常被占用 - 看端口占用:netstat -ano - [ ] 备份 images 目录 ~~旧写法~~ ```powershell cargo build --release ``` [[c:#ff5555]]重要[[/c]] [[b:#ffff00]]标记[[/b]] 渲染后 编辑区里你看到的 常用命令备忘 注意:8080 端口常被占用 - 看端口占用:netstat -ano - [ ] 备份 images 目录 旧写法 cargo build --release 重要 标记 ** ~~ ``` # [[c:..]] 全部不见;列表符号与下划线照常看得见
左边是你敲的、也是数据库里实实在在存着的 Markdown 源文本;右边是编辑区里看到的。源标记只是被藏起来显示,随时都能正常编辑。

为什么敢把符号全藏起来

支持的语法与快捷键

标题 #~######、粗体、斜体、删除线、行内代码、围栏文本块、引用、无序 / 有序列表、任务项、分隔线、图片,以及本工具自带的文字颜色与底色([[c:#ff0000]]文字[[/c]]、[[b:#ffff00]]文字[[/b]])。

多行一次搞定:选中连续几行再点「• 列表 / 1. 列表 / 引用 / H1~H3」,每一行都会加上(有序列表自动编号);整段都已经有同类标记时,再点一次就是整段取消。

zcTool · 产品介绍03

04特色功能 · 文本块:能摆位置的框招牌

笔记里的代码、命令、配置片段,传统做法是一段灰底文字。zcTool 把它变成一张能自由摆放的浮动卡片:改宽度、改高度、挪位置、并排摆放,位置跟着文档一起存下来。

正文(文本块在这里是「隐形」的,只占位置) 部署顺序:先构建,再自检,最后压缩。 cargo build --release .\target\release\zctool.exe --selftest upx --best --lzma zctool.exe 复制 取消 ← 拖左右边 = 改宽度 git status git add src\app.rs git commit -m "fix" 复制 拖角就能并排摆放 ssh -p 2222 user@10.0.0.8 scp -r .\images\ user@10.0.0.8:/bak 复制 四角按住 = 整体挪位置 上下两条边拖高度,左 右两条边拖宽度,四角挪位 置;框不会被拖出可视区。 想收尾:在块内空行或正文下方空白处双击,自动补围栏。
文本块:编辑区里永远只显示这张圆角高亮框,不显示 ``` 围栏;框里的文字用琥珀色高亮。
摆得动,也摆得住

四边拖宽高、四角拖位置、左右可并排。往上拖时,正文里给这块预留的高度会自动收敛到 0,不会在正文里留下空洞。每块的几何跟着文档存进数据库,下次打开原样。

点哪都能打字

点框里的文字、点四周留白、点底部按钮条,光标都落在框里。正文光标永远不会停在块内部——块在正文里是隐形的,光标停进去会变成一根贯满整块的怪长条,程序会自动把它就近推到块外。

zcTool · 产品介绍04

05特色功能 · 图片:粘贴进来就是原图

两种来源都认,一律 Ctrl+V ① 资源管理器里复制的图片文件 原图直接拷进 C:\zctool\images,画质零损失 ② 截图工具 / 网页 / Word 里复制的图 存成 png 插进来,和 Word 里粘贴一样顺 也可以把图片文件直接拖进窗口; 一次复制多张就一次贴多张。 工具栏没有插图片按钮,改成外面复制、进来粘贴。 拖动就能改大小,宽度跟着文档记住 示意图 鼠标移到图片上:光标变左右箭头 按住拖动 = 调大调小,松手即存库 点一下图片,下面出现操作行: 图片 img_20260926_211438.png 另存为… 打开图片所在文件夹 删除 关闭 「另存为」存的是 C:\zctool\images 里的 原文件,不是压缩过的预览图。 图片行永远只显示图片本身,光标移到 那一行也不会冒出源码。
图片:粘贴即原图、拖动即缩放、大小跟着文档记住;点一下就有另存 / 定位 / 删除。

画质与体积

  • 贴进来的是原图:从资源管理器复制的图片文件按原格式、原字节拷进 C:\zctool\images,不重新编码。
  • 显示时才按需缩:超过 1600 像素的大图只按比例缩小后上传显示纹理,磁盘上仍保存原图;换文档时清空纹理缓存,内存不越用越大。
  • 图片宽度上下限保护:最小 60px、最大 2400px,也不会被拖出可用区域。

正文里存的是什么

  • 正文里保存的是 [[img:文件名]] 一行,但编辑区里永远只显示图片本身。
  • 正因为它显示成图片、光标也不会停上去,删图只能点图片、在操作行里点「删除」——删的是整行,不留空行;images 里的原文件不动。
为什么不做「插入图片」按钮?因为真正高频的用法是「在别处看到一张图 → 复制 → 回到这里粘贴」。少一个按钮,少一步点击。
zcTool · 产品介绍05

06特色功能 · 分页:几百万字也不卡招牌

编辑器卡,多半卡在「一次要给整篇几百万字排版」。zcTool 索性让你自己决定在哪里断页:编辑区一次只排版当前页,而文档在侧边栏里还是那一条、数据库里还是那一个文件。

Ctrl+Enter 或点工具栏「分页」,从这里往后排到下一页 侧边栏里:还是 1 条 项目笔记 数据库里:还是 1 行 content 存着整篇正文 (含 [[page]] 分页符) 分页符看不见, 不影响 Markdown 语法 第 1 页 ## 一、环境搭建 装好 rustup,确认 cargo -V 能用就行。 ## 二、依赖裁剪 - 关闭 default_fonts - 只开 glow 后端 第 1 / 12 页 上一页 下一页 第 2 页 ## 三、体积优化记录 UPX --best --lzma 之后 从 5.23 MB 压到 1.95 MB, 启动自解压几乎无感。 第 2 / 12 页 上一页 下一页 每一页各自记住 自己的光标位置: 翻回来还停在 离开时的地方, 并自动滚到那一行。 查询会跨页:命中 在别的页就自动翻 过去并滚到屏幕中间。 不改脚本、不动正文, 不想要了就再点一次「分页」,两页并回一页;没有分页符的老文档打开就是一整页,行为和以前完全一样。
分页:分页符在正文里看不见,只用来断页;文档始终是一篇、一条、一个文件。
翻页有三种方式

底部页码栏点「上一页 / 下一页」;光标在编辑区里按 PgDn / PgUp;查询跳转时自动翻页。

为什么这样就快

排版成本只跟当前页的字数有关,跟整篇多长无关。所以一页几十万字也不卡,重启打开长文档也不用等。

撤销:连光标和页码一起退

zcTool · 产品介绍06

07特色功能 · 查询

查询:即时高亮,跨页也能找到

关键字 selftest 第 2 / 5 处 ▼ 下一个 ▲ 上一个 关闭 回车 = 下一个 · 即时高亮 · 不改动正文字符 构建完顺手跑一遍自检: .\target\release\zctool.exe --selftest 自检通过数量写在版本记录里, 现在一共 134 项,全部通过。 命中处只加一层半透明黄色底色,正文文本一个字符都没动 跳过去时: 命中行自动滚到屏幕中间, 命中处选中、光标停在后面, 顺手就能改。 命中在别的页:自动翻过去 再滚到中间,「第 n / m 处」照常。
查询条:输入即时高亮全部命中,回车逐个跳,跨页自动翻页。
zcTool · 产品介绍07

08数据与隐私:它只属于你

备份 = 拷一个目录。换电脑时把 C:\zctool 整个拷走,文档、图片、设置全都在里面,不用装任何运行环境、不用登录任何账号。

密码与登录

离线到什么程度

  • 程序里没有任何网络代码:没有账号体系、没有云同步、没有遥测、没有检查更新。
  • 字体、图标全部随系统走,不打包任何字体文件,也不会去下载。
  • 取当前时间直接调 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、能摆位置的文本块、原图粘贴与缩放、几百万字不卡的分页、能跨页的查询、连光标一起退的撤销。全程不联网,数据只在你自己的硬盘上。
zcTool · 产品介绍08

09快捷键与快速开始

快捷键速查

按键作用
Ctrl+S立即保存(平时改动后 3 秒也会自动存)
Ctrl+Z撤销(连光标和页码一起退)
Ctrl+B / Ctrl+I加粗 / 斜体
Ctrl+Enter插入分页符(光标后面的内容排到下一页)
Ctrl+V光标在编辑区里时 = 粘贴图片(含资源管理器里复制的图片文件)
PgDn / PgUp光标在编辑区里时翻到下一页 / 上一页
回车(查询条里)跳到下一处命中
双击在文本块里的空行、或正文下方空白处双击 = 结束当前文本块
拖动图片鼠标移到图片上按住左右拖 = 改图片宽度

快速开始

①把 zctool.exe 放到任意目录(它是绿色单文件,不写注册表),双击运行。
②窗口直接最大化打开,光标已在密码框里——输入 admin 回车(首次)。
③左下角 + 新建文档,开始写。想放图片就在外面复制、回来 Ctrl+V。
④文档变长了,把光标放到要断页的地方按 Ctrl+Enter,底部就有了页码栏。
zcTool · 产品介绍09