前言
去年三月左右我开始尝试各种笔记应用,体验了很多最终都放弃了。我用不上 obisdian 、 notion 那样显得很专业的笔记,对 onenote 那样难用的产品又有些不屑一顾,对国产安卓手机自带的备忘录有有些不放心。在我心目中,最完美的就是当初用 iPhone 时手机自带的备忘录。
所以我理想中的备忘录是安全的,可以单篇加密的。当时有了二改开源项目的想法,由于那时候各大 AI 面对大项目编程的能力有限,一直拖到了现在。今天,我很高兴地宣布,安全的、简洁的、无广告的 memoX 正式发布了!
选哪个开源项目来改?
在我 github 的 star 里,有三个笔记类的开源项目作为备选。
首先是 SilentNotes,它支持单篇加密,支持多种协议同步(FTP、WebDav等),在功能上看起来很契合我。但是它的缺点也很明显,笔记不支持添加图片等附件,UI 也非常非常古老了。

然后是已经停更了五六年的一个项目,酷安大佬开发,可惜 release 里没有现成的 apk,拿来重新改又发现,它居然引用了开发者大量的私有库,这些库如今已无法正常使用,也不确信私有库是否安全可靠。
最后就是这次选择的 NotallyX,这个项目其实也是根据 Notally 二改来的,相较于非常精炼简洁的原始版本,它支持了生物解锁等非常多的新功能和体验,加上 UI 看起来也简约美观,所以最终选择了它。

改了哪些?
这次耗时两天的 vibe coding,我对 NotallyX 进行了各方面的大改。
UI 界面
NotallyX(以下称“原应用”)使用了抽屉菜单,并且设置项没有分类导致看起来很冗长,我参考小米自带的笔记应用,将设置放在了右上角,并且对设置项进行了分类收纳;
原应用首页提供两个新增按钮,一个是笔记一个是清单,我只保留了笔记新增按钮,目前还没删掉清单相关代码,并且简单地在笔记中实现了添加复选框;

原应用笔记的图片都是以头图的形式放在笔记正文上方,我去掉了它们,改成了在正文中添加图片,并且首页的展示方式也有所不同。

除此以外,还对编辑器内的功能菜单进行了一些调整。
单篇笔记锁定
原应用支持应用级的生物识别解锁,事实上很多安卓系统可以从系统层面进行应用锁定;而我认为应用锁定针对性不强,我需要的是像 onenote 一样对单篇笔记进行锁定。所以修改代码支持了后者,去除了前者。
笔记锁定时,首页概览中对应笔记不再显示正文预览,右侧不再显示图片,取而代之的是上锁的图标。由于进行生物识别/PIN码解锁的界面不支持截图,所以这里没有截图。
特别提醒:目前对毕竟上锁仅仅只是添加了一道门禁,并未真正对笔记内容进行加密混淆!
正文内链图片
原应用的编辑器只支持文字,图片和录音等都是以附件形式添加的,它们无法在正文中对应的地方显示。于是我实现了正文随意位置添加并显示图片,但录音等文件类的附件依然单独展示在附件区,而非正文中。

WebDav 同步
考虑到手机可能遗失或者损坏,所以必须得给笔记一个安全的家。我考虑过 onedrive 同步,但是要折腾 auth 认证以及登陆有效期等等(况且通过 simpleNav 的体验来看,onedrive 的同步速度并不算快),于是我选择了 WebDav 这一同步方式。
国内支持 WebDav 的网盘有坚果云,由于免费版有一些使用限制,所以我选择了 infini-cloud(好久之前就有这个计划了)。infini-cloud 是日本的一家网盘,注册送 20GB 空间,我23年参加活动现在有额外 20GB 直到 2297 年到期的空间。如果你注册使用的话可以考虑使用我的邀请码:7T7M8——这完全随缘,因为邀请获得的空间好像有效期只有一年,况且用来同步笔记,40GB完全够用了。

当然,原应用支持本地导入和导出我也保留了下来。webdav 现在可以正常同步笔记、标签、图片和其它附件,在笔记保存5秒后以及启动应用时自动同步。
困惑和TODO
相较于原应用,因为新增了 WebDav 同步的方式,所以权限上多申请了一个网络权限,不知道为什么就出现了彩信和短信权限,AI检查没有发现使用以及其它库使用该权限,猜测可能是分享功能需要使用到它?
目前这个应用已经可以正常使用了,只是存在一些小小不怎么影响使用的问题,后续考虑会进行一些使用体验上的优化,以及更新文档。
当然,我也在考虑实现一个网页剪藏工具,可以将剪藏的网页内容保存到 WebDav,然后同步到 memoX 上;此外,我也在考虑要不要实现一个网页应用,完全兼容 memoX,间接实现多端同步。
最后,也欢迎感兴趣的博主帮忙测试功能,点击这里访问在 CNB 的 release 发布页进行下载。
总结
改这个项目,我消耗了 CNB 7000 多的 credits,跟 trae 进行了无数轮对话,昨晚一时兴起改到半夜两点多钟。AI 时代带来的便利是真的多啊,以前总是很难遇到各方面都很适合自己的应用,现在可以借助 AI 依靠开源社区的贡献来自定义。
当然,没有十全十美的项目,只有适合自己的项目。






















