gbrain Ingest Skill 完全指南:把会议、文章、媒体与对话结构化沉淀进个人大脑
2026/9/21 7:37:34 网站建设 项目流程

gbrain Ingest Skill 完全指南:把会议、文章、媒体与对话结构化沉淀进个人大脑

【免费下载链接】gbrainGarry's Opinionated OpenClaw/Hermes Agent Brain项目地址: https://gitcode.com/gh_mirrors/gb/gbrain

Ingest 是 gbrain 技能体系中面向"输入侧"的路由型技能:它不自己处理具体内容,而是先解析输入类型,再把任务分发到 idea-ingest、media-ingest、meeting-ingestion 等专门技能。本篇指南以 skills/ingest/SKILL.md 为骨架,完整讲解它的契约、六阶段摄取管线、实体检测协议、分类媒体工作流与原始来源保留机制,并结合仓库源码与配套规则文档,让你能直接上手把任何形式的内容(URL、视频、PDF、截图、会议转录、推文)变成带引用、带反向链接、可追溯的知识图谱节点。

1. 技能定位:一个分发器,而非处理器

Ingest 技能的前置元数据(frontmatter)明确标注了它的本质:

name: ingest description: Route content to specialized ingestion skills. Detects input type and delegates. triggers: - "ingest this" - "save this to brain" - "process this meeting" tools: - search - get_page - put_page - add_link - add_timeline_entry - sync_brain mutating: true writes_pages: true

注意三个关键信息:

  • triggers:用户说 "ingest this"、"save this to brain"、"process this meeting" 时触发;
  • mutating: true / writes_pages: true:这是一个会写入大脑页面的技能,不是只读查询;
  • writes_to:它允许写入people/companies/concepts/meetings/sources/五个目录,恰好对应大脑的实体类型与原始数据目录。

技能正文第一行就点明了路由职责:"This skill is a router.",并指引到三个专门化入口:idea-ingest、media-ingest、meeting-ingestion。也就是说,Ingest 的价值在于统一的入口协议与质量底线——无论内容从哪条通道进来,都遵守同一套归档、引用、反向链接与溯源规则。

2. 契约(Contract):五条摄取铁律

Ingest 技能承诺的行为契约,是后续所有阶段的总纲:

  1. 每条写入大脑页面的事实都带内联引用[Source: ...],包含日期与来源(provenance);
  2. 每个实体提及都产生反向链接——从该实体的页面指向提及它的页面(Iron Law,铁律);
  3. 原始来源通过gbrain files upload-raw保留,并按大小自动路由存储位置;
  4. State 区块是重写而非追加——始终写入当前最佳理解;
  5. 每条入站消息都做实体检测——有代表性的实体获得页面或更新。

其中第 2 条"Iron Law"被反复强调:"Every mention of a person or company with a brain page MUST create a back-link FROM that entity's page TO the page mentioning them. An unlinked mention is a broken brain."(未链接的提及就是破碎的大脑)。这条规则的具体格式定义在 skills/_brain-filing-rules.md:反向链接追加到实体页的 Timeline 或 See Also 区块,格式为- **YYYY-MM-DD** | Referenced in page title -- brief context。配套约定文档 skills/conventions/quality.md 对反向链接的定位说得很直白:"An unlinked mention is a broken brain. The graph is the intelligence."——图结构本身就是智能所在。

3. 引用要求(MANDATORY):六种来源格式与优先级

所有写入大脑页面的事实必须携带内联[Source: ...]引用。原文档给出了六种标准格式:

来源类型引用格式
用户陈述[Source: User, {context}, YYYY-MM-DD]
会议数据[Source: Meeting "{title}", YYYY-MM-DD]
邮件/消息[Source: email from {name} re: {subject}, YYYY-MM-DD]
网页内容[Source: {publication}, {URL}, YYYY-MM-DD]
社交媒体Source: X/@handle, YYYY-MM-DD(必须带链接)
综合合成[Source: compiled from {sources}]

skills/conventions/quality.md 进一步定义了来源优先级(从高到低):用户的直接陈述 > 编译真相(已有大脑综合)> 时间线条目(原始证据)> 外部来源(API 富化、网络搜索)。当来源冲突时,规则是同时标注矛盾双方及各自引用,而不是默默二选一——这与 skills/_brain-filing-rules.md 中"当来源冲突时,用两个引用标注矛盾,不要静默选择其一"完全一致。

4. 六阶段摄取管线:从原始输入到图谱节点

Ingest 的核心处理流程是六个有序阶段:

  1. 解析来源:从输入中抽取人物、公司、日期与事件;
  2. 逐个实体处理:用 gbrain 读取实体页——已存在则重写 State 区块(更新 compiled_truth,绝不追加);不存在则先过 notability gate(重要性门槛),再按正确类型与 slug 存页;
  3. 追加时间线:为每个事件在 gbrain 中添加带日期、摘要与来源引用的时间线条目;
  4. 创建交叉引用链接:为每个同现的实体对创建适当关系类型的链接;
  5. 反向链接所有实体:更新每个被提及实体的页面,加入指向本页的反向链接(Iron Law);
  6. 时间线合并:同一事件出现在所有被提及实体的时间线上——"Alice 在 Acme Corp 见了 Bob",该事件要同时出现在 Alice 页、Bob 页和 Acme Corp 页。

第 4 步的"关系类型"由质量规则限定:knowsworks_atinvested_infoundedmet_atdiscussed六种。第 6 步的时间线合并是"时间线合并"的核心,在 skills/meeting-ingestion/SKILL.md 中有更严格的要求:多公司会议(如小组办公时间)必须按公司拆分反馈,每个公司的时间线条目携带自己的内容,而不是整个会议的混合体。

5. 每条消息的实体检测:让大脑随时间复利的信号循环

这是 Ingest 最独特的设计:生产级 Agent 应对每一条入站消息做实体检测,这是让大脑随时间复利的信号检测回路。协议分四步:

  1. 扫描消息中的实体提及:人物、公司、概念、原创思考。除纯操作性消息外,每条消息都触发;
  2. 对每个检测到的实体gbrain search "name"判断页面是否存在——存在则用gbrain get <slug>加载上下文,用编译真相辅助回复,若消息含新信息则更新页面;不存在则评估重要性(见 skills/_brain-filing-rules.md),值得跟踪就用gbrain put <type/slug>创建页面;
  3. 创建或更新页面后同步gbrain sync --no-pull --no-embed
  4. 不要阻塞对话:实体检测与富化应在回复的同时进行,而不是之前——用户不应为了等待大脑写入而延迟获得答案。

什么算"值得跟踪"(notability)

  • 用户会与之互动或讨论的人物(不是随机提及);
  • 与用户工作或兴趣相关的公司;
  • 用户引用或创造的概念/框架;
  • 用户自己的原创思考(想法、论点、观察)——价值最高

完整的 notability gate 见 skills/_brain-filing-rules.md,其核心原则是:"When in doubt, DON'T create. A missing page can be created later. A junk page wastes attention and degrades search quality."(拿不准就别建——缺失的页面以后可以补,垃圾页面浪费注意力并降低搜索质量)。

用户原创思考该捕获什么

原创思考是最高价值的信号,捕获原话——用户的语言本身就是洞察,不要转述

  • 新颖的观察或论点;
  • 框架、心智模型、启发式方法;
  • 别人看不到的想法之间的连接;
  • 带推理的反共识立场;
  • 对外部刺激的强烈反应(什么触发了它,为什么)。

这条"精确措辞保留"(Exact Phrasing Preservation)原则在 skills/_output-rules.md 中被系统化为全局规则:直接引用必须逐字保留在引用块中,想法和框架的 slug 与标题要用用户自己的术语,观察要捕获措辞而非消毒版。补充技能 skills/signal-detector/SKILL.md 把这一环做成了可选的"环境捕获"模式(默认关闭,需要用户显式 opt-in),并把"想法是智力资本,实体是记账"作为核心哲学。

6. 分类媒体工作流:按主要主题归档,而非按格式

原文档反复强调归档铁律:File by PRIMARY SUBJECT, not by format(按主要内容归档,不按格式)。完整决策协议在 skills/_brain-filing-rules.md:

  1. 识别主要内容(人物?公司?概念?政策议题?);
  2. 归档到与主题匹配的目录;
  3. 从相关目录交叉链接;
  4. 拿不准时问自己:以后搜索时会用什么词来找这个页面?

该文档给出了一张"常见误归档模式"对照表,严禁犯的错误包括:

错误做法正确做法原因
主题分析 ->sources/-> 相应主题目录sources/ 只放原始数据
关于人物的文章 ->sources/->people/主要主题是人物
会议产生的公司信息只放meetings/-> 同时更新companies/实体传播是强制的
关于公司的研究 ->sources/->companies/主要主题是公司
可复用框架/论点 ->sources/->concepts/它是心智模型
关于政策的推文串 ->media/->civic/concepts/media/ 用于内容运营

唯一的例外("sui generis")是合成输出:针对单一来源且特定读者的个性化产物(如 book-mirror 的media/books/<slug>-personalized.md),格式前缀路径是被认可的例外,但原始摄取永远不适用。

6.1 文章与网页内容

输入:用户分享的 URL,或对话中提到的文章。

流程:抓取内容(web_fetch)→ 抽取标题/作者/出版物/日期/全文 → 总结(执行摘要 + 关键论点,不是复述)→ 抽取实体 →保存原始来源(溯源)→为用户分析:不只是总结,而是结合已知信息指出有趣之处、连接、矛盾、内容机会。

写入位置:按归档规则——关于人物 ->people/、关于公司 ->companies/、可复用框架 ->concepts/、原始数据 ->sources/。专门的 idea-ingest 技能(skills/idea-ingest/SKILL.md)在此之上还有一条强制要求:作者必须建 people 页("Anyone whose thinking is worth ingesting is worth tracking"),并返回page_pathauthor_pathcross_linksstatus四元组给调用方。

6.2 视频与播客

输入:URL(YouTube、播客等)或本地音视频文件。

流程:获取转录(尽量做说话人分离,如 Diarize.io 提供带说话人标签、词级时间戳的服务)→保存原始转录(JSON 和可读 TXT 都要)→ 分析(执行摘要、关键想法、带说话人归属的关键引语、值得注意的故事/轶事、提及的人物公司)→ 抽取并交叉引用所有实体。

硬性规则:每个视频/播客大脑页面必须链接到原始分离转录——"没有转录链接的页面是不完整的"。写入位置为media/videos/media/podcasts/,并反向链接所有实体。

质量门槛:引人入胜的标题(不是 "This video discusses...")、让人想看的执行摘要、真正的洞察而非话题标签、带真实说话人姓名的逐字引语(不是 "speaker_0")、所有实体都带上下文抽取并反向链接。media-ingest 技能(skills/media-ingest/SKILL.md)在此补充了实用错误处理:YouTube 自动字幕常拼错专有名词,必须与现有大脑页面交叉核对后再建新页;无说话人分离的多说话者转录价值很低,应显著标注限制而非把全部发言归给一人;超过 2 小时的音频可能超时,需先分块。

6.3 PDF 与文档

输入:文件路径或 URL。流程:抽取文本(扫描件/图片 PDF 做 OCR)→ 保存原始来源 → 总结(执行摘要 + 关键章节 + 值得注意的数据)→ 抽取实体 → 从实体页交叉引用。写入位置按归档规则(按主要主题而非格式)。media-ingest 补充:扫描 PDF 的 OCR 质量参差不齐,若可读性 < 80% 应向用户标记而不是摄入垃圾内容;超过 500 页的书按章节总结,不内联全文,链接到原始上传。

6.4 截图与图片

输入:图片文件。流程:分析内容(文字密集图做 OCR,照片做描述)——推文截图则抽取文字/作者/日期并路由到社交媒体工作流;文章截图则抽取文字并路由到文章工作流;数据/图表则抽取数据点并描述发现。写入位置取决于内容——路由到上述对应工作流。

6.5 会议转录:实体传播是强制的

输入:会议录制服务的转录,或手动笔记。

流程:拉取完整转录(以转录为真相来源——AI 摘要可信度为中低)→保存原始转录(溯源)→ 写会议页,你的分析在上方、原始转录在下方 →实体传播(MANDATORY):对每个与会者和被讨论的公司——若出现新信息则更新其 State 区块,向时间线追加指向会议页的条目,若人物/公司重要且无页面则创建 →会议在全部实体页更新前不算完整摄入

写入位置meetings/YYYY-MM-DD-short-description.md

好会议页的标准:揭示真正的核心(不是要点堆砌);连接到现有大脑页面(人物、公司、交易);标出变化(状态、决策、新信息);点明张力或未说出口的内容;捕捉真实动态而非表演式总结。

专门的 skills/meeting-ingestion/SKILL.md 把这条工作流扩展成了完整管线:任何录音器 → 标准转录记录 → 多会议拆分 → 按证据解析说话人 → 建页 → 一致性检查 → 富化每个实体 → 验证清单(内容与顺序)。其中几个机制值得留意:

  • 标准转录记录(normalized transcript record):统一 YAML 形状,三个不变量——raw_transcript_text必须完整不截断、attendees只是来源的声明(被邀请 ≠ 在场)、source_summary经过两层有损(语音转文字 + AI 摘要)必须验证;
  • 拆分检测:一次录音常常包含多场背靠背会议,roster 变化、话题硬切、上下文重置都是拆分信号;
  • 按证据解析说话人:绝不猜测,不确定就写[Room]UNKNOWN并标记;内容身份检查——如果某说话人以自己的话宣称的角色与大脑页面既定身份矛盾,说明录音器张冠李戴,应按身份而非名字重归属;
  • V1–V6 验证清单:内容(必要章节有实质内容)、slug 有页面且有时间线回链、说话人映射已解析、引语逐字可锚定、防虚构与会者、顺序验证(PHASE_INVERSION 与 TELEPORT 是硬性阻断项,可通过用户明确 waive 放行但必须记录)。结论是 "A meeting is NOT fully ingested until …"——验收后置是这套技能体系的共同特征。

6.6 社交媒体内容

输入:推文、推文串或社交帖子。流程:抓取完整内容(推文串、引用推文、上下文)→ 有图片则用视觉模型 OCR 做全文抽取 → 总结(说了什么、为什么重要、涉及谁)→ 抽取实体并更新大脑页面 →包含指向原帖的直接链接(引用强制要求)。写入位置:日常聚合放media/x/,若帖子主要关于某人/公司则放实体专属目录。

7. 原始来源保留(Raw Source Preservation):可验证性的基石

每一项摄入内容都必须保留原始来源用于溯源。原文档给出了统一命令:

gbrain files upload-raw <file> --page <page-slug> --type <type>

自动大小路由

  • < 100 MB 的文本/PDF:留在 git 仓库中(大脑仓库的.raw/侧车目录);
  • >= 100 MB 或媒体文件(视频、音频、图片):通过 TUS 可恢复上传进入云存储,大脑仓库留下.redirect.yaml指针文件。

.redirect.yaml指针格式:

target: supabase://brain-files/page-slug/filename.mp4 bucket: brain-files storage_path: page-slug/filename.mp4 size: 524288000 size_human: 500 MB hash: sha256:abc123... mime: video/mp4 uploaded: 2026-04-11T... type: transcript

访问已存文件

gbrain files signed-url <storage-path> # 生成 1 小时有效的签名 URL,用于查看/分享 gbrain files restore <dir> # 从云存储下载回本地

此外,put_raw_data用于在大脑中存储原始 API 响应与元数据(JSON 而非二进制)。

源码佐证:这条命令链在 src/commands/files.ts 中有完整实现——runFiles分发restoreupload-rawsigned-url三个子命令;upload-raw的用法与错误分支(文件不存在、--page缺失、无法解析大脑仓库目标)都被显式处理;restoreFiles支持逐文件恢复并统计成功/失败数量。命令用法字符串明确为upload-raw <file> --page <slug> [--type <type>] [--no-pointer]--no-pointer允许不写指针文件。根据 skills/_brain-filing-rules.md 的补充:>= 100 MB 的文件使用 TUS 可恢复上传(6 MB 分块带重试)以保可靠,命令返回 JSON——小文件为{storage: "git"},云存储为{storage: "supabase", storagePath, reference}

8. 批量前先测试:边际成本趋近于零

处理多个项目(批量视频摄入、批量会议处理等)时,原文档给出硬性流程:

  1. 先测 3–5 个项目。有测试模式就跑测试模式;
  2. 读实际输出。质量好吗?标题吸引人吗(不是 "This video discusses...")?实体抽取并反向链接了吗?格式干净吗?
  3. 修复方法/技能层面的问题,而不是用一次性补丁修单个输出;
  4. 然后才批量执行,带节流,每 5–10 个项目提交一次。

原文档给出了一个极具说服力的成本论证:"The marginal cost of testing 3 items first is near zero. The cost of cleaning up 100 bad pages is enormous."(先测 3 个的边际成本趋近于零,清理 100 个坏页面的成本是巨大的。)skills/enrich/SKILL.md 的批量富化规则与此完全同构:先测 3–5 个实体、只读实际输出、测试通过才批量、同一来源 3+ 实体考虑批处理或派生子 Agent、节流 API 调用、批量运行中每 5–10 个提交一次、批量后保存报告。

9. 质量规则汇总

  • 执行摘要必须更新到 compiled_truth,不只是追加时间线;
  • State 区块是重写而非追加——只保留当前最佳理解;
  • 时间线条目逆时间序(最新的在最前);
  • 每个被提及的人物/公司,若重要就建页(见归档规则);
  • 链接类型:knowsworks_atinvested_atfoundedmet_atdiscussed
  • 来源归属:每条时间线条目都含[Source: ...]引用;
  • 反向链接:每个实体提及都产生反向链接(Iron Law);
  • 归档:按主要主题归档,不按格式或来源(见归档规则)。

10. 反模式:五个必须避开的坑

  1. 向 State 区块追加内容——State 每次更新都应以当前最佳理解重写;只追加的 State 会变陈旧且自相矛盾;
  2. 摄入而不建反向链接——未链接的提及就是破碎的大脑;
  3. 跳过原始来源保留——没有溯源的大脑页面无法验证;
  4. 不抽样测试就批量处理——先测 3–5 个,质量问题修方法而非打补丁;
  5. 转述用户的原创思考——用户的精确语言就是洞察,想法/论点/框架要逐字捕获。

这些反模式与 skills/idea-ingest/SKILL.md 的扩展版高度一致,后者还额外禁止:只总结不连接大脑知识、跳过作者 people 页、摄入前不检查大脑已有覆盖、覆盖现有页面而非合并、创建concepts/strategy这类泛化 slug(应具体如concepts/flywheel-effects)、假设抓取成功而不验证实际获取了内容。

11. 输出格式:可审计的摄入报告

每次摄入结束,按以下模板向用户报告:

INGESTED: [title] ================== Page: [slug] Type: [person / company / meeting / media / concept] Source: [source description] Entities detected: N - [entity] -> [created / updated] ([slug]) Back-links created: N Timeline entries: N Raw source: [preserved at path / uploaded to cloud]

这套格式让每次摄入都可审计:页面、类型、来源、实体处理结果、反向链接数、时间线条目数、原始来源去向一目了然。meeting-ingestion 在此基础上加了验收报告约定:"Meeting ingested: N attendees enriched, N entities updated, N action items captured. Verification: passed. Sequence: PASS."——若顺序检查被用户 waive 必须显式说明 "Sequence: WAIVED by user — {contradiction} stands",若任何检查项无法通过则报告 NOT ingested 并点名失败项。先宣布"已摄入"再事后修补是契约违约;虚假的完成报告比诚实的部分完成更糟。

12. 工具清单与底层机制

Ingest 技能使用的工具与其底层 gbrain 命令对应:

技能内工具对应能力说明
get_page读取大脑页面检查实体页是否存在
put_page存储/更新页面写入与更新,触发 auto-link 后置钩子
add_timeline_entry添加时间线条目事件记录,需显式调用
add_link链接实体创建交叉引用边
get_tags / add_tag标签管理页面打标
put_raw_data存储原始数据原始 API 响应/元数据(JSON)
get_backlinks检查反向链接验证 Iron Law 是否落实

一个值得注意的底层机制(记录在 skills/enrich/SKILL.md 的 v0.10.1 说明中):页面之间的链接在每次put_page时由 auto-link 后置钩子自动创建,put_page 响应携带auto_links: { created, removed, errors };而 MCP 写入(stdio 与 HTTP)返回auto_links: { skipped: "remote", hint },边由 serve 维护清理或gbrain sweep --once调和,需要立即生效的边用add_link时间线条目仍然需要显式的gbrain timeline-add调用——auto-link 只处理链接,不处理带日期的事件。同理,meeting-ingestion 也注明:gbrain put写入会议页后,auto-link 会自动为Name引用的与会者创建attended链接,无需手动gbrain link,但gbrain timeline-add仍必须显式执行。

13. 与兄弟技能的协作边界

  • idea-ingest(skills/idea-ingest/SKILL.md):链接/文章/推文/想法的专门化入口,强制作者 people 页,返回结构化结果;
  • media-ingest(skills/media-ingest/SKILL.md):视频/音频/PDF/书籍/截图/GitHub 仓库的多格式入口,覆盖 video-ingest、youtube-ingest、book-ingest 子类型;
  • meeting-ingestion(skills/meeting-ingestion/SKILL.md):统一会议管线,含拆分、去重、说话人解析、一致性检查与 V1–V6 验证;
  • enrich(skills/enrich/SKILL.md):分三级的实体富化协议,从"情报卷宗"视角丰富人物/公司页(What They Believe / What They're Building / What Motivates Them / Hobby Horses 等纹理区块);
  • signal-detector(skills/signal-detector/SKILL.md):可选的常驻环境捕获,专注用户原创思考与实体提及;
  • 规则底座:skills/_brain-filing-rules.md(归档 + 重要性门槛 + Iron Law + 引用 + 原始来源)与 skills/conventions/quality.md(跨技能质量约定)。

所有摄取技能共享同一套规则底座,这正是 Ingest 路由设计的价值:无论内容从哪条通道进来,最终都以一致的引用、反向链接与溯源标准落入大脑图谱。对运行 gbrain 的 Agent 而言,把 skills/ingest/SKILL.md 的六阶段管线、实体检测循环与批量前测试纪律内化为默认行为,就是让个人大脑从"存储笔记"升级为"复利知识图"的关键一步。

【免费下载链接】gbrainGarry's Opinionated OpenClaw/Hermes Agent Brain项目地址: https://gitcode.com/gh_mirrors/gb/gbrain

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询