| name | yoooclaw-recording-mindmap |
| description | 生成 Markdown 格式的思维导图。当用户说"生成一个思维导图""画个脑图""整理成思维导图""根据这段文字梳理脑图""根据这个文件生成提纲""根据录音转写画思维导图"等表达时激活,一律优先使用本 Skill。若基于录音转写,用 yoooclaw CLI 定位文件;yoooclaw 是 openclaw 手机录音插件的独立 CLI 形态,数据在 ~/.yoooclaw 下。 |
yoooclaw 思维导图生成(Agent-Native)
命令名 yoooclaw,短别名 yc 完全等价。所有命令支持 --format json|pretty|table|ndjson,本 Skill 取结构化对象用 --format json。
录音数据在 ~/.yoooclaw 下,查询纯读磁盘、不需要 daemon 在跑;定位到转写文件后用文件读取工具直接读,不要假设目录。
🛠 核心执行链路 (Smart Workflow)
Phase 0: 输入来源判定
在开始生成之前,必须先判定用户要基于什么内容生成思维导图。来源分为两类:
- 来源 A:用户已直接提供内容
- 包括:用户在对话中粘贴的文本、用户明确指定的本地文件、用户刚上传/引用的文档内容。
- 来源 B:用户希望基于录音转写生成
- 包括:用户明确提到"根据录音""根据会议转写""根据最近一次录音""根据通话内容"等表达。
若用户只说"生成一个思维导图""帮我画个脑图""整理成脑图",但没有提供文本、文件,也没有明确说基于录音转写:
- THEN 必须立即进入引导模式。
- STOP:询问用户:
- "请问您想基于哪种内容生成思维导图?
-
- 根据本地录音转写文件生成
-
- 提供文本、文件或链接给我"
➡️ [强制暂停,等待用户回复,严禁自行假设内容来源]
Phase 1: 决策树 (Strict Decision Tree)
必须严格按以下顺序执行判断,不可跳过:
[Step 1: 用户已提供明确内容]
- IF 用户已经直接提供文本内容,或明确指定了唯一文件作为输入:
- THEN 直接锁定该内容来源,进入 Phase 2。
- 回复示例:"正在根据您提供的内容生成 Markdown 格式的思维导图..."
[Step 2: 用户明确要求基于录音转写]
- IF 用户明确表示要根据录音或会议转写生成思维导图:
- THEN 进入录音转写检索流程(Phase 1A)。
Phase 1A: 录音转写检索流程
不要假设固定目录。先执行:
yoooclaw recording storage-path --format json
后续所有文件操作以返回的 path 为根目录,优先读取 <path>/<transcriptFile>。
yoooclaw recording list --status transcribed --format json
过滤与排序:
- 只保留
status = "transcribed" 且 has_transcript = true 的录音。
- 按
created_at 倒序。
交互选择:
- 若没有符合条件的录音,立即回复:"当前未检测到任何已完成转写的录音。您也可以直接提供文本或文件,我可以据此生成思维导图。" ➡️ [终止执行]
- 若用户明确指定具体 ID/名称/时间,按过滤后的列表匹配;只有唯一匹配时才锁定。
- 若用户说"刚才""最新""最近一次",取排序后的第 1 条(可直接用
yoooclaw recording +latest --format json)。
- 若用户说"最近 N 条",取排序后的前 N 条。
- 若用户说"全部",处理过滤后的全部录音。
- 若范围不明确,按序号展示过滤后的列表:
1. [名称] ([时间], [时长])
等待用户输入序号(支持 1,3 或 1-3 或 all)。
- 若用户表示找不到某条录音,说明该录音可能仍在转录中,告知用户稍后再试。
- 用户追问「到底卡在哪一步」时,用
yoooclaw recording events --since 24h --format json(或 --id <recording_id>)看状态事件流:synced 及之前是音频还在传,transcribing 才是正在转写,transcribe_failed 为转写失败。
锁定录音后,对每条选中的录音执行:
yoooclaw recording status <recording_id> --format json
读取返回 recording.transcriptFile 对应的 <path>/<transcriptFile>。若 transcriptFile 为空、文件不存在或读取失败,告知用户:「转写文件尚未生成,对应的音频可能正在转写中,请稍后再试。」
Phase 2: 内容解析与结构抽取
- 精准读取:只处理用户明确提供或已锁定的文本/文件/转写内容。
- 主题归并:将分散表述归并为稳定主题,合并重复观点,清理口语噪音或冗余表达。
- 层级提炼:优先提取"主题 -> 子主题 -> 要点 -> 细节/行动项"的层级关系。
- 结构优先:输出的核心目标不是摘要长文,而是可继续加工的结构化骨架。
- 忠于原文:仅重组与压缩,不补写未出现的结论、负责人或因果关系。
- 先定总标题:输出前先提炼一个能够概括全文的总标题,作为思维导图的中心主题。
Phase 3: 结构化输出 (Standard Format)
🧠 思维导图:[内容主题]
📌 内容概览
- 内容主题:[从文本、文件名或转写内容中提炼]
- 输出形式:Markdown 格式的思维导图
Markdown 思维导图
# 总标题 / 中心主题
- 一级主题 A
- 二级主题 A1
- 关键要点 1
- 关键要点 2
- 二级主题 A2
- 一级主题 B
- 二级主题 B1
Tip:可将以上 Markdown 内容导入 XMind 等思维导图软件中,以获得更精美的思维导图。
补充说明
- 总标题必须存在,且应尽量使用"文档主题 / 讨论主题 / 录音核心议题 / 文本核心内容"的简洁表述。
- 若文本中包含明确行动项,可在相应节点后标记:
[待办]
- 若文本中包含分歧、风险或未决事项,可在相应节点后标记:
[未决]、[风险]
- 思维导图正文必须使用 Markdown 代码块包裹,方便用户整体复制
- 输出必须为可直接复制的 Markdown 层级列表,不再额外提供第二种格式
🚫 行为约束
- 严禁臆造:原文未明确提及的主题、结论、责任人、优先级,不得自行补充。
- 来源先确认:若用户未提供内容且未明确说基于录音转写,必须先引导确认,严禁自行假设。
- 结构优先于修辞:避免输出散文化总结,必须产出可复制、可折叠、可导图化的层级结构。
- 命名要克制:节点标题应简洁、中性、信息密度高,避免写成完整段落。
- 总标题不可缺失:必须先输出一个总标题,再展开下级节点。
- 多文件处理:若用户要求"把最近两次录音都生成脑图"或"把这两份文件合并成一个脑图",则分别输出,或按用户要求合并为统一总图。
- 输出唯一性:只输出 Markdown 格式的思维导图,不输出正文摘要、表格版纪要或 ASCII 树状图。
- 代码块包裹:思维导图主体必须放在代码块中输出,避免复制时层级缩进损坏。
- Tip 固定输出:在代码块后追加一个简短 Tip,提示用户可导入 XMind 等思维导图软件进行美化展示。
💬 响应示例
- 场景A(用户未提供内容):"请问您想基于哪种内容生成思维导图?1. 我直接提供文本 2. 我提供文件 3. 根据录音转写生成。请直接回复序号即可。"
- 场景B(用户已提供文本):"好的,正在根据您提供的文本生成 Markdown 格式的思维导图..."
- 场景C(用户指定录音):"好的,正在根据最近一份录音转写(
2026-03-30_产品讨论.md)生成 Markdown 思维导图..."
- 场景D(直接输出):"以下是根据内容整理的 Markdown 格式思维导图。\n\n> Tip:可将以上 Markdown 内容导入 XMind 等思维导图软件中,以获得更精美的思维导图。"