本项目是一款面向个人知识工作者和学生的移动端知识管理应用,核心目标是帮助用户在手机端构建自己的「第二大脑」。
1.用户可以以笔记、想法、链接等不同类型记录信息,支持 Markdown 格式,方便撰写结构化内容。通过标签与 [[双向链接]] 功能,不同笔记之间可以相互引用、形成网状知识图谱,减少信息孤岛。
2.应用内置全文搜索与多维筛选能力,支持按关键字、标签、类型、时间和星标进行组合过滤,并在列表中对搜索命中内容进行高亮展示,帮助用户在大量笔记中快速定位目标信息。针对重复或高度相似内容,系统通过相似度算法自动识别可疑重复笔记,在知识库页面集中提示,并提供一键合并与撤销合并能力,保持知识库干净有序。
3.在记忆巩固方面,应用引入简化的间隔重复机制。用户可以为重点笔记标记“需复习”,系统根据 1-3-7-14-30 天等周期自动生成复习计划,并在首页展示“今日复习”清单,支持快速查看和完成勾选,帮助长期记忆与备考。同时提供导入 / 导出 JSON 备份、系统分享入口及桌面小组件等能力,方便用户在不同场景下快速收集与回顾信息。
项目基于 Kotlin 开发,采用 Jetpack Compose 构建全新的响应式 UI,整体架构为 MVVM + Repository + UseCase 分层。
1.数据存储使用 Room 构建本地数据库,设计了知识条目、标签、知识-标签关系和知识链接关系等实体表,并通过 FTS(全文搜索)表实现标题与内容的高效模糊搜索。Repository 层对 DAO 进行统一封装,向上提供笔记增删改查、标签管理、双向链接维护、复习计划更新等领域接口。
2.业务逻辑通过 UseCase 进行拆分,例如“获取知识列表”“按标签与关键字筛选笔记”“设置间隔复习时间”等,ViewModel 通过 Kotlin 协程和 StateFlow 管理状态,将过滤条件、搜索关键字、待复习列表、相似笔记对等数据以流的形式暴露给 Compose UI 层。相似内容识别使用基于分词的 Jaccard 相似度算法,在 ViewModel 中对当前列表进行处理,生成相似笔记对并提供合并 / 撤销操作。
3.依赖注入使用 Hilt 管理数据库、Repository 和 ViewModel 生命周期,简化组件装配。界面上通过 Compose 构建首页看板、知识库列表和 Markdown 编辑器组件,结合 Material 3 主题与暗色模式适配,提升移动端使用体验。项目还集成 NDK 与原生安全校验逻辑,对应用签名和调试环境进行检查,在应用启动阶段完成 APK 完整性验证,提升整体安全性和可靠性。