SuperAPI AI 工具集

source-ingest

写作与研究

查看项目

更新于 10-16 04:42

技能介绍

用途

Source Ingest 用于研究流程中的来源摄取环节,目标是把混合类型的来源输入归一化为本地、可直接用于教程编写的文本,同时保留来源出处(provenance)。它适用于 source-tutorial 的 C1 阶段,需要把 sources/manifest.yml 中的网页、PDF、仓库、文档等内容变成可追溯文本时使用。如果 source manifest 尚未确定,或来源尚未确认,则应跳过。

主要能力

  • 从 sources/manifest.yml 接受本地文件路径或远程 URL。
  • 支持的类型(kind)包括:webpage、pdf、markdown、repo、docs_site、video。
  • 输出两个文件:sources/index.jsonl 和 sources/provenance.jsonl。
  • 对视频采用字幕优先的摄取方式:优先使用提供的 transcript_locator;其次使用可用的 Bilibili 字幕;否则明确失败,而不是把观看页面当作可用文本。
  • 普通的 YouTube/Bilibili 观看页面不应被建模为 kind: webpage。
  • 对可选来源的失败会继续执行并记录警告;对标记为 required: true 的来源,若无法摄取则整体失败(fail closed)。
  • 只把成功抽取的内容当作有效来源;失败来源必须落盘记录,不能默默忽略。

使用方式

快速开始:

uv run python .codex/skills/source-ingest/scripts/run.py --workspace <workspace>

全部选项:

  • --workspace <dir>(必填)
  • --unit-id <U###>
  • --inputs <semicolon-separated>
  • --outputs <semicolon-separated>
  • --checkpoint <C#>

示例:摄取清单中列出的全部来源:

uv run python .codex/skills/source-ingest/scripts/run.py --workspace <workspace>

触发与路由

触发词:source ingest、ingest sources、normalize tutorial sources、网页抽取、资料归一化。

适用场景

  • 需要把 manifest 中登记的多种来源统一转成可追溯的本地文本,供后续教程编写使用。
  • 来源包含网页、PDF、Markdown、仓库、文档站点或视频,且需要保留出处信息。

限制与注意事项

  • 远程 URL 需要网络连接。
  • 视频必须有可用字幕(transcript_locator 或 Bilibili 字幕),否则会明确失败。
  • 若仓库或文档站点摄取产生过多噪声,可缩小 manifest 范围到最相关的文档根目录,或替换为具体的文档页面。
  • 必选来源失败会导致整体失败;可选来源失败会记录警告并继续。