name: mj-notes-workflow description: Process unprocessed Get笔记 voice notes — fetch new notes, analyze content across notes, extract tasks/diary/knowledge, and generate an execution plan for user confirmation before executing. Trigger whenever the user says /mj-notes-workflow or asks to process their Get笔记 voice notes, organize recent recordings, handle voice notes, process getnote notes, or automate their note workflow.
Get笔记 语音笔记自动处理
将 Get笔记 中未处理的语音笔记自动拉取、分析、归类,生成执行计划,经你确认后按主题分组并行执行。
核心概念
每条语音笔记都是混合原料 — 一条笔记里可能同时包含日记、待办事项、灵感、聊天记录。Skill 要做的是:
- 跨笔记整体分析,从混乱中提取信号
- 按主题合并同类项(而非逐条处理)
- 先出计划等你确认,再执行
- 记住处理进度,下次增量处理
状态管理
状态文件:~/.agents/mj-notes-workflow/state.json
{
"last_processed_id": "1910042389700031400",
"last_run_at": "2026-05-16T01:30:00+08:00",
"processed_ids": ["id1", "id2"],
"execution_log": [
{"run_at": "2026-05-16", "count": 5, "summary": "处理了5条笔记"}
]
}
首次运行:如果 state.json 不存在,拉取最近 3 天 的笔记。
工作流
Step 1: 增量拉取
# 有进度记录
getnote notes --since-id <last_processed_id> --limit 50 -o json
# 首次运行(无进度记录)
getnote notes --limit 50 -o json
# 然后用 Python/工具筛选最近 3 天的笔记
如果返回的笔记数量为 0,报告"没有新笔记"并结束。
Step 2: 内容量估算 & 智能分拆
获取所有新笔记后,按 笔记类型 决定读取策略:
笔记类型 (note_type) |
处理方式 |
|---|---|
audio / local_audio / recorder_audio / class_audio / meeting |
读完整 content — 你自己的语音记录,包含真实想法和任务 |
link |
只看 title + content 前 200 字 — 外部参考资料(公众号/B站/小红书),标题就足以判断内容 |
plain_text / img_text / 其他 |
按情况处理,plain_text 读完整内容,img_text 读标题 + content |
估算策略:
- 汇总所有需要读取的内容总长度
- 总长度 < 3 万字(约 30,000 字符) → 1 个 Agent 全量分析
- 总长度 ≥ 3 万字 → 按笔记数量均分为多组,每组由独立 Agent 分析(每组约 15,000 - 20,000 字)
- 如果笔记数量很少(≤ 3 条),即使总长度较大也可以用 1 个 Agent
Step 3: 跨笔记分析
分析阶段的目标是从所有新笔记中提取出结构化信息:
对于 audio 类笔记(你的语音):
- 逐条阅读完整内容(每条笔记的
title是 Get笔记 AI 自动生成的摘要,可辅助理解) - 提取以下类型的内容:
- 待办事项/任务指令 — "帮我做XX"、"查一下XX"、"把XX部署一下"等
- 日记/感想 — 个人记录、今日经历、感受
- 知识/灵感 — 想到的好点子、值得记录的知识
- 改进/反馈 — 对产品、流程的改进意见
- 参考信息 — 聊天记录、别人说的话、临时记录
对于 link 类笔记(外部参考):
- 仅根据标题和摘要判断内容类型和归属方向
- 标记为"待归档参考",无需深度分析
跨笔记合并:
- 将分散在不同笔记中的同一主题内容合并
- 例如:3 条笔记都讨论"小程序教程" → 合并为一个主题分组
Step 4: 生成执行计划
输出格式示例:
📋 本次共处理 8 条新笔记
═══════════════════════════════════════
📔 日记/感想(2条)
═══════════════════════════════════════
1. [标题1] — 记录了关于XX的感受
→ 建议:听起来你最近在关注XX方向,建议可以进一步思考YY
→ 处理:润色后更新回 Get笔记
2. [标题2] — 记录了关于YY的日常
→ 建议:...
→ 处理:润色后更新回 Get笔记
═══════════════════════════════════════
📋 待办事项(3条)
═══════════════════════════════════════
1. [标题3] — "查一下50杯OPC比赛进度"
→ 类型:查询任务
→ 处理:执行查询并返回结果
2. [标题4] — "需要做视觉设计规范"
→ 类型:文档任务
→ 处理:写入 01MVP docs
═══════════════════════════════════════
📚 文档/教程(2条)
═══════════════════════════════════════
1. [标题5] — "录制微信知识付费小店搭建教程"
→ 处理:撰写教程,写入 01MVP docs/tools/
═══════════════════════════════════════
📎 外部参考(1条)
═══════════════════════════════════════
1. [标题6] — "用AI开发微信小游戏"
→ 来源:B站链接
→ 处理:归类到参考知识库,暂不执行
═══════════════════════════════════════
是否按以上计划执行?你可以:
- ✅ 确认执行全部
- ✏️ 补充/修改某个任务后再执行
- 🚫 跳过某些任务
- ❌ 取消本次所有操作
关键规则:
- 必须等待你确认后才能执行任何操作
- 对于 日记/感想:不需要写详细报告,而是总结"最近记录了哪些内容",并给出你的感受和建议
- 对于 待办事项:明确标注需要调用的其他技能(如 mj-writer、mj-deploy、mj-cf-dns 等)
- 计划要有可执行性,每条任务都要有明确的"处理方式"
Step 5: 按主题分组并行执行
你确认后,按主题分组启动多个 Agent 并行执行:
| 分组 | 处理方式 | 目标 |
|---|---|---|
| 日记/感想 | 润色语言,补充你的感受和建议,更新回 Get笔记 | getnote note update <id> --content "..." |
| 文档/教程 | 写入 01MVP docs(新建或更新) | ~/code/makerjackie/01mvp/apps/01mvp-web/content/docs/ |
| 公众号素材 | 调用 mj-writer 技能 | 生成公众号文章 |
| 查询/调研 | 执行查询,返回结果 | 直接回答或进一步处理 |
| 部署任务 | 调用 mj-deploy 等相关技能 | 执行部署 |
| 参考归档 | 整理到知识库 | 暂存或归类 |
关于日记/感想:
- 不要大段重写,保持原始语气和风格
- 做适当润色(修口语、理顺句子)
- 加上你的反馈和建议 — 读到这篇日记你的感受是什么?有什么建议?
- 使用
getnote note update <id> --content "..."更新回原笔记
关于 01MVP 文档:
- 路径:
~/code/makerjackie/01mvp/apps/01mvp-web/content/docs/ - 根据内容判断写入哪个子目录(guide/tools/cases/template 等)
- 可能新建文件,也可能更新已有文件
Step 6: 更新进度 & 保存摘要
执行完成后:
更新 state.json:
last_processed_id设为本次处理的最后一条笔记 ID- 将本次处理的所有 ID 追加到
processed_ids - 更新
last_run_at和execution_log
保存处理摘要到 Get笔记:
getnote save "【语音笔记处理摘要 YYYY-MM-DD】 本次处理了 N 条笔记: - 📔 日记/感想:N 条 - 📋 待办事项:N 条 - 📚 文档/教程:N 条 - 📎 外部参考:N 条 执行结果: - 更新了 N 条日记 - 写入 01MVP docs 文件 N 个 - 调用了 [技能名] 执行了 [任务] - ..." --tag "语音笔记处理摘要"输出最终报告:
✅ 本次处理完成!
📊 处理统计
• 拉取笔记:8 条
• 分析归类:6 条语音 + 2 条外部参考
• 执行完成:5 项
📔 日记更新
• [标题1] → 已更新到 Get笔记
• [标题2] → 已更新到 Get笔记
📚 文档写入
• [标题3] → 已写入 01MVP docs/tools/xxx.mdx
📋 待办执行
• [标题4] → [执行结果]
📎 处理摘要已保存到 Get笔记
📌 下次将从 ID: xxxxxx 开始处理
重要规则
- 必须等确认:任何时候都不要在确认前写入文件或执行命令,先出计划
- 音频笔记是你的原创:
audio类的内容是你的原话,要认真对待;link类是外部资料,看一眼标题即可 - 日记不求详细:日记类不需要写详细报告,总结"最近记录了啥"+你的建议即可
- 动态分类:不预设固定类别,根据本次笔记内容自动生成分类
- 跨笔记合并:散落在不同笔记中的同一主题要合并处理,不要重复
- 智能分拆:内容少就一个 Agent 搞定,内容多才拆分,别过度工程
- 处理摘要很重要:每次执行完一定要保存一条摘要到 Get笔记,方便日后回顾
- 利用好标题:Get笔记 AI 自动生成的
title字段已经很准确,可以作为分析的起点