Obsidian 提醒事项同步

程序员费曼大约 6 分钟Obsidian插件开发TypeScript

Obsidian 提醒事项同步

通过 macOS 提醒事项快速录入数据,自动同步到日记笔记。利用 Siri 和手机随时随地记录,让 Obsidian 成为你的数字化中枢。

核心理念

提醒事项是最便捷的数字化录入窗口:

  • 🎤 Siri 语音输入:无需打开任何应用,随时随地记录
  • 📱 移动优先:手机、iPad、Mac 随时录入,桌面端自动整理
  • 自动同步:插件加载时自动同步,也可手动触发
  • 🗑️ 自动清理:同步成功后自动删除提醒,保持整洁

功能特性

💰 记账管理

智能识别消费记录,自动分类统计:

  • 餐饮:午餐50元
  • 购物:买了水果20
  • 缴费:水电费200
  • 贷款:房贷2000

📚 习惯打卡

记录日常习惯,培养良好生活方式:

  • 阅读:读了30页红楼梦
  • 运动:跑步5公里
  • 学习:学习英语1小时

🎬 观影记录

记录观看的影视作品:

  • 电影:看了电影《肖申克的救赎》
  • 电视剧:追剧 庆余年

快速开始

1. 创建提醒

在 macOS 提醒事项中创建提醒,使用自然语言描述:

午餐花了50元
跑步5公里
看了电影《肖申克的救赎》

2. 设置日期

为提醒设置到期日期,数据会同步到对应日期的日记。

3. 自动同步

插件会在 Obsidian 启动时自动同步,也可以手动执行:

  • 打开命令面板(Cmd+P)
  • 输入"同步提醒事项到日记"

4. 查看结果

打开对应日期的日记文件,查看同步的数据:

- #cy 50 午餐花了元
- #sp 跑步5公里
- #movie 《肖申克的救赎》看了电影

使用场景

场景 1:随时记账

在外就餐,对着 Siri 说:"提醒我 午餐50元",回家后自动同步到今天的日记。

场景 2:习惯打卡

跑步结束,说:"提醒我 跑步5公里",自动记录到运动打卡。

场景 3:观影记录

看完电影,说:"提醒我 看了电影肖申克的救赎",自动归档到观影记录。

场景 4:快速备忘

任何想记录的事情,都可以通过提醒事项快速录入,让 Obsidian 成为你的数字化大脑。

智能识别规则

记账识别

提醒内容必须包含数字才会被识别为记账:

触发词:

  • 餐饮:餐、吃、饭、早餐、午餐、晚餐、宵夜、食
  • 购物:购、买、购物、商场、超市
  • 贷款:贷款、房贷、公积金
  • 缴费:房租、水电、停车费、物业、燃气、网费、话费、缴费

示例:

  • 午餐50元- #cy 50 午餐元
  • 买水果20- #gw 20 买水果
  • 房租3000- #jf 3000 房租

打卡识别

不包含数字或包含数字但不符合记账格式:

触发词:

  • 阅读:阅读、读了、看书、读书
  • 运动:运动、深蹲、哑铃、散步、跑步、健身
  • 学习:学习、英语、学了

示例:

  • 读了30页红楼梦- #reading 读了30页红楼梦
  • 跑步5公里- #sp 跑步5公里

视频识别

触发词:

  • 电影:电影、看了电影、观影
  • 电视剧:电视剧、看了电视剧、追剧、剧集

示例:

  • 看了电影《肖申克的救赎》- #movie 《肖申克的救赎》看了电影
  • 追剧 庆余年- #tv 追剧 庆余年

配置说明

编辑 config.json 文件自定义配置:

{
    "appName": "提醒事项同步",
    "journalsPath": "journals",
    "reminderListName": "Inbox",
    "autoSync": false,
    "syncInterval": 300000,
    "categories": {
        "cy": "餐饮",
        "gw": "购物",
        "dk": "贷款",
        "jf": "生活缴费",
        "qt": "其他"
    },
    "smartKeywords": {
        "cy": ["餐", "吃", "饭", "早餐", "午餐", "晚餐", "宵夜", "食"],
        "gw": ["购", "买", "购物", "商场", "超市"],
        "dk": ["贷款", "房贷", "公积金"],
        "jf": ["房租", "水电", "停车费", "物业", "燃气", "网费", "话费", "缴费"]
    },
    "habits": {
        "reading": "阅读",
        "sp": "运动",
        "en": "学习"
    },
    "habitKeywords": {
        "reading": ["阅读", "读了", "看书", "读书"],
        "sp": ["运动", "深蹲", "哑铃", "散步", "跑步", "健身"],
        "en": ["学习", "英语", "学了"]
    },
    "videoTypes": {
        "movie": "电影",
        "tv": "电视剧"
    },
    "videoKeywords": {
        "movie": ["电影", "看了电影", "观影"],
        "tv": ["电视剧", "看了电视剧", "追剧", "剧集"]
    }
}

配置项说明

  • appName: 插件显示名称
  • journalsPath: 日记文件夹路径
  • reminderListName: 提醒事项列表名称(默认 "Inbox")
  • autoSync: 是否启用自动定时同步
  • syncInterval: 自动同步间隔(毫秒,默认 5 分钟)
  • categories: 记账分类配置
  • smartKeywords: 记账智能识别关键词
  • habits: 习惯打卡配置
  • habitKeywords: 打卡智能识别关键词
  • videoTypes: 视频类型配置
  • videoKeywords: 视频智能识别关键词

高级用法

预览待同步内容

在同步前,可以先预览:

  1. 打开命令面板(Cmd+P)
  2. 输入 "预览待同步的提醒事项"
  3. 查看将要同步的记录

批量录入

在提醒事项中创建多条提醒,设置不同的到期日期,一次性同步:

午餐50元 - 到期: 2024-01-16
跑步5公里 - 到期: 2024-01-16
看了电影《教父》 - 到期: 2024-01-17

补录历史数据

为提醒设置过去的日期,可以补录历史数据:

标题: 昨天午餐100元
到期日期: 2024-01-15

自定义触发词

config.json 中添加更多触发词:

{
    "smartKeywords": {
        "cy": ["餐", "吃", "饭", "早餐", "午餐", "晚餐", "外卖", "点餐"]
    }
}

与其他插件配合

obsidian-accounting

本插件与 obsidian-accounting 使用相同的记账格式,可以无缝配合:

  1. 使用本插件从提醒事项同步记账
  2. 使用 obsidian-accounting 查看统计和分析

obsidian-habit-tracker

打卡记录格式与 obsidian-habit-tracker 兼容,可以统一管理习惯数据。

obsidian-my-videos

视频记录格式与 obsidian-my-videos 兼容,可以统一管理观影记录。

注意事项

避免重复同步

插件会检查日记文件中是否已存在相同的记录,避免重复添加。

提醒自动删除

同步成功后,提醒会自动从提醒事项中删除,保持整洁。

日记文件路径

确保 journalsPath 与你的日记文件夹路径一致。如果日记在其他位置,修改配置:

{
    "journalsPath": "daily-notes"
}

权限要求

首次使用时,macOS 会请求访问提醒事项的权限,请允许。

故障排查

同步失败

  1. 检查是否为 macOS 系统
  2. 检查提醒事项格式是否正确
  3. 检查日记文件夹路径是否存在
  4. 查看 Obsidian 开发者控制台(Cmd+Option+I)的错误信息

找不到提醒

  1. 确认提醒在配置的列表中(默认 "Inbox")
  2. 确认提醒未被标记为完成
  3. 记账提醒必须包含数字

识别错误

  1. 检查触发词是否在配置中
  2. 记账提醒必须包含数字
  3. 查看控制台日志了解识别过程

系统要求

  • macOS 系统(仅桌面端)
  • Obsidian 1.2.8+
  • 需要访问 macOS 提醒事项的权限

开发

# 安装依赖
npm install

# 开发模式
npm run dev

# 构建
npm run build

# 部署到 vault
npm run deploy

# 发布版本
npm run release

许可证

MIT

git仓库地址

https://github.com/fengshuzi/obsidian-reminder-syncopen in new window

可从 https://github.com/fengshuzi/obsidian-reminder-sync/tagsopen in new window 下载打包文件,也可以自己二次开发