Diary OS —— Notion 全自动日记系统 · 部署指南

💡 Diary OS —— 你只管写,其余全自动。
你每天手动新建一篇日记,云端自动化在每晚 23:45 负责补齐:日期、年/月/周关联、字数统计、日历图标。
⚠️ 核心警告(必读)
  1. 不要修改 5 个数据库的英文名称(Day, Week, Month, Year, All),否则自动化程序找不到它们。
  1. 整套系统基于 GitHub Actions 运行,完全免费,不需要服务器。

🎯 这是什么

  • 零成本:GitHub Actions 公共仓库完全免费,Notion 个人版即可,无服务器
  • 零垃圾:你写才建页——没写的日子不会堆出一堆空日记
  • 全自动:日期、四级时间关联、字数统计、日历图标,每晚自动补齐

📦 你会得到什么

组件
说明
Day
日记库:心情、分类、收藏、一句话摘要、字数
Week / Month / Year / All
四级时间轴,自动维护,带 Total Words 字数汇总
Mood / Categories
标签库——点开任一心情或分类,一拉就是全部相关日记
日历图标
每篇日记自动配上当天日期的动态日历图标
字数热力图
可选,GitHub 风格书写热力图(见下文)

🚀 5 分钟部署

第一步:复制模板(1 分钟)

  1. 打开模板页面
  1. 点击右上角 Duplicate,把它复制到你的工作区。
  1. 复制出来的页面放在哪里都行,7 个数据库都包含在内。

第二步:创建 Integration(2 分钟)

  1. 打开 notion.so/my-integrationsNew integration,随便起名(如 Diary OS)。
  1. 复制 Internal Integration Secretsecret_ 开头)。
  1. 回到 Notion,打开你复制出来的模板页 → 右上角 ...Connections → 添加刚创建的 integration。
⚠️ 第 3 小步必须做,否则脚本访问不了你的页面(会报 404)。

第三步:Fork 仓库 + 配置 Secrets(2 分钟)

  1. Fork notion-automated-diary
  1. 仓库 Settings → Secrets and variables → Actions,添加两条 Secret:
Name
Value
NOTION_TOKEN
第二步复制的 secret
NOTION_PAGE
你复制出来的模板页链接(浏览器地址栏 URL)
  1. Fork 的 Actions 默认禁用,去 Actions 标签页手动点 Enable

第四步:验证

  1. Actions → Daily Diary Sync → Run workflow,看到日志输出「扫描最近 7 天的日记」即部署成功。
  1. 在 Day 库新建一篇日记(标题写成 2026-08-20 这样的日期格式,或设好 Date 属性),随便写几个字,再手动 Run 一次。
  1. 几秒后刷新:字数出现了、年/月/周关联好了、日历图标也配上了——这就是日常效果。

⏱️ 30 秒设置:默认模板(强烈建议)

让「每天写日记」像呼吸一样自然:
  1. 打开 Day 数据库 → 蓝色 New ▾+ New template
  1. 在模板的 Date 属性里输入 @today,选择 Today(不是具体日期)。
  1. 给模板起名(如「日记」)→ 右侧 ...Set as default
之后每天点 Day 的小箭头即可新建当天日记,日期自动填今天,标题想写什么写什么——留空也行,当晚自动补成日期标题(如 2026-08-20),自己写的标题永远不会被覆盖。

📝 日常使用

  • 每天写:Day → 小箭头 → 写 → 关掉。当晚 23:45(北京时间)云端自动补齐一切,第二天早上打开就是完整的。
  • 补写旧日记:把标题改成 YYYY-MM-DD,或手动设好 Date 属性——第二天自动关联、统计、配图标。等不及就手动 Run 一次 Daily Diary Sync,立即生效。
  • 心情 / 分类:写的时候顺手选一下;不选也完全没问题。
  • 看统计:Week / Month / Year 里的 Total Words 自动汇总;点开任一分类或心情,一拉就是全部相关日记。

📊 可选:字数热力图(Vercel 免费部署)

  1. Fork heatmap
  1. vercel.com 导入该仓库,配置三个环境变量:
变量
ENV_DATABASE_ID
你的 Day 数据库 ID(数据库 URL 里那串 32 位字符)
ENV_NOTION_TOKEN
同 NOTION_TOKEN
ENV_CHECKBOX_PROPERTY_NAME
Word Count
  1. 部署完成后,把网站地址 Embed 到你的日记页。
  1. 热力图默认跟随系统深浅色;想强制深色,在链接后加 ?theme=dark

🔧 高级工具(都在仓库 Actions 里,手动触发)

  • Cleanup Empty Diary Pages:归档空日记页。默认只预览,确认无误后勾选 apply 参数再跑一次才真删;有图片、附件的页面会被保护,绝不误删。
  • Recalculate Word Count:全量重算所有日记的字数(数据修正用)。

❓ FAQ

Q:我想要全自动创建,连点都不想点?
手动 Run Daily Diary Sync 时在命令里加 --create 参数即可回到旧行为(每天自动建页)。但会产生空日记页,不推荐。
Q:标题留空会怎样?
创建当天标题是空的,当晚维护时自动补成日期格式(YYYY-MM-DD);如果你自己写了标题(哪怕第二天才写),脚本不会覆盖它。
Q:一次性导入几百篇旧日记会怎样?
首晚运行会变长(每篇约 0.5 秒),这是一次性成本;之后恢复正常(约 30 秒/晚)。
Q:日历图标依赖第三方吗?
图标由第三方图床渲染。即使某天图床失效,也只是图标不显示,不影响任何日记数据;更换图标源后重跑维护即可恢复。
Q:真的免费吗?
公共仓库的 GitHub Actions 免费;Notion 个人版够用;热力图用 Vercel 免费额度。

📋 版本日志

  • v2.0(2026-08-20):架构重写为「手动创建 + 全自动维护」;新增图标自动补齐、全库兜底扫描;移除自动创建定时任务(保留 --create 参数);热力图支持深色模式与 6 个月视图。
  • v1.0(2026-01):初版,每日 00:05 自动创建日记页。