闪念笔记 - 像发微博一样记录灵感

程序员费曼大约 13 分钟Obsidian插件闪念Flomo

Obsidian 闪念笔记插件(obsidian-memos)

像发微博一样记录灵感,支持时间戳、标签分类和历史浏览,类似 Flomo 的轻量笔记体验。闪念以列表项形式存储在 Journal 文件中,与 Logseq、日记流兼容。

功能特点

  • 快速捕获:快捷键即可记录灵感,无需中断工作流
  • 自动时间戳:每条闪念可自动添加 HH:mm 时间戳
  • 标签分类:支持 #tag,可按标签筛选
  • 任务支持:支持 Markdown 复选框(- [ ])和关键词任务(TODODOINGDONE
  • 时间追踪:点击任务复选框自动切换状态并追踪耗时(参考 obsidian-time-tracking)
  • 番茄钟:内置番茄工作法,与任务深度结合,支持专注/休息/统计(详见番茄钟章节)
  • 任务列表:特殊标签快速查看所有任务、待办任务、已完成任务
  • 快捷标签与聚合:配置常用标签按钮,支持多标签聚合(如 cy+jf+qt+gw|每日记账,点击后显示带任意一个标签的闪念)
  • 智能关键词:内容包含「数字 + 关键词」时自动加标签(如「午餐13」→ #cy),可与记账场景配合
  • 习惯打卡关键词:内容包含关键词即加标签(不需数字),适合打卡
  • Journal 存储:闪念写在 journals/YYYY-MM-DD.md,与日记、记账同源
  • 外部写入自动刷新:监听 vault 与 metadataCache,Alfred、Python 等外部写入日记后视图会自动刷新

安装方法

从 GitHub Release 安装(推荐)

  1. 前往仓库 Releasesopen in new window 下载最新版本
  2. 下载 main.jsmanifest.jsonstyles.css
  3. 在库中创建 .obsidian/plugins/obsidian-memos/
  4. 将上述文件放入该目录
  5. 重启 Obsidian 或重新加载插件,在设置 → 第三方插件中启用「闪念笔记」

手动构建

cd obsidian-memos
npm install
npm run build
# 将 dist/ 下文件复制到 .obsidian/plugins/obsidian-memos/

快速开始

1. 确认 Journal 目录

在设置中配置「Journal 文件夹」,默认为 journals。闪念会写入该目录下按日期命名的 md 文件(如 journals/2026-01-30.md)。

2. 记录闪念

  • 快捷键Cmd/Ctrl + Shift + M 打开闪念输入弹窗
  • 命令面板:搜索「闪念笔记: 新建闪念」或「闪念笔记: 打开闪念视图」
  • 在弹窗内输入内容后:
    • Cmd/Ctrl + Enter:发送
    • Cmd/Ctrl + Shift + Enter:发送并继续输入
输入
输入

3. 查看与筛选

  • 打开左侧「闪念笔记」视图,按时间倒序浏览
  • 使用顶部标签下拉或快捷标签按钮筛选(如「每日记账」「四象限」)
  • 支持搜索框:按内容或标签关键词过滤
快速筛选:按关键词与标签
快速筛选:按关键词与标签
快速筛选:快捷标签与筛选结果
快速筛选:快捷标签与筛选结果

闪念格式

闪念以「列表项」形式存储在当日 Journal 文件中。

带时间戳(推荐)

- 14:30 这是一条闪念
- 14:35 #想法 #灵感 记录一个点子
- 15:00 #jf 房租2366.85 闪念笔记 每日记账

解析规则:- HH:mm 开头的一行会被识别为一条闪念,后面的 #tag 会被提取为标签,其余为内容。

任务格式

插件支持多种任务格式,所有任务都会被识别为闪念并显示对应的状态:

1. Markdown 复选框

- [ ] 13:33 完成项目报告
- [x] 14:00 回复邮件

2. 关键词任务

- TODO 15:00 待办事项
- DOING 15:30 正在进行
- DONE 16:00 已完成
- NOW 16:30 立即执行
- LATER 17:00 稍后处理
- WAITING 17:30 等待中
- CANCELLED 18:00 已取消

3. 任务状态显示

在闪念视图中,任务会显示对应的状态:

  • 复选框[ ] 未完成、[x] 已完成
  • 状态标签:DOING、NOW、LATER、WAITING 会显示彩色标签
  • 彩色边框:不同状态有不同颜色的左侧边框标识
任务状态显示
任务状态显示

无时间戳(仅标签行)

若一行以 - #tag ... 开头,且其中任意一个标签属于「快捷标签」配置中的任一组关键词,也会被识别为闪念(用于与记账、习惯等聚合标签配合):

- #jf 房租2366.85 生活缴费
- #cy 午餐13 韭黄炒蛋

例如配置了 cy+jf+qt+gw|每日记账 时,带 #jf#cy#qt#gw 中任意一个的这类行都会被识别并出现在「每日记账」筛选项下。

快捷标签与聚合标签

在设置 → 「快捷标签」中配置,格式为逗号分隔的若干项,每项格式如下:

  • 单标签关键词关键词|显示名
    例如:工作p1|重要且紧急
  • 多标签聚合关键词1+关键词2+关键词3|显示名
    点击该按钮时,会筛选出带有其中任意一个标签的闪念。

示例配置:

今天也要用心过生活,p1|重要且紧急,cy+jf+qt+gw|每日记账,工作,sp+reading|习惯打卡
  • cy+jf+qt+gw|每日记账:点击「每日记账」时,显示带 #cy#jf#qt#gw 任一的闪念(与记账插件关键词一致时,可统一在闪念里记流水,在记账插件里看统计)。

智能关键词(记账识别)

在设置中配置 JSON,格式为:{"标签": ["关键词1", "关键词2"]}
当闪念内容中包含「数字 + 任一关键词」时,会自动为该条闪念加上对应标签。

示例:{"cy": ["午餐","早餐","咖啡"], "jf": ["房租","水电"]}
输入「午餐13 韭黄炒蛋」保存后,会自动带上 #cy

习惯打卡关键词

同样为 JSON 配置,但不需要数字,内容里出现关键词即加对应标签,适合打卡类闪念(如「深蹲50个」→ #sp)。

任务时间追踪

插件支持类似 obsidian-time-tracking 的任务时间追踪功能(默认开启,可在设置中关闭)。

使用方法

  1. 点击复选框切换状态:在闪念视图中直接点击任务的复选框或状态标签
  2. 自动记录时间:切换到 DOING 状态时自动记录开始时间
  3. 自动计算耗时:完成任务时自动计算并显示耗时

状态切换流程

Markdown 复选框:

[ ] → DOING → [x](带时长)

关键词任务:

TODO → DOING → DONE(带时长)

示例

# 原始任务
- [ ] 13:33 完成报告

# 点击复选框后变为 DOING(记录开始时间)
- DOING 14:00 <!-- ts:2024-02-09T14:00:00.000Z|source:checkbox --> 完成报告

# 再次点击后变为已完成(显示耗时)
- [x] 13:33 完成报告 25分钟

配置选项

  • 启用任务时间追踪:开启/关闭时间追踪功能(默认:开启)
  • 自动追加时长:完成任务时是否显示耗时(默认:开启)

关闭时间追踪后,复选框变为只读,不会切换状态和记录时间。

时间追踪设置
时间追踪设置

任务列表标签

插件提供三个特殊的任务列表标签,可以快速筛选和查看任务(默认开启,可在设置中关闭或自定义名称)。

三个特殊标签

  1. ALL TASKS:显示所有任务

    • 包括所有 Markdown 复选框([ ][x]
    • 包括所有关键词任务(TODODOINGDONE 等)
  2. TODO LIST:显示未完成任务

    • [ ] - 未选中的复选框
    • TODO - 待办
    • DOING - 进行中
    • NOW - 立即执行
    • LATER - 稍后处理
    • WAITING - 等待中
  3. DONE LIST:显示已完成任务

    • [x] - 选中的复选框
    • DONE - 已完成
    • CANCELLED - 已取消

使用方法

在快捷标签区域点击对应的任务列表标签即可筛选:

任务列表标签
任务列表标签

配置选项

在设置中可以:

  • 开启/关闭任务列表标签功能
  • 自定义三个标签的显示名称(支持中英文)

例如可以改为:

  • 所有任务 / ALL TASKS
  • 待办清单 / TODO LIST
  • 完成清单 / DONE LIST

设置选项摘要

设置项说明
Journal 文件夹闪念存储目录,默认 journals
日期格式文件名日期,默认 YYYY-MM-DD
时间格式时间戳格式,默认 HH:mm
快捷标签按钮与聚合标签,见上文格式
智能关键词数字+关键词 → 自动标签(记账)
习惯打卡关键词关键词 → 自动标签(打卡)
每页显示数量列表分页条数
提交后保持弹窗打开方便连续记录
启动时打开闪念是否默认打开闪念视图
启用任务时间追踪点击任务时自动切换状态并追踪耗时
自动追加时长完成任务时显示耗时
启用任务列表标签显示 ALL TASKS、TODO LIST、DONE LIST
任务列表标签名称自定义任务列表标签的显示名称
启用番茄钟是否显示番茄钟功能
专注时长每个番茄的专注时间(默认 25 分钟)
短休息时长番茄后的短休息(默认 5 分钟)
长休息时长多个番茄后的长休息(默认 15 分钟)
长休息间隔每多少个番茄后长休息(默认 4 个)
完成提示音番茄和休息完成时播放提示音
设置界面
设置界面

番茄钟功能

插件内置番茄工作法(Pomodoro)功能,可以与任务深度结合,帮助你保持专注。

核心功能

  • 🍅 专注计时:为每个任务启动独立的番茄钟
  • 暂停/继续:支持中途暂停和恢复
  • 自动休息:番茄完成后自动进入休息阶段
  • 🌿 长短休息:连续完成多个番茄后进入长休息
  • 跳过休息:可随时跳过休息开始下一个番茄
  • 🔔 提示音:番茄和休息完成时播放提示音

使用方法

启动番茄钟

番茄钟与任务状态深度绑定,支持两种启动方式:

方式一:自动启动(推荐)

当任务从 TODO 状态变为 DOING 状态时,番茄钟会自动启动:

  1. 点击任务的复选框,将 [ ] 变为 DOING 状态
  2. 番茄钟自动开始倒计时
  3. 专注完成后自动进入休息阶段

方式二:手动启动

点击任务卡片上的「🍅 开始专注」按钮手动启动番茄钟。

番茄钟按钮
番茄钟按钮

番茄钟控制

  • 暂停:点击暂停按钮 ⏸ 暂停当前番茄
  • 继续:点击继续按钮 ▶ 恢复计时
  • 停止:点击停止按钮 ⏹ 取消当前番茄(不记录)
  • 完成:任务完成(DOING → DONE)时自动完成番茄钟并记录

休息阶段

番茄完成后会自动进入休息阶段:

  • 短休息:默认 5 分钟,每个番茄后
  • 长休息:默认 15 分钟,每 4 个番茄后
  • 休息期间可以点击「跳过」立即开始下一个番茄
番茄钟休息
番茄钟休息

统计面板

通过左侧边栏的「番茄钟统计」图标可以查看详细的番茄统计:

番茄钟统计
番茄钟统计

今日统计

  • 🍅 今日完成的番茄数
  • ⏱ 今日专注时长(分钟)
  • ☕ 今日休息次数
  • 💤 今日休息时长(分钟)

总计统计

  • 🍅 累计完成的番茄数
  • ⏱ 累计专注时长
  • 📐 平均每个番茄时长
  • 📋 总记录条数

历史记录

  • 查看所有番茄钟历史记录
  • 支持按时间、关联任务、时长排序
  • 支持筛选(全部/已完成)
  • 支持批量删除和清空

配置选项

在设置 → 「🍅 番茄钟」中配置:

设置项说明默认值
启用番茄钟是否显示番茄钟功能开启
专注时长每个番茄的专注时间25 分钟
短休息时长番茄后的短休息5 分钟
长休息时长多个番茄后的长休息15 分钟
长休息间隔每多少个番茄后长休息4 个
完成提示音完成时播放提示音开启
番茄钟设置
番茄钟设置

状态流转

番茄钟的状态机:

idle → running ⇄ paused → completed → short_break/long_break → idle
                              ↘ stop(cancel) → idle

与任务的关联

番茄钟与闪念任务深度绑定:

  • 自动启动:任务从 TODO → DOING 时自动启动番茄钟
  • 自动完成:任务完成(DOING → DONE)时自动完成番茄钟并记录
  • 自动取消:任务取消(DOING → CANCELLED)时跳过休息或停止番茄钟
  • 每个番茄钟关联到具体的闪念任务
  • 不足 1 分钟的专注不计入番茄记录
  • 重启 Obsidian 后,运行中的番茄钟会变为暂停状态

与记账插件配合

  • 闪念笔记与记账类插件可共用同一批 Journal 文件(如 journals/)。
  • 在闪念里用 #cy#jf#gw 等写流水(如 - 14:00 #jf 房租2366.85),用「每日记账」聚合标签在闪念里查看;记账插件从同一文件中解析金额与分类做统计。
  • 两边的关键词建议一致(如记账里用 jf=生活缴费,闪念里也用 #jf),这样一条记录既可当闪念浏览,也可被记账统计。

外部修改自动刷新

当 Journal 被 Alfred、Python 脚本、Quick Add 等外部工具修改时,插件通过「vault 事件 + metadataCache.changed」双监听,在检测到目标文件变更后自动刷新视图,无需定时轮询。详见插件 README 中的「插件开发参考:监听文件变化并自动刷新视图」。

常见问题

Q: 带 #jf 的记账行为什么在「每日记账」里看不到?
A: 确保该行被识别为闪念:要么是 - HH:mm #jf ... 格式,要么是 - #jf ...jf 属于某个快捷标签的整组关键词(如 cy+jf+qt+gw|每日记账 里的 jf)。若之前不显示,多为只匹配了聚合里的第一个关键词,已修复为按整组关键词识别。

Q: 闪念存在哪个文件?
A: 存在「Journal 文件夹」下、按「日期格式」命名的 md 文件中,例如 journals/2026-01-30.md

Q: 如何修改默认标签?
A: 在设置 → 「默认标签」中填写,新建闪念时会自动带上这些标签。

Q: 任务复选框点击后没有反应?
A: 检查设置中「启用任务时间追踪」是否开启。关闭后复选框变为只读,不会切换状态。

Q: 如何查看所有待办任务?
A: 点击快捷标签区域的「TODO LIST」标签,会自动筛选出所有未完成的任务。

Q: 任务时间追踪的数据存在哪里? A: 时间追踪数据以 HTML 注释的形式存储在任务行中(如 <!-- ts:2024-02-09T14:00:00.000Z|source:checkbox -->),不影响阅读,可以被其他工具忽略。

Q: 番茄钟数据存储在哪里? A: 番茄钟数据存储在 Obsidian 的 data.json 中,不在 markdown 文件中,不会影响笔记内容。

Q: 重启 Obsidian 后番茄钟会怎样? A: 运行中的番茄钟会变为暂停状态,需要手动继续;休息阶段的番茄钟会被丢弃。

Q: 如何查看番茄钟统计? A: 点击左侧边栏的「番茄钟统计」图标,可以查看今日/总计统计和历史记录。

Q: 番茄钟可以自定义时长吗? A: 可以,在设置中可以配置专注时长(1-60分钟)、短休息时长、长休息时长和长休息间隔。

开发

npm install
npm run dev      # 开发模式
npm run build    # 构建
npm run release  # 发布到 GitHub

许可证

MIT License