
gbrain Ingest Skill 实战指南面向 Agent 的脑内内容摄入、实体传播与溯源体系【免费下载链接】gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain项目地址: https://gitcode.com/gh_mirrors/gb/gbrain本篇技术指南围绕 gbrain 开源仓库的ingest技能SKILL.md展开完整解析如何把会议、文章、音视频、文档、对话统一摄入个人脑brain并在每一步落实引用溯源Citation、实体回链Iron Law Back-Link、原始素材保全Raw Source Preservation三大强制契约。读完本文你将掌握 gbrain 摄入流水线的六阶段执行模型、逐消息实体检测协议、六类媒体工作流的文件归档规则以及gbrain files upload-raw大小路由背后的实现原理可以直接照着在本仓库或你自己的 gbrain 实例上跑通完整的输入 → 落库 → 联动 → 溯源链路。一、技能定位一个路由型摄入入口ingest是一个路由型router技能而不是某个具体格式的处理器。它的 YAML 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 writes_to: - people/ - companies/ - concepts/ - meetings/ - sources/这段 frontmatter 本身就是 gbrain 技能路由契约的一部分Agent 在冷启动时遍历每个skills/slug/SKILL.md用用户消息对triggers:做子串匹配命中后通读正文并按流程执行参见 plugin-variants/gbrain-coding/skills/_AGENT_README.md。mutating: true与writes_to:声明了本技能会落盘写页面写面被限定在people/、companies/、concepts/、meetings/、sources/五个目录——这是读_brain-filing-rules.md后再落盘这一强制规则的制度化表达。值得注意的另一个 frontmatter 细节技能清单里idea-ingest链接/文章/推文专用、media-ingest、meeting-ingestion才是真正的专业化处理器ingest负责识别输入类型后**委派delegate**给它们。也就是说ingest的技能正文里给出的六阶段流水线是通用骨架具体格式的细节由专用技能补全——这一点我们在后文媒体工作流部分会看到它与 idea-ingest 的对照关系。二、启动前置先读 Filing Rules 再落盘SKILL.md 开篇的第一条引用不是技术而是纪律Filing rule:Readskills/_brain-filing-rules.mdbefore creating any new page.这条规则在变体目录下的 plugin-variants/gbrain-coding/skills/_brain-filing-rules.md 与主仓库的 skills/_brain-filing-rules.md 中都有完整定义其核心是按内容主体归档而不是按格式、来源或执行技能归档识别内容的主体是一个人公司概念归档到与主体匹配的目录从相关目录做交叉链接拿不准时问自己将来你会用什么关键词搜回这个页面规则文档给出了一组常见的错误归档模式对照直接决定 ingest 后写入路径错误正确原因某主题分析放sources/对应主体目录sources/只放原始数据关于某人的文章放sources/people/主体是人会议信息只写meetings/同时更新companies/实体传播是强制要求关于公司的研究放sources/companies/主体是公司可复用框架/论点放sources/concepts/它是心智模型政策类推文串放media/civic/或concepts/media/是内容运营目录ingest正文的 Write to 指引正是这条规则的直接应用关于人的写people/关于公司的写companies/可复用框架写concepts/原始数据写sources/。sources/只容纳批量导入API dump、CSV 导出、快照和喂给多个页面复用的原始数据联系人同步导出、季度快照等。2.1 Notability Gate可跟踪性门槛不是所有实体都值得开一个页面。创建新实体页面前必须过门槛人物你还会与他交互吗与你的工作相关吗公司与你的工作/兴趣/投资相关吗概念是值得以后引用的可复用心智模型吗规则原文给出的判定态度很明确拿不准就别建。缺失的页面以后可以补垃圾页面浪费注意力并拉低搜索质量。 这与ingest正文的协议一致先gbrain search name判断页面是否存在不存在才评估 notability通过后才用gbrain put type/slug建页。三、契约Contract摄入的五条底线ingest在正文中用契约Contract小节把整个技能不可妥协的底线一次性列清引用写进脑页的每个事实都带行内[Source: ...]引用含日期与出处provenance。回链Iron Law每次实体提及都从实体页反向链到提及它的页面。原始素材保全通过gbrain files upload-raw按大小自动路由保存原始素材。State 重写而非追加State 小节用当前最佳理解整体重写绝不追加。逐消息实体检测每条入站消息都触发实体检测有分量的实体建页或更新。其中 Iron Law 是 gbrain 知识图谱的根基未链接的提及就是破碎的大脑An unlinked mention is a broken brain. The graph is the intelligence.。格式上回链统一追加到实体的 Timeline 或 See Also- **YYYY-MM-DD** | Referenced in page title -- brief context在变体目录的 quality 约定 中这条规则被重申为所有脑写入技能的跨切面约束并进一步给出了来源优先级Source precedence用户直接陈述最高→ 编译后的既有真相compiled truth→ Timeline 原始证据 → 外部来源API 丰富、网络搜索最低。来源冲突时要同时标注两个引用明示矛盾而不是默默二选一。四、引用格式MANDATORY每种来源的标准化写法ingest对引用的要求是强制MANDATORY的且按来源类型给了标准化模板来源类型引用格式用户陈述[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必须带链接综合提炼Synthesis[Source: compiled from {sources}]这套模板同时出现在 quality 约定 中说明它不是 ingest 独有而是全技能的通用契约。落实到代码层Timeline 条目在 src/core/ops/timeline.ts 中由timeline-add命令支撑其参数签名恰好对应引用所需的字段slug要追加 Timeline 的页面 slugdate严格YYYY-MM-DD时间戳与非日历日期会被拒绝summary该日发生事件的一行摘要detailsummary 背后的更详细自由文本source该条目的出处引用如会议 slugmeetings/2026-04-03或 URL也就是说SKILL.md 里每个 Timeline 条目都带[Source: ...]引用的要求在引擎层有source参数作为第一等公民支撑。五、六阶段摄入流水线Phasesingest把通用摄入过程抽象为六个阶段是理解整个技能工作流的主干解析来源Parse the source从输入中抽取人物、公司、日期、事件。逐实体处理For each entity mentioned从 gbrain 读取实体页确认是否已存在已存在 → 更新 compiled_truth重写State 小节而非追加不存在 → 过 notability gate然后以合适的类型与 slug 落库。追加 Timeline为每个事件在 gbrain 中加一条 Timeline 条目含日期、摘要与来源引用。建立交叉引用对每次共同出现的实体对建立链接使用合适的关系类型。回链全部实体Iron Law更新每个被提及实体的页面加上指向本页的回链。Timeline 合并Timeline merge同一事件出现在所有被提及实体的 Timeline 上。文档中的例子非常直观如果 Alice 在 Acme Corp 见到了 Bob这个事件要同时进 Alice 的页面、Bob 的页面和 Acme Corp 的页面。第六阶段是实体传播entity propagation思想的集中体现一个事件不是记一条就完事而是要传播到知识图谱中每一个相关节点。这与_brain-filing-rules.md中会议衍生信息只写 meetings/ 是错误归档的判定一脉相承。5.1 关系类型Link Types交叉引用不是随便连一条边ingest的质量规则规定了受支持的关系词表knows认识works_at供职于invested_in投资于founded创立met_at相遇于discussed讨论过在 MCP 工具层对应add_link。可参考signal-detector技能中提到的 auto-link 机制在 signal-detector 的 v0.10.1 说明中put_page的 auto-link post-hook 会在写 originals/ideas 页面引用人物或公司时自动从新页面建立到实体的链接无需手动gbrain link——但 Timeline 条目仍需显式调用。六、逐消息实体检测让大脑持续复利生产环境 Agent 应该在每条入站消息上都检测实体提及这是ingest的显式要求因为这是让大脑随时间复利的信号检测回路。signal-detector技能把这个理念落地为 opt-in 的环境捕获ambient capture协议但ingest给出的是基础协议本身。6.1 检测协议四步扫描消息中的实体提及人物、公司、概念、原创思考。每条消息都触发除非纯粹是操作性消息。逐实体处理gbrain search name—— 页面是否已存在存在→ 用gbrain get slug加载上下文用 compiled truth 支撑你的回应如果消息含新信息则更新页面。不存在→ 评估 notability见 filing rules。值得跟踪就用gbrain put type/slug建页并用已知信息填充。同步到 gbraingbrain sync --no-pull --no-embed--no-pull与--no-embed分别是跳过远端拉取与向量嵌入只做文件落库与索引更新适合把写入开销压到最小。不阻塞对话实体检测与丰富化应与回应并行发生而不是先于回应。用户不应该为了等待大脑写入而迟迟得不到答案。这也是signal-detector的硬性目标aim to never block the main response。6.2 什么算值得跟踪What counts as notable用户与之交互或讨论过的人物不是随机提及与用户工作或兴趣相关的公司用户引用或创造的概念、框架用户自己的原创思考想法、论点、观察——价值最高完整 notability gate 见 plugin-variants/gbrain-coding/skills/_brain-filing-rules.md6.3 用户原创思考的捕获纪律原创思考是最有价值的信号捕获纪律是捕获精确措辞——用户的语言本身就是洞见不要转述Dont paraphrase。需要捕获的内容类型新颖的观察或论点框架、心智模型、启发式别人看不到的想法间的连接带推理的逆向立场contrarian positions对外部刺激的强烈反应什么触发了它为什么这条纪律在_brain-filing-rules.md的 dream-cycle synthesize 小节中被强化到极致引用用户原话时引号只能用于能精确重现的片段无法精确重现就必须不加引号转述并配有dream.synthesize.quote_verify默认开启的机械化校验。它也在signal-detector的反模式清单中再次出现Paraphrasing the users original thinking instead of capturing exact phrasing。原因很朴素转述会丢失语气、边界与细微差别而原话是后续检索和分析的第一手资产。七、媒体工作流六类输入的标准处理路径ingest对用户接触到的内容按主体而非格式归档但处理路径按格式分型。以下六类工作流覆盖了绝大多数日常输入。7.1 文章与网页内容输入用户分享的 URL或对话中提到的文章。流程抓取内容web_fetch或等价工具→ 抽取标题、作者、出版物、日期、全文 → 产出执行摘要 关键论点不是复述→ 抽取人物/公司/概念 →保存原始素材见下节→为用户做分析不要只总结要结合对用户的了解指出有趣点标记连接、矛盾、内容机会。写入位置按 filing rules 归档——关于人 →people/关于公司 →companies/可复用框架 →concepts/原始数据 →sources/。7.2 视频与播客输入URLYouTube、播客等或本地音视频文件。流程获取转录稿尽可能做说话人分离speaker-diarized文档举例 Diarize.io 这类提供说话人标签与词级时间戳的服务保存原始转录稿JSON 与可读 TXT 两种格式分析执行摘要、关键想法、带说话人归属的关键引语、值得注意的故事/轶事、提到的人物与公司抽取并交叉引用所有实体硬性规则HARD RULE每个视频/播客脑页必须链接到原始分离转录稿——没有转录稿链接的页面是不完整的。写入位置media/videos/或media/podcasts/并回链到所有实体。质量线Quality bar有吸引力的标题不是This video discusses...让人想去观看的执行摘要真正洞察性的关键想法不是话题标签带真实说话人姓名的逐字引语不是speaker_0所有实体带上下文抽取并回链。7.3 PDF 与文档输入文件路径或 URL。流程抽取文本扫描件/图片型 PDF 走 OCR→保存原始素材→ 总结执行摘要 关键章节 值得注意的数据→ 抽取实体 → 从实体页交叉引用。写入位置按 filing rules 归档按主体不按格式。7.4 截图与图片输入图片文件。流程分析内容文字密集图走 OCR照片走描述→ 按内容路由推文截图 → 抽取文字、作者、日期路由到社交媒体工作流文章截图 → 抽取文字路由到文章工作流数据/图表 → 抽取数据点描述发现。写入位置取决于内容——路由到上面对应的工作流。7.5 会议转录稿输入会议录制服务给出的转录稿或手工笔记。流程拉取完整转录稿以完整转录稿为事实来源——AI 摘要的可信度是中低档保存原始转录稿写会议页你的分析在线上原始转录稿在线下实体传播MANDATORY对每个与会者与讨论到的公司——出现新信息就更新其脑页 State 小节向其 Timeline 追加带会议页链接的条目人物/公司有分量且尚无页面就建页一场会议只有在所有实体页都更新完毕后才算完全摄入A meeting is NOT fully ingested until all entity pages are updated。写入位置meetings/YYYY-MM-DD-short-description.md。好会议页的标准揭示真正的症结而非罗列子弹连接到既有脑页人、公司、交易标记什么变了状态、决策、新信息点明张力或未说出口的部分记录真实互动动态而非表演式总结。7.6 社交媒体内容输入推文、推文串或社媒帖子。流程抓取完整内容线程、引用推文、上下文→ 有图片则用视觉模型 OCR 抽取全文 → 总结说了什么、为什么重要、谁牵涉其中→ 抽取实体并更新脑页 →必须包含指向原始帖子的直接链接引用强制。写入位置日常聚合写media/x/帖子主体是某人/公司时写实体专属目录。八、原始素材保全Raw Source Preservation可验证性的基石ingest的立场非常强硬每个摄入条目都必须保全原始素材——没有出处的脑页不可验证unverifiable。技术路线是用gbrain files upload-raw做自动大小路由gbrain files upload-raw file --page page-slug --type type 100 MB 的文本/PDF留在 git 中脑仓库的.raw/侧车目录随脑页一起被 git 跟踪 100 MB 或媒体文件视频、音频、图片上传到云存储Supabase Storage、S3 等通过 TUS 断点续传6 MB 分块带重试保证大文件可靠传输并在脑仓库留下.redirect.yaml指针。命令返回 JSON小文件返回{storage: git}云存储返回{storage: supabase, storagePath, reference}。引擎层的实现佐证在 src/core/ops/files.ts当未配置存储后端时会提示两种出路——在 gbrain 配置中配置storagesupabase | s3 | local或改用gbrain files upload-raw --page slug走 git 跟踪的小文件路径。这与 SKILL.md 描述的自动大小路由完全对应。.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—— 从云存储下载回本地。设计意图一目了然任何衍生脑页都能追溯回原始来源同时大文件不会撑爆 git 仓库。另外非二进制的原始 API 响应与元数据JSON用put_raw_data存进 gbrainingest的工具清单中有对应条目。九、批量前测试Test Before Bulk三件套成本为零百页返工成本巨大批量摄入批量视频摄入、批量会议处理等前的纪律文档给出了非常实际的四步先测 3–5 个条目。有测试模式就跑测试模式。通读实际产出。质量好吗标题有吸引力吗不是This video discusses...实体抽取并回链了吗格式干净吗在方法/技能层面修复问题而不是打一次性补丁。然后才批量执行限流throttling每 5–10 个条目提交一次commit。文档对成本收益的论述值得原样保留先测 3 个条目的边际成本几乎为零清理 100 个劣质页面的成本是巨大的。 这条规则在变体目录的 conventions/test-before-bulk.md 中有独立约定文件支撑conventions/目录里还配套了 brain-first、path-discipline 等跨切面约定。十、质量规则摄入输出的硬性标尺ingest用质量规则Quality Rules小节锁死输出标准逐条可验证compiled_truth 中的执行摘要必须更新而不是只追加 TimelineState 小节是重写而非追加——只保留当前最佳理解Timeline 条目逆时间序最新在前——对应引擎层timeline操作在 src/core/ops/timeline.ts 中的按 canonical operations 数组精确顺序实现每个有分量的被提及人物/公司都建页见 filing rules关系类型限定knows、works_at、invested_in、founded、met_at、discussed每条 Timeline 条目都带[Source: ...]引用每次实体提及都产生回链Iron Law归档按主体而非格式/来源见 filing rules。十一、反模式清单哪些做法会让大脑腐烂ingest用反模式Anti-Patterns小节给出五个高频错误每条都值得当作 code review 红线向 State 小节追加——State 每次更新都应整体重写为当前最佳理解。只追加的 State 会越积越旧、互相矛盾。摄入但不回链——未链接的提及是破碎的大脑。每个被提及实体都必须从其实体页回链到提及页。跳过原始素材保全——每个摄入条目都必须保存原始素材。没有出处的脑页不可验证。不做样本测试就批量处理——先测 3–5 个在方法层面修质量问题而不是打一次性补丁。转述用户的原创思考——用户的精确语言就是洞见想法、论点、框架必须逐字捕获。十二、标准输出格式让摄入结果可审计ingest要求每次摄入后按统一模板汇报这既是给用户的可见反馈也是可审计的痕迹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]与之呼应idea-ingestplugin-variants/gbrain-coding/skills/idea-ingest/SKILL.md给出更细的页面级模板Context / Summary / Key Data / Analysis并补充了一批 ingest 正文没有的边界情况处理策略抓取失败付费墙/404/超时时存 stub 页并记录失败原因重复 URL 时更新既有页而非新建作者不可识别时归档到sources/并跳过作者页但注明缺口推文串视为一个整体单位视频/播客链接在无转录稿时只能摄入元数据并请用户提供转录稿作为 Agent 操作时用file_upload工具而非 CLI 的gbrain files upload-raw。这些细节是路由型技能 专用技能分层设计的直接产物建议与 ingest 正文对照阅读。十三、工具清单与调用链小结ingest声明的 MCP 工具面最终落到 gbrain 的存储与操作层get_page—— 读取脑页对应gbrain get slugput_page—— 存储/更新脑页对应gbrain put type/slug触发 auto-link post-hookadd_timeline_entry—— 追加 Timeline 条目对应gbrain timeline-add slug date summary引擎实现见 src/core/ops/timeline.tsadd_link—— 建立实体关系knows/works_at/invested_in/founded/met_at/discussedget_tags/add_tag—— 页面标签读取与追加put_raw_data—— 存储原始 API 响应与元数据JSON非二进制get_backlinks—— 校验回链是否完整摄入完成后可用它自查 Iron Law 是否落实sync_brain—— 摄入后同步索引gbrain sync --no-pull --no-embed。从技能声明到引擎实现这条链路在仓库中完整可查技能契约在 plugin-variants/gbrain-coding/skills/ingest/SKILL.md 与 plugin-variants/gbrain-coding/skills/_brain-filing-rules.mdCLI 与 MCP 的接线在 src/cli.ts原始文件大小路由与存储后端配置在 src/core/ops/files.tsTimeline 的严格日期校验与来源字段在 src/core/ops/timeline.ts。想要落地一套能自我复利、可追溯、不腐坏的 Agent 大脑把这六阶段流水线、逐消息实体检测、Iron Law 回链和原始素材保全同时跑起来就是 gbrain 给出的完整答案。【免费下载链接】gbrainGarrys Opinionated OpenClaw/Hermes Agent Brain项目地址: https://gitcode.com/gh_mirrors/gb/gbrain创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考