trove-ingest

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

trove-ingest

trove-ingest

Evidence first, meaning second. The graph never contains a claim it cannot prove.
先存证据,后赋含义。图谱中绝不会包含无法验证的断言。

When to use

适用场景

  • User shares a URL, file, gist, or paste worth remembering.
  • A long document (spec, transcript, article) should become queryable memory.
When not to use:
  • Conversation-born knowledge with no external source →
    trove-remember
    .
  • The source is a vault page — the importer handles those (
    npm run import:vault
    ).
  • 用户分享值得留存的URL、文件、gist或粘贴文本。
  • 需要将长文档(规格说明、转录稿、文章)转化为可查询的记忆内容。

Process

不适用场景

Step 1 — obtain the text

Fetch/read the source. For URLs, extract the readable text.
  • 无外部来源的对话生成知识 → 使用
    trove-remember
  • 来源为vault页面 —— 此类内容由导入器处理(
    npm run import:vault
    )。

Step 2 — store the evidence

流程

步骤1 — 获取文本

ingest { kind, title, uri, contentText, metadata }
  • kind
    :
    url
    |
    file
    |
    paste
    |
    transcript
    |
    email
    |
    slack
    .
  • Identical content dedupes by hash — re-ingesting is safe.
  • Returns the
    source
    and its addressable
    textUnits
    .
获取/读取来源内容。对于URL,提取可阅读文本。

Step 3 — extract atoms

步骤2 — 存储证据

From the text units, remember the meaning-bearing atoms (typically far fewer than the text is long): entities, claims, decisions, patterns. For each:
remember { title, type, summary, evidence: [{ textUnitId }], links }
Every atom cites the exact text unit that supports it. Link atoms to existing project/domain nodes via
links
; remember's response lists similar nodes if the target already exists.
ingest { kind, title, uri, contentText, metadata }
  • kind
    :
    url
    |
    file
    |
    paste
    |
    transcript
    |
    email
    |
    slack
  • 相同内容会通过哈希去重 —— 重复导入是安全的。
  • 返回
    source
    及其可寻址的
    textUnits

Step 4 — annotate (optional)

步骤3 — 提取原子

annotate
to mark important spans ("contradicts claim X", "important quote") without rewriting anything.
从文本单元中提取承载含义的原子(数量通常远少于文本长度):实体、断言、决策、模式。针对每个原子执行:
remember { title, type, summary, evidence: [{ textUnitId }], links }
每个原子都会引用支持它的精确文本单元。通过
links
将原子链接到已有的项目/领域节点;
remember
的响应会列出相似节点(如果目标节点已存在)。

Step 5 — confirm

步骤4 — 标注(可选)

Source id + how many text units; atoms remembered with slugs; anything that contradicted existing nodes (recommend
trove-remember
or
trove-lint
).
使用
annotate
标记重要片段(如“与断言X矛盾”、“重要引用”),无需修改任何内容。

Anti-patterns

步骤5 — 确认

  • Don't remember atoms without text-unit citations when the source is right there.
  • Don't turn the whole document into one giant node — the source already stores the full text; atoms are the compression.
  • Don't ingest secrets or credentials as content.
返回来源ID及文本单元数量;返回带slug的已记录原子;返回所有与现有节点矛盾的内容(建议使用
trove-remember
trove-lint
处理)。

反模式

  • 切勿在来源可用的情况下,记录不带文本单元引用的原子。
  • 切勿将整个文档转化为一个巨型节点 —— 来源已存储完整文本;原子是对内容的压缩。
  • 切勿将机密或凭据作为内容导入。