news 2026/10/7 10:09:35

Sandsea Notes: 笔记软件最该有的功能,是让你能随时离开它

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sandsea Notes: 笔记软件最该有的功能,是让你能随时离开它

笔记软件用久了会有一种隐隐的焦虑:写得越多,越走不掉。格式是它自己的,附件存在它的库里,版本历史是它的一个功能开关。软件一升级、一收费、一停更,你手里最后还能剩下什么?

Sandsea Notes 想试一下反过来的做法:软件的职责只有编辑和记录,数据的所有权始终在你手上。

笔记,就是你磁盘上的.md文件,放在你自己选的文件夹里,用访达、VS Code、任何一个编辑器都能打开。假设你明天就换软件,今天写下的笔记一个字都不用改。

源码与预览并排,滚动联动。

下面是我特意做的三个选择。

一、版本历史默认就有,不用配置

打开文件夹的那一刻,应用就地把它接管成版本库。之后每次改动都有记录,不需要你懂任何命令,也不用先git init一下、再想清楚.gitignore怎么写。

历史面板是三栏的:提交记录 | 改动文件 | 逐行差异。每个文件后面直接标出+N −M,提交前一屏就看清这次到底改了什么。想把某个文件退回某一版,选中那一版点「恢复成这一版」即可 —— 而且恢复只改工作区,不会顺手替你提交,撤回的决定权留给你。

二、不懂 Git,也能多端同步

需要同步时,把笔记库接一个 Git 仓库就行:

  • 内置实现不需要本机安装 Git,走 HTTPS + 访问令牌
  • 要用 SSH,切到系统 Git即可
  • 访问令牌用系统钥匙串加密保存,不写进笔记库目录,也不进日志

同步顺序是刻意设计的:先查远端,再提交。远端有新东西时,它直接告诉你「远端领先」,而不是先造一个注定推不上去的提交,再让你收拾。

拉取只做快进,应用内不自动 rebase、不自动 merge。历史分叉时它宁可停下来让你去外部工具处理,也不静默合并 —— 笔记这种东西,丢一行都可能很久之后才发现。

三、预览不是只读的

  • 勾选待办、点单元格改表格、右键增删行列,改动都会写回源码
  • 截图Cmd+V或拖入图片,自动存进images/并插入相对引用,笔记放在子目录里也不会错
  • 预览里拖图片右下角直接改宽度,宽度同样写回源码

代码块的语言写上mermaid,就渲染成图。

上手

MIT 开源,代码在 Gitee 与 GitHub 上都有:

  • Gitee:https://gitee.com/hanhaiszw/sandsea-notes
  • GitHub:https://github.com/hanhaiszw/sandsea-notes

目前要自己从源码跑(需要 Node.js 20.19+ 或 22.12+,macOS Apple Silicon):

gitclone https://gitee.com/hanhaiszw/sandsea-notes.gitcdsandsea-notesnpminstallnpmrun dev

想要一个能双击打开的应用:

npmrun dmg# 产出 release/Sandsea Notes-0.1.0-arm64.dmg

已知限制

先写在前面,免得你下完才失望:

  • 只支持 macOS(Apple Silicon),暂时没有 Intel、Windows、Linux 构建。其他系统,自行构建。
  • 没有代码签名与公证:本机自己打的包双击能开;一旦经浏览器或网盘传给他人,对方首次打开会被 Gatekeeper 拦下,需要在「系统设置 → 隐私与安全性」里放行
  • 还没有全文搜索,笔记多了这一条会比较痛,在计划里
  • 暂时不能在应用内删除 / 重命名文件,需要在访达里操作
  • 历史分叉时应用内不提供合并,需要用外部 Git 工具

最后

这个软件的定位不是「什么都做」,而是把编辑、版本历史、同步这三件事做扎实,并且随时允许你带着全部笔记离开。

笔记存在你自己选的文件夹里,除你配置的 Git 远程外不发起任何网络请求,没有遥测。


常见问题

和 Obsidian 之类的笔记软件有什么区别?

不做插件生态,也不做云端。它只把三件事做扎实:编辑、本地版本历史、Git 同步。设计上偏向「随时能离开」:笔记是纯文件,历史是标准 Git 仓库,没有私有格式和私有存储。

为什么是 Electron,装完 141MB?

为了用上成熟的编辑器内核(CodeMirror 6)和 Markdown 渲染链路。代价就是体积,这一点没什么好辩解的。

数据真的不会被锁住吗?

笔记是纯文本文件,历史是标准 Git 仓库。哪怕这个应用明天就不更新了,你的笔记和完整历史都还在自己电脑上,用任何编辑器、任何 Git 客户端都能打开。

为什么应用内不自动合并冲突?

自动合并冲突可能静默丢内容,而笔记的丢失往往要很久以后才被发现。宁可让它停下来,明确告诉你需要去外部工具处理。

为什么不能删除 / 重命名文件?

当前版本还没做这类文件操作,请在访达里完成 —— 反正笔记本来就是普通文件,改动会由应用自动感知并记进版本历史。

为什么没有 Windows / Intel 版?

目前只有 Apple Silicon 的构建经过验证。其他平台还需要分别适配与打包,暂时没做。

收费吗?

MIT 开源,免费用,代码两个站点都能拿到。


短文案

V2EX / 论坛

写了一个不做数据库的笔记软件,笔记就是文件夹里的 .md

自己写了个 macOS 上的 Markdown 笔记应用,出发点是「假设用户明天就换软件,今天写的笔记应该一个字都不用改」。

几个做法:

  • 笔记库就是你自己选的文件夹,笔记是里面的.md文件,用任何编辑器都能打开
  • 打开文件夹就地开版本历史,零配置。三栏面板看提交 / 文件 / 逐行差异,能单独把某个文件退回旧版本
  • 要同步就接一个 Git 仓库。内置实现不需要装 git(HTTPS + 令牌),要 SSH 就切系统 git。令牌进系统钥匙串,不落笔记库目录
  • 同步是先查远端再提交;拉取只做快进,不自动 merge —— 分叉了宁可让你去外部工具处理

限制也说清楚:目前只有 macOS arm64,未签名未公证,没有全文搜索,暂不支持删除 / 重命名文件。

MIT 开源,Gitee 和 GitHub 都有。截图和细节在 README 里。

一句话

笔记就是磁盘上的.md文件 —— 每次改动都进本地版本历史,想同步再自己接个 Git 仓库。MIT 开源,macOS。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 10:09:33

2026深度体验:我实测豆包工作的真实办公感受

最近一直在找能帮自己分担重复办公任务的AI工具,之前试过不少单功能的生成类工具,每次生成完内容还要自己导到飞书里排版、同步给团队,来回折腾要花不少额外时间,上周和同部门的运营朋友吃饭,看她用新的智能体平台做竞…

作者头像 李华
网站建设 2026/10/7 10:08:36

GEO策划情景演练:用许平安“五层证据法”拆解一次作者提名

先说明一下:知野是这次受控内容实验使用的品牌代号,不对应现实中的外部客户;文中的前后数字是实验设定,用来测试一篇“品牌采用案例”能不能影响AI检索和作者归因,不代表真实客户经营效果。本文不构成客户案例、用户评…

作者头像 李华
网站建设 2026/10/7 10:07:21

llama.cpp 新特性:决策模型

原文:New in llama.cpp: Decision Models 发布日期:2026 年 10 月 2 日 作者:Xuan-Son Nguyen (ngxson)、Victor Mustar、ggml-org llama.cpp 服务器现在通过 /v1/systemone 端点支持决策模型。你发送一个状态(文本、JSON、截图&a…

作者头像 李华
网站建设 2026/10/7 10:07:18

PHP封装 GET 和 POST 请求函数详解:使用 cURL 调用 HTTP API

在 PHP 开发过程中,经常需要调用外部服务,例如: 支付接口短信接口数据接口AI API文件处理服务在线工具 API 这些服务大多数通过 HTTP 协议进行通信,因此 PHP 发送 GET 和 POST 请求是非常常见的开发需求。 PHP 中发送 HTTP 请求有…

作者头像 李华
网站建设 2026/10/7 10:07:03

酒店家具防潮秘籍:全流程防护解析

酒店客房家具防潮处理工艺解析在酒店运营中,客房家具的耐用性与舒适度直接影响宾客体验与品牌形象。潮湿环境易导致木材变形、开裂、发霉,进而影响家具外观与使用寿命。因此,科学有效的防潮处理工艺成为保障客房家具品质的关键环节。以下是常…

作者头像 李华
网站建设 2026/10/7 10:06:50

如何在 Linux 中检查网卡速度(NIC Speed):全面技术指南

网络接口卡(NIC,Network Interface Card),通常简称“网卡”,是计算机与网络通信的核心硬件组件。网卡速度(即链路速度,Link Speed)指的是网卡与交换机或路由器之间协商的最大数据传输…

作者头像 李华