SuperAPI AI 工具集

source-manifest

写作与研究

查看项目

更新于 10-16 06:26

技能介绍

用途

source-manifest 用于 source-tutorial 流水线的 C1 阶段,目标是在内容摄取(ingest)开始之前,把来自用户提供的多个来源(URL 或本地文件)收集并落成一个显式的来源清单 sources/manifest.yml。它解决的是多源输入在进入后续流程前缺乏统一、可校验清单的问题。

主要能力

  • 读取 GOAL.md 以及已有的 DECISIONS.md 记录,理解教程预期使用哪些类型的来源。
  • 当 sources/manifest.yml 不存在时,生成一个最小示例脚手架。
  • 校验每个来源是否具备以下字段:source_id、kind、locator、label。
  • 对 kind 为 video 的来源,优先要求提供 transcript_locator,除非平台本身暴露公开字幕。
  • 拒绝仅含占位符或示例的清单。
  • 仅当至少存在一个真实来源时才返回成功。

支持的来源类型

webpage、pdf、markdown、repo、docs_site、video。

对于 video:

  • 首选:添加 transcript_locator。
  • Bilibili 在公开字幕可用时可能成功。
  • YouTube 目前应与 transcript_locator 搭配使用。

使用方式

快速开始:

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

全部选项:

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

示例(生成脚手架或校验清单):

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

触发与路由

触发词:source manifest、sources list、tutorial sources、url list、资料清单、教程来源。

适用场景:source-tutorial 的 C1,需要把多源输入落成统一的 sources/manifest.yml,并在内容不完整时显式阻塞。

跳过条件:已经有完整且经过确认的 sources/manifest.yml。

网络:无。

护栏:不要伪造来源;manifest 不完整时应返回 BLOCKED,而不是假装完成。

输入与输出

输入:GOAL.md、DECISIONS.md。

输出:sources/manifest.yml。

故障排查

问题:脚手架生成后该单元持续阻塞。

原因:清单中仍包含示例占位符。

修复:用真实 URL 或本地文件路径替换脚手架条目,然后重新运行该单元。