核心用法
Notebook 是一款本地优先、YAML 驱动的个人知识管理系统。用户通过定义「类型」(type)来追踪任何感兴趣的对象——从想法、项目、任务到书籍、人脉、习惯等。每个类型可自定义字段(文本、多行文本、单选、数字、日期、列表等),并通过 CLI 风格命令进行增删改查、关联链接与深度扩展。
典型工作流:
1. 定义类型:notebook type-add idea title:text status:select(raw|expanded) notes:longtext
2. 创建对象:notebook add idea "语音速记功能" -t productivity -p high
3. 深化内容:notebook expand idea "语音速记" 触发智能追问,丰富细节
4. 建立关联:notebook link idea:"语音速记" project:"家庭自动化"
5. 追踪进展:notebook edit idea "语音速记" status:expanded
数据完全本地存储于 /data/notebook/,包含 types.yaml 类型定义、objects/ 对象文件及 index.json 索引,无外部依赖。
显著优点
- 极致灵活:用户完全掌控数据结构,拒绝预制模板的束缚
- 零云锁定:纯 YAML 文本格式,可用任何编辑器查看迁移,长期可维护性极强
- 对象互联:支持跨类型双向链接,构建网状知识图谱
- 渐进式扩展:从简单记录到深度追问,随使用深度自然生长
- 命令式高效:CLI 风格操作适合键盘流用户,批量处理效率高
潜在局限
- 无图形界面:纯文本交互对非技术用户门槛较高
- 无原生同步:需自行搭配 Git、Syncthing 等工具实现多设备同步
- 无协作功能:设计为个人单用户场景,团队共享需额外方案
- 依赖自律:缺乏提醒、截止日期通知等主动推送机制
- 查询能力有限:
notebook find为简单文本匹配,复杂筛选需外部工具
适合人群
- 技术背景用户、开发者、研究者等习惯命令行操作者
- 对数据主权敏感、拒绝 SaaS 订阅的隐私优先群体
- 需要高度自定义工作流的个人知识管理(PKM)进阶用户
- 愿意投入初期配置时间以换取长期灵活性的长期主义者
常规风险
- 数据丢失:纯本地存储若无备份策略(如 Git 仓库),单点故障风险较高
- schema 漂移:频繁修改类型定义可能导致历史对象字段不一致
- 关联断裂:手动维护的链接若对象重命名易失效,缺乏自动重链机制
- 性能瓶颈:随着对象数量增长(预估数千以上),纯文件索引查询效率可能下降
- 学习成本:YAML 语法错误、字段类型定义不当可能引发解析失败,需一定调试能力