纯 Markdown 存储
笔记保存为 data/notes/{id}.md,标题、文件夹、标签、置顶与废纸篓状态以内嵌注释写在文件开头,可被任意编辑器直接打开。
Windows 桌面版 · 离线可用
Note, Nothing.
本地优先、离线可用的极简 Markdown 笔记应用。无账号体系,无云端托管,
笔记是数据目录下可直接打开、可备份、可迁移的 .md 文件。
网络功能仅两项,且均需手动配置后才可能发起请求:自建同步与 AI 助手。 语音转文本在本机识别,音频不出本机。
安装版与便携版可选 · 自动更新默认开启,可在设置中关闭
.md)01界面
下列图片均截自应用运行界面。浅色 / 深色主题、主题风格、圆角尺度、主题色与字体 都在设置中即时生效,切换无闪屏。
浅色 / 深色 / 跟随系统三态,首屏渲染前同步注入,切换无闪屏。
默认与 Alom 两档。Alom 以柔和投影与半透明材质区分卡片、浮层与背景,配合更大的圆角。
纯方 / 微圆角 / 默认 / 大圆四档,拖动时连续跟随,松手后吸附至最近档位;卡片、按钮、输入框、标签、开关与滚动条一并跟随。
预设色板或自定义取色(#RRGGBB 与 #RGB),深浅主题下自动换算背景透明度与按钮文字色。
界面字体与文档字体分别设置,西文与 CJK 分开配置、按字符逐个回退,并带实时预览;本机字体列表直接解析字体文件枚举。
现代布局(默认)移除标题栏、标签栏移至工作区顶部;经典布局保留标题栏与标签栏。切换即时生效,编辑内容与已打开标签不受影响。
02功能特性
无账号体系,无云端托管,无遥测。笔记与待办共用同一套存储格式、同一个编辑器与同一个废纸篓。
笔记保存为 data/notes/{id}.md,标题、文件夹、标签、置顶与废纸篓状态以内嵌注释写在文件开头,可被任意编辑器直接打开。
独立的待办入口,卡片左侧的勾选框可切换完成状态,已完成显示删除线。与笔记共用同一套存储格式、同一个编辑器与同一个废纸篓。
可同时打开多篇内容,按住标签左右拖动调整顺序,Ctrl+Tab 依次切换。现代布局将该行标签置于工作区顶部。
侧边栏提供「笔记 / 待办 / 已置顶 / 废纸篓」四个入口,另有文件夹归类与标签过滤;在已置顶、废纸篓、文件夹与标签视图中笔记与待办混排。
Ctrl+K 聚焦搜索框;排序支持修改时间、创建时间与标题 A-Z。侧边栏可收起,收起状态写入配置。
右键菜单提供导出 Markdown、置顶、标记完成与移入废纸篓。废纸篓支持恢复与彻底删除,保留天数可选永不清理 / 10 / 30 / 60 / 365 天。
编辑 / 分屏 / 预览一键切换,分屏即时对照内置的轻量 Markdown 渲染,配合加粗、标题、列表、引用、代码块等格式化工具栏。
屏幕右下角的便利贴小窗口,始终置顶、自动保存。未关联笔记时点击保存即新建一篇并关联,此后编辑的即为该篇。
托盘菜单可打开主窗口、唤出小本本、新建笔记 / 待办、进入设置或退出;托盘存在时关闭窗口仅收起界面,应用继续在后台运行。
登录系统后自动启动并打开主窗口,实现方式为写入系统登录启动项。默认关闭,开发运行不提供该开关。
启动后自动检查更新源并在后台下载,装好后询问是否重启安装;升级向导只有一条进度条,笔记与数据位置记录均不受影响。直连 GitHub 较慢时可打开 gh-proxy 加速。
可在设置中开启,编辑标题与正文时以红色波浪线标出拼写错误。
03随口记
Ctrl+Shift+M 唤出,识别结果按句插入光标处(标题框或正文框), 插入后由编辑器自身的自动保存链路落盘。
System.Speech 的 DictationGrammar),由主进程拉起独立的识别进程完成。音频只进本机引擎,既不经过网络,也不经过渲染进程。
定稿的句子直接写入正文。
尚未定稿的实时片段仅作提示,不写进笔记
界面示意
04AI 助手(可选)
在设置中填写 API 站点、API Key 与模型即可使用,兼容 OpenAI 协议的站点可直接接入, 地址旁另提供 DeepSeek 与 Ollama 的快捷填入。关闭总开关后界面不再保留任何 AI 入口,配置原样保留。
ai_chats/ 下,保留上限为 50 份对话。
把本周的课堂记录整理成一篇提纲
list_notes
read_note
update_note_content
撤销
已按课堂记录整理出三级提纲,并写回原笔记。
界面示意,内容为示例文本
05数据与隐私
不上传、无遥测。除主动使用自建同步与 AI 助手、以及默认开启的自动更新检查外,不发起任何网络请求。
data/,三者互不干扰。
notes/ 放入一个 .md,启动时会被当成新笔记载入并补齐元数据。
| 运行方式 | 位置记录文件 | 默认数据目录 |
|---|---|---|
| 安装版 | %APPDATA%\esprin_nemo\data_path.json |
%APPDATA%\esprin_nemo\data |
| 便携版 | 便携版目录下的 data_path.json |
便携版目录下的 data/ |
开发运行(bun start) |
不使用记录文件 | 项目内 data/ |
data/ ├── notes/ # 笔记:{id}.md ├── todos/ # 待办:{id}.md ├── ai_chats/ # AI 对话:{id}.json ├── ai_files/ # AI 图片附件 ├── config.json # 界面与功能配置 └── scratchpad.json # 小本本内容
06自建同步(可选)
默认关闭,未填写服务器地址时不会发起任何请求。数据以「操作日志」形式保存在自建服务端目录, 把日志从头重放一遍即为全部数据。
| 同步模型 | 客户端可见信息 | 删除的后果 |
|---|---|---|
| 文件快照 + 目录对比 | 远端存在 / 不存在某文件 | 「删除」与「从未见过」不可区分,其他设备会把本地缺失视为待上传,从而重新生成该文件 |
| 操作日志(本项目) | 逐条 put / del 操作及其全局序号 | 删除是一条明确的删除标记,重放只会删除,不会反向产生写回 |
本地保存或删除后,渲染进程只发送路径通知;主进程读取文件、计算 SHA-256 并生成一条操作入队,约 0.8 秒(合并窗口)后推送至服务端,服务端分配全局序号并追加写入日志。
从「已应用到第几号」之后逐页取操作并重放:put 在本地哈希相同时跳过,否则原子写入;del 在本地不存在时不做任何事——这是删除不会被补回来的关键。
重放实际改动了文件时,主进程通知界面重新载入数据,编辑器中未保存的内容会先落盘。
sync.py,仅使用标准库;支持多个账户,每个账户一份独立的操作日志,按行追加。
.. 一律拒绝。
07快捷键
小本本窗口另有独立的一套。
| 快捷键 | 作用范围 | 功能 |
|---|---|---|
| Ctrl + N | 主窗口 | 新建笔记 |
| Ctrl + Shift + N | 主窗口 | 新建待办 |
| Ctrl + K | 主窗口 | 聚焦搜索框 |
| Ctrl + S | 主窗口 | 保存当前笔记或待办 |
| Ctrl + Tab / Ctrl + Shift + Tab | 主窗口 | 在打开的标签之间向后 / 向前切换(标签栏收起时不生效) |
| Ctrl + Shift + M | 主窗口 | 开始 / 停止随口记(语音转文本) |
| Esc | 主窗口 | 停止随口记 |
| Ctrl + S | 小本本窗口 | 未关联笔记时新建为笔记并关联;已关联时保存回该篇笔记 |
| Ctrl + O | 小本本窗口 | 打开笔记选择面板 |
| Tab | 编辑器内 | 插入缩进 |
08下载
当前仅面向 Windows:安装包(NSIS)与便携版均由 electron-builder 的 win 目标产出。
安装向导可选择安装位置与数据存放位置;便携版每次启动解压到临时目录运行,不写注册表。
启动后自动检查更新源并在后台下载,装好后询问是否重启安装;也可在设置中随时手动检查与安装。
没有遥测与账号体系,笔记始终是磁盘上的 .md 文件。
# 环境要求:Node.js 与 bun bun install # 安装依赖 bun run start # 开发运行 bun run build # 打包 Windows 安装包与便携版