又是年底了,
想知道今年自己都做了什么?
有哪些日子是关键的吗?
如果你有写日记的习惯(正经人谁写日记啊 bushi)~

不知道各位有没有感觉,随着 Vibe Coding 大行其道,AI 一天能够生产的内容能超过一个人一年能生产的内容,但又由于 AI 有着幻觉,所有人就得跟着给它 review,AI 有时候并没有解放我们,反而是让我们更多卷进了效率竞赛中,越来越焦虑。我们要知道,AI 是人类的工具,而不是人类的鞭子。
正在此时刻,刚好看到有两位大神都不约而同选择了开始写日记(谁说写日记不正经🐶)
一位是作家马伯庸,他在 2024 年底选择重拾写日记的习惯,只记录事件,大白话就是写流水账;另一个是 AI 大神 Andrej Karpathy。他的日记更极简——只有一个备忘录文档,采用 Append-only 模式:想到什么就往顶部丢,不打标签、不分类、不设层级,像用剪切板一样用日记。
归根结底,就是降低记录的摩擦力,把记录的阻力降到最低。
这种极简的内容,正非常适合 AI 进行分析,帮助我们了解自己,为什么呢?
第一,语义密度高。流水账里全是人名、书名、事件、时间、地点,这些都是 AI 最容易提取的结构化信息。不像抒情散文,“今天的夕阳让我想起故乡的麦田”——AI 只能回你一句“人在怀旧”。
第二,上下文友好。一年流水账可能只有几万字,完美适配大模型上下文窗口。而一篇精心雕琢的文档,动辄上千字,还充满非事实的内容,AI 读完只会说:“人,你的情绪很复杂。”
第三,无表演性。当日记只为给自己看,我们才敢记下“今天又刷了 3 小时短视频”这样的“失败事实”。而想要观察真实的自己,最需要避免的就是自我美化和表演欲。
就相当于你构建了属于自己的记忆库。
本地 AI:你的记忆外挂
意识到这点后,我开始尝试用 Qwen Code 给自己搭建一个“年度复盘助手”。
为什么强调“本地”?因为我的日记里有太多不能上云的细节:我的私人吐槽、我的隐秘情绪、那些连自己都不愿再回想的羞耻时刻……完全不想拥有任何可能的读者。
粉身碎骨全不怕,死前手机格式化。

在 Qwen Code 新发布的 0.6.0 版本中,Skills 功能让这件事变得简单。
我创建了一个“yearly-review”技能,扫描我的所有日记,帮我复盘一下到底今年都干了啥,状态如何?同时帮我总结今年的里程碑,想不想来试试?
👇 生成的报告大概是这样子的

不过你当然也可以根据自己的需求调整,周报、日报,根据自己的内容建立 AI 分身进行自我对话等等,本地的就是好!如果你感兴趣的话,接下来我将告诉你怎么用起来!
如何使用?
- 安装 Qwen Code:打开本地终端,直接电脑系统搜索【终端】即可,输入以下命令。
npm install -g @qwen-code/qwen-code@latestplaintext- 进入文件夹:进入你的写日记的文件夹路径,比如我的在:
/Users/joeytoday/Documents/Journal/Journal-2025,在终端输入,建议可以使用 VS Code 此类编辑器打开文件夹后,直接开启终端。
cd /Users/joeytoday/Documents/Journal/Journal-2025plaintext-
启动 Qwen Code:在终端输入
qwen --experimental-skills -
新建 Skills:文件夹下会出现
.qwen文件夹,新建skills文件夹,再新建yearly-review文件夹,新建SKILL.md文件,内容参考末尾(你也可以根据自己的需求改动) -
创建 Skill 之后直接在对话框中调用技能,你就能和我一样直接武装 Qwen Code,定制属于你的 AI 本地智能助手。现在开始你的年度复盘吧~效果参考👇
End
Qwen Code 0.6.0 版本上线的 Skill 形式可以很好固定我们的工作流,根据自己的需求,定制不同的技能,就像一个人无法干所有的事情,一个 Agent 也无法完成所有的事情,Skills 就相当于是不同的工具,AI 可以使用不同的工具做不同的事情,然后把事情做好。
你不仅仅可以给自己定制年度复盘,还可以给自己定制各种认知模型,记录 +AI 才是新时代的大脑外挂啊。
参考内容
- 归藏的笔记:https://mp.weixin.qq.com/s/R7M_1lVefXeglzIKCKRrLg
- 马伯庸的笔记:https://mp.weixin.qq.com/s/Dz1V_Y296xzxVxvr3sVU-g
年度复盘 Skill. md
---
name: annual-diary-reviewer
description: 在本地日记库中搜索全年日记(按YYYY-MM-DD格式命名),自动生成深度年度复盘报告,输出为{{year}-annual-review格式的Markdown文件
---
# 本地日记年度复盘助手
## 目标
在用户本地日记库中自动搜索并分析**上年度**(2025)的全部日记内容,生成深度年度复盘报告。日记文件按标准日期格式命名(`YYYY-MM-DD.md`),技能将:
1. 识别全年日期范围内的所有日记文件
2. 提取关键内容并进行跨季度模式分析
3. 生成符合`YYYY-annual-review.md`命名规范的复盘文件
4. 保存到指定目录
## 任务
严格按以下步骤执行:
### 1. 日期范围确定
- **获取当前年份**:2025年
- **计算全年范围**:
- 起始日:2025年1月1日
- 结束日:2025年12月31日
- **生成搜索文件名列表**:
```python
# 生成2025年所有日期的文件名列表(365/366个)
["2025-01-01.md", "2025-01-02.md", ..., "2025-12-31.md"]
```
### 2. 本地文件搜索
- **搜索路径**(按优先级):
1. 用户指定路径(通过`--diary-path`参数)
2. 默认路径:`/Users/joeytoday/Documents/qwen-code-demo/joey-notes_review/Journal/Journal-2025`
- **文件处理规则**:
- 仅处理`.md`扩展名文件
- 统计全年文件存在率(存在文件数/365)
- 按季度分组文件:Q1(1-3月)、Q2(4-6月)、Q3(7-9月)、Q4(10-12月)
- 读取文件内容时使用UTF-8编码
### 3. 内容提取与分析
- **提取关键信息**:
- 年度主题(从高频词和重复内容中识别3-5个核心主题)
- 情绪分布(统计全年情绪关键词频率,按季度对比)
- 目标追踪(识别年初设定的目标及全年进展状态)
- 关系网络(提取提到的人名及互动频率变化)
- **深度模式识别**:
- 季度对比分析(Q1 vs Q2 vs Q3 vs Q4的关键变化)
- 转折点识别(情绪或主题突变的日期,如重大事件)
- 成长轨迹(技能、认知、习惯的演进路径)
- 未完成事项(年初计划但年末未完成的事项)
### 4. 报告生成
- **文件命名规则**:`{year}-annual-review.md`
- 2025年 → `2025-annual-review.md`
- **强制结构**:
# 2025年度复盘报告
## 年度概览
[5-7句总结,涵盖整体状态、关键转变、核心成就]
## 核心主题演化
- **主题1名称**:
- Q1:[状态描述](峰值日期:{[[date\|date]]})
- Q2:[状态描述](峰值日期:{[[date\|date]]})
- Q3:[状态描述](峰值日期:{[[date\|date]]})
- Q4:[状态描述](峰值日期:{[[date\|date]]})
## 情绪地图
| 季度 | 主导情绪 | 强度变化 | 关键触发事件 |
|------|----------|----------|--------------|
| Q1 | [情绪] | [上升/下降] | [{[[date\|date]]}]日记记录 |
| Q2 | [情绪] | [上升/下降] | [{[[date\|date]]}]日记记录 |
| Q3 | [情绪] | [上升/下降] | [{[[date\|date]]}]日记记录 |
| Q4 | [情绪] | [上升/下降] | [{[[date\|date]]}]日记记录 |
## 目标完成度
- **目标1**:[完成度百分比](年初设定:[{[[date\|date]]}],关键进展:[{[[date\|date]]}])
- **目标2**:[完成度百分比](年初设定:[{[[date]]}],关键进展:[{[[date]]}])
## 关键洞察
[3-5条深度观察,每条必须连接≥3个不同季度的日记证据]
## 明年指引
- **延续**:[需要保持的习惯/关系]
- **调整**:[需要改变的模式]
- **探索**:[新领域/尝试]
### 5. 文件保存
- **保存路径**(按优先级):
1. 用户指定路径(通过`--output-path`参数)
2. 默认路径:`/Users/joeytoday/Documents/qwen-code-demo/joey-notes_review/Journal/review`
- **验证要求**:
- 文件必须成功创建
- 文件大小必须>5KB(确保深度分析)
- 返回完整文件路径和创建时间戳
- 生成可视化情绪趋势图(ASCII或Mermaid格式)
## 案例说明
### 正确执行案例
**用户命令**:
```bash
skill annual-diary-reviewer --year 2025
```
**执行过程**:
1. 识别文件:扫描全年365天,找到320篇日记(88%完成率)
2. 分析内容:
- 识别核心主题:职业转型(Q1-Q2)、关系重建(Q2-Q3)、健康觉醒(Q3-Q4)
- 情绪分布:Q1焦虑(45%)、Q2平静(38%)、Q3兴奋(52%)、Q4满足(61%)
- 转折点:[[2025-05-15]](决定换工作)、[[2025-08-22]](结束重要关系)
3. 生成文件:`2025-annual-review.md`
**输出文件内容**:
# 2025年度复盘报告
## 年度概览
2025年是从外部驱动转向内在主导的蜕变之年。职业上完成从执行者到策略者的角色转变,关系中学会设立边界,健康从忽视到成为生活核心。全年情绪曲线呈U型,上半年焦虑主导,下半年逐步建立内在稳定,12月达到近三年最高满足感。
## 核心主题演化
- **职业身份重构**:
- Q1:对现有角色深度质疑(峰值日期:[[2025-02-14]])
- Q2:秘密探索新方向,焦虑与期待并存(峰值日期:[[2025-05-15]])
- Q3:接受新挑战,能力边界扩展(峰值日期:[[2025-08-03]])
- Q4:建立新工作节奏,找回掌控感(峰值日期:[[2025-11-30]])
## 情绪地图
| 季度 | 主导情绪 | 强度变化 | 关键触发事件 |
|------|----------|----------|--------------|
| Q1 | 焦虑 | 持续高位 | [[2025-01-15]]日记记录项目失败 |
| Q2 | 矛盾 | 波动下降 | [[2025-04-22]]日记记录职业探索 |
| Q3 | 期待 | 稳步上升 | [[2025-07-18]]日记记录新机会 |
| Q4 | 满足 | 持续高位 | [[2025-12-24]]日记记录年度总结 |
## 目标完成度
- **职业转型**:95%(年初设定:[[2025-01-03]],关键进展:[[2025-06-15]]入职新公司)
- **健康习惯**:70%(年初设定:[[2025-01-01]],关键进展:[[2025-09-10]]开始晨跑)
- **关系深化**:40%(年初设定:[[2025-01-05]],关键挫折:[[2025-08-22]]关系结束)
## 关键洞察
1. 当职业不确定性高时(Q1-Q2),身体习惯成为稳定锚点,[[2025-03-10]]、[[2025-05-22]]、[[2025-07-15]]的日记显示运动频率与情绪稳定性正相关
2. 深度关系重建需要先完成自我边界设立,[[2025-04-18]]的边界尝试与[[2025-10-30]]的新关系质量形成因果链
3. 年度转折点往往发生在季度中期(5月、8月),而非年初设定时,说明适应性调整比初始规划更重要
## 2027年指引
- **延续**:晨间运动习惯、每周深度思考时间
- **调整**:减少过度规划,增加实验性尝试
- **探索**:创造性表达(写作/艺术)、跨领域知识连接
### 常见错误
#### 错误1:年度范围界定错误
- **表现**:将2025年12月31日识别为2027年
- **根本原因**:未处理闰年及年末边界条件
- **解决方案**:
```python
import calendar
def get_year_range(year):
start_[[date]] = [[date]]time(year, 1, 1)
end_[[date]] = [[date]]time(year, 12, 31)
# 处理闰年
days_in_year = 366 if calendar.isleap(year) else 365
return start_[[date]], end_[[date]], days_in_year
```
#### 错误2:季度分析失衡
- **表现**:Q4分析深度不足(因年末日记较少)
- **根本原因**:未进行季度数据标准化
- **解决方案**:
- 按季度实际日记数量加权分析
- 使用移动平均平滑季度过渡
- 对缺失数据进行合理插值
#### 错误3:洞察缺乏深度
- **表现**:仅描述表面现象,如"上半年工作忙,下半年休闲多"
- **根本原因**:未建立跨时间维度的因果连接
- **解决方案**:
1. 强制每个洞察必须引用≥3个季度的证据
2. 使用时间序列分析识别领先/滞后指标
3. 应用反事实思考:"如果没有X事件,Y会如何变化?"
#### 错误4:文件命名不规范
- **表现**:生成文件名为`2025-annual-review.md`而非`2025-01-01-annual-review.md`
- **根本原因**:未严格遵循用户指定格式
- **验证规则**:
```python
import re
def vali[[date]]_annual_filename(filename):
pattern = r'^\d{4}-01-01-annual-review\.md$'
return bool(re.match(pattern, filename))
# 必须通过:vali[[date]]_annual_filename("2025-01-01-annual-review.md") == True
```
## 年度复盘文件规范
- **文件名**:`2025-01-01-annual-review.md`
- **Front-matter要求**(文件开头):
```markdown
---
year: 2025
[[date]]_range: "2025-01-01 to 2025-12-31"
files_analyzed: 320
completion_rate: "88%"
analysis_[[date]]: "2026-01-05"
key_themes: ["职业转型", "关系重建", "健康觉醒"]
---
```
- **内容结构**:严格按任务部分第4步的强制结构
- **保存位置**:`~/Documents/annual-reviews/2025-01-01-annual-review.md`
- **编码**:UTF-8 with BOM
- **可视化要求**:必须包含至少1个ASCII或Mermaid格式的情绪趋势图
- **文件权限**:用户读写(600)
## 验证标准
- ✅ 文件名精确匹配:`2025-01-01-annual-review.md`
- ✅ 包含完整front-matter元数据
- ✅ 每个季度分析必须有具体日期引用
- ✅ 关键洞察必须连接≥3个不同季度的证据
- ✅ 包含情绪趋势解读
- ✅ 年度完成率计算准确(存在文件数/365或366)
- ✅ 不包含提及人名、地点等敏感信息
- ✅ 有完整的解读报告,包括季度重点、观察
- ✅ 有完整的年度总结plaintext