关于 voice-note-ingest
voice-note-ingest 是供 Agent 使用的 Markdown 技能,每次处理一条语音笔记,逐字保留转录内容,并将其归档到合适的脑库页面。它还规定音频存储、引用格式及人物或公司的关联链接。
主要功能
- 01逐字保留转录内容
- 02存储原始音频
- 03按主题路由内容
- 04创建来源引用和页面链接
- 05每个周期处理一条语音笔记
适用场景
- 01不改写地记录口述想法
- 02归档语音笔记中的个人感想或产品构想
- 03根据音频更新人物或公司时间线
- 04将音频与对应脑库页面一同保存
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ garrytan/ gbrain --skill voice-note-ingest安装后在 Claude Code 中输入/voice-note-ingest确认已加载。
附带文件routing-eval.jsonl
详细介绍
voice-note-ingest — 逐字语音捕获
约定: 引用规则、反向链接强制要求及逐字记录要求,请参阅 conventions/quality.md。
约定: 归档决策流程,请参阅 _brain-filing-rules.md。
铁律
用户的原话就是洞见。绝不转述,绝不润色。生动、未经修饰、意识流式的措辞,捕捉到的东西是经过整理的文字所无法保留的。请将其保存在引用块中。分析部分可以解读,转写部分则不可更改。
- ✅
"The ambition-to-lifespan ratio has never been more fucked" - ❌
User noted the tension between ambition and mortality
何时调用
用户通过任意渠道(Telegram、语音备忘录上传、openclaw 音频附件)发送音频或语音消息时。宿主 Agent 通常会提供转写文本。若没有,请使用宿主的转写工具进行转写(Groq Whisper 速度快、成本低;OpenAI Whisper 也可用,若音频超过 25MB,请先通过 ffmpeg 切分)。
处理流程
1. STORE → Upload original audio to gbrain storage backend
(S3 / Supabase Storage / local — pluggable per
src/core/storage.ts).
2. TRANSCRIBE → Use the agent-provided transcript verbatim, OR
transcribe the audio yourself (see "When to invoke")
if no transcript was supplied.
3. ROUTE → Apply the decision tree (below) to find the right
destination directory.
4. WRITE → Create / update the destination brain page; preserve the
verbatim transcript in a block-quoted "User's Words"
section.
5. CROSS-LINK → For every entity mentioned (person, company), add a
timeline back-link from THEIR brain page to THIS one
(Iron Law per conventions/quality.md).
决策树(内容归档位置)
按顺序应用,首个匹配项生效。若多个类别适用,则归入主要目录,并交叉链接到其他目录。
-
原创想法、观察或论点——用户提出了其本人产生的新颖想法、框架或关联。 →
originals/<slug>.md。使用用户生动的语言作为 slug。 -
关于其所接触的世界概念——用户引用的、由他人创建的框架或模型。 →
concepts/<slug>.md。 -
关于特定人物——关于某人的新信息、观点或观察。 → 更新
people/<person>.md时间线。 -
关于特定公司——关于某公司的新信息。 → 更新
companies/<company>.md时间线。 -
产品或商业想法——可以被构建的东西。 →
ideas/<slug>.md。 -
个人反思——与治疗相关、情绪化、涉及身份认同。 → 追加到相应的
personal/<slug>.md。 -
以上均不符 / 随机想法 / 无法清晰归类—— →
voice-notes/YYYY-MM-DD-<slug>.md(兜底分类)。
涉及多个类别? 先创建主页面,再交叉链接到所有其他页面。若语音备忘涉及某人且包含新颖想法,则既要创建 originals/ 页面,也要更新该人物的时间线。
大脑页面格式
对于所有源自语音备忘的页面,均须包含以下框架:
---
title: "[Title derived from content]"
type: [original | concept | voice-note | ...]
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [voice-note, relevant-tags]
sources:
voice-note:
type: voice_note
storage_path: "[gbrain storage URL or relative path]"
acquired: YYYY-MM-DD
acquired_via: "voice note from <channel>"
---
# Title
> Executive summary of what was said and why it matters.
## User's Words
> "Exact transcript, verbatim, preserving every word, hesitation, and verbal
> tic. This is the primary source material. Do not edit."
🔊 [Audio]([gbrain storage URL or relative path])
## Analysis
[What this means, why it matters, connections to other thinking. The
analysis is the agent's interpretation; the transcript above is sacred.]
## See Also
- [Related brain pages with relative links]
---
## Timeline
- **YYYY-MM-DD** | voice note from <channel> — [Brief description]
引用格式
[Source: voice note, <channel>, YYYY-MM-DD]
如有时间戳,请一并包含:
[Source: voice note, <channel>, YYYY-MM-DD HH:MM PT]
命名约定
- 音频文件:
YYYY-MM-DD-<brief-slug>.<ext>(例如2026-04-13-rick-rubin-creative-philosophy.ogg)。 - 大脑页面:与目标目录的 slug 保持一致。
批量与单条
本技能每次只处理一条语音备忘。每条都是独立的摄取周期,不做批处理。
失败处理
对于任何 gbrain 错误 code、退出码、[AGENT] 块或通知块,请遵循 agent operator protocol。本技能的具体情况如下:
- 转写不可用,或存储后端拒绝音频(
gbrain storage未显示任何后端):归档你已有的笔记文本,并告知用户音频未被存储。 - 对目标页面的写入返回
revision_conflict或write_pending:重新读取并合并,或轮询gbrain write-request <request_id>;绝不通过转述来化解冲突。
反模式
- ❌ 转述转写内容。 原话本身就是信号。
- ❌ 润色停顿或口头填充词("um"、"like"、"you know")。语气质感很重要。
- ❌ 在提及人物或公司时,创建没有实体交叉链接的页面。 违反铁律。
- ❌ 跳过音频存储步骤。 务必上传原始音频;大脑页面中应有指向它的
🔊 [Audio]链接。
相关技能
skills/signal-detector/SKILL.md— 用于文本渠道想法捕获的同一精确措辞模式skills/idea-ingest/SKILL.md— 用于键入文本的想法导入skills/conventions/quality.md— 引用与反向链接规则
约定
此技能保证:
- 路由与 frontmatter 中的规范触发器一致。
- 输出写入
writes_to:中列出的目录(如适用)。 - 遵循所引用的约定(
quality.md、brain-first.md、_brain-filing-rules.md)。 - 保持隐私约定:不含真实姓名、不含分支特定的文件系统路径字面量、不含上游分支引用。
完整行为约定记录在上文正文各节中;本节存在的目的是供一致性测试使用。
输出格式
此技能的输出形式已在上文正文各节中说明(参见"输出"、"Brain 页面格式"或同类章节)。此处的字面章节标题存在的目的是供一致性测试(test/skills-conformance.test.ts)使用。