用 Claude Code 打造自动写日记系统

用 Claude Code 打造"自动写日记"系统:我的 Obsidian 一键记录工作流

一、痛点:记录和心流,天然矛盾

我有个习惯,喜欢把工作中的细节都记下来。

不是那种"今天完成了 xx 功能"的流水账,而是详细的过程:为什么要做这件事、中间踩了什么坑、最后怎么解决的。这些细节对后续复盘特别有用,有时候隔几个月遇到类似问题,翻出当时的记录,能省不少时间。

但问题来了:边开发边记录,太打断心流了。

写代码写到一半,想着"这个坑得记一下",切到笔记软件,敲几行字,再切回来——思路早就断了。更多时候是忙完一天,瘫在椅子上,想着"算了,明天再说",然后就没有然后了。

这事儿挺矛盾的。

二、思考:能不能让 AI 帮我记?

某天用 Claude Code 写代码,突然想到:AI 全程陪着我干活,它比我更清楚刚才做了什么。能不能让它帮我记?

理想状态就是:我只管干活,进入心流,不操心记录的事。干完一个阶段,说一句"帮我记一下",AI 自动把刚才的过程写到日记里。

但得解决两个问题:

  1. AI 怎么知道我做了什么?—— 这个好办,Claude Code 本身就有完整的会话上下文
  2. AI 怎么知道往哪写?—— 需要告诉它我的笔记库在哪、日记格式是什么

三、我的成果:一条命令搞定

折腾了一番后,我现在的工作流是这样的:

无论在哪个项目工作,完成一个阶段性成果后,输入:

/daily 流水 完成了 xxx

Claude Code 会自动:

  1. 回顾当前会话,提取做了什么
  2. 按照我的格式整理:起因 → 过程 → 结论
  3. 写入今天的 Obsidian 日记

实际效果长这样:

- 09:30 | 完成公众号文章草稿《别只让 ChatGPT 写文案了》 #insight
    - 起因:根据日记挖掘出的写作主题,撰写公众号文章
    - 过程:
        1. Claude Code 读取参考文件 90_Daily/2026-01-07.md,提取两个真实案例素材
        2. Claude Code 给出 5 个题目候选,选定第 2 个
        3. Claude Code 列出文章大纲(开篇→案例1→案例2→方法总结→结尾)
        4. Claude Code 完成初稿,进行去 AI 味处理
        5. 案例涉及业务信息,Claude Code 进行脱敏处理
        6. 自行修订后,Claude Code 进行审校,发现 8 处问题并修复
    - 结论:文章草稿完成 → 20_Area/ChatGPT 使用技巧/文章标题

每一步都写清楚是谁做的(Claude Code 还是我自己),后面复盘的时候一目了然。

四、我的工作流

整个流程分三步:

1. 准备工作

你需要:

  • Claude Code:Anthropic 的命令行 AI 助手(或者 Codex,原理类似)
  • Obsidian:本地 Markdown 笔记软件(其他笔记软件也行,能存 .md 文件就行)

2. 设置目录结构

我的 Obsidian 笔记库结构:

我的笔记/
├── 90_Daily/           # 日记目录
│   ├── 2026-01-26.md
│   ├── 2026-01-27.md
│   └── 2026-01-28.md
└── 99_System/
    └── Templates/
        └── Daily Note.md   # 日记模板

日记按天命名,格式是 YYYY-MM-DD.md。每天的日记有固定模板,包含"每日流水"、"项目日志"等板块。

3. 日常使用

工作流程:

  1. 打开任意项目,用 Claude Code 正常工作
  2. 完成一个阶段性成果(比如修完一个 Bug、写完一个功能)
  3. 输入 /daily 流水 <简单描述>
  4. Claude Code 自动总结会话内容,写入今天的日记

就这么简单。记录变成了工作的"副产品",不用专门抽时间去写。

五、如何实现:全局斜杠命令

靠的是 Claude Code 的全局斜杠命令功能。在 ~/.claude/commands/ 目录下创建一个 Markdown 文件,就能定义一个全局可用的命令。

创建命令文件

mkdir -p ~/.claude/commands
touch ~/.claude/commands/daily.md

命令文件内容

文件开头用 frontmatter 定义元信息:

---
allowed-tools: Read, Write, Bash
description: 记录工作过程中的笔记到 Obsidian 日记系统
---

allowed-tools 限制命令可以使用的工具,这里只需要读写文件和执行简单命令。

接下来是命令的具体指令,告诉 Claude Code:

  • 参数格式是什么(流水项目 + 内容)
  • 日记文件在哪(路径、命名规则)
  • 如果文件不存在怎么办(从模板创建)
  • 记录格式长什么样

记录格式设计

我设计的格式是这样的:

- {时间} | {事项名称} #标签
    - 起因:{为什么做这件事}
    - 过程:
        1. {主语} {动作1}
        2. {主语} {动作2}
        ...
    - 结论:{结果/产出链接}

有个细节很重要:每一步都要写清楚主语

比如:

  • ✅ "Claude Code 读取参考文件"
  • ✅ "Claude Code 给出 5 个题目候选"
  • ✅ "自行修订后,Claude Code 进行审校"
  • ❌ "读取参考文件"(谁读的?)

这样后面复盘的时候,能清楚看到哪些是 AI 做的、哪些是自己做的,方便评估 AI 的实际贡献。

完整命令文件

我把完整的命令文件放在这里,可以直接复制使用(记得把路径改成你自己的):

---
allowed-tools: Read, Write, Bash
description: 记录工作过程中的笔记到 Obsidian 日记系统
---

# 工作日志记录

将当前会话中值得记录的内容写入 Obsidian 日记。

## 参数格式

$ARGUMENTS

格式:`<类型> <内容>`
- 类型:`流水` 或 `项目`
- 内容:要记录的事项描述

## 执行步骤

### 1. 解析参数
- 提取第一个词作为类型(流水/项目)
- 剩余部分作为记录内容

### 2. 获取上下文信息
- 当前时间:执行 `date "+%Y-%m-%d %H:%M"`
- 当前项目:从当前工作目录提取项目名
- 今日日期:执行 `date "+%Y-%m-%d"`

### 3. 定位日记文件
- Obsidian Vault:`你的笔记库路径`
- 日记目录:`90_Daily`
- 日记文件:`{今日日期}.md`

### 4. 检查日记文件是否存在

如果文件不存在:
1. 读取模板文件
2. 复制模板内容到新文件
3. 替换日期变量

### 5. 总结当前会话

在写入前,回顾当前会话,提取:
- 做了什么(事项摘要)
- 起因
- 过程明细(要求细节详实)
- 结论

**主语规则:**
- 每个步骤必须明确主语
- 工具执行的操作写工具名:Claude Code、Codex 等
- 用户执行的操作写"用户"或"自行"

### 6. 写入对应位置

#### 如果是「流水」
在「每日流水」部分追加:
- {HH:MM} | {事项名称} #标签
    - 起因:...
    - 过程:...
    - 结论:...

#### 如果是「项目」
在「项目日志」对应项目下追加

### 7. 确认并写入
- 展示预览
- 获得确认后写入

六、结尾

这套工作流用了大半个月,最大的感受是:记录终于不再是负担了

以前总觉得记日记是额外的工作,现在它变成了正常工作流的一部分。干完活,敲一行命令,AI 帮我整理好,我扫一眼确认没问题就完事了。

没想到的是,因为记录变得容易了,我记的东西比以前多多了。有些小细节以前懒得记,现在顺手就记下来了。累积起来,复盘的时候素材比以前丰富很多。

如果你也有"想记录但懒得记"的困扰,可以试试这个方案。命令文件可以直接拿去用,根据自己的笔记结构改改路径就行。