SuperAPI AI 工具集

wiki-ingest

写作与研究

查看项目

更新于 10-16 07:51

技能介绍

Wiki Ingest 用于把一份源文档转化为持久、互链的 wiki 知识。

用途

当操作任务(operation issue)的 operationType 为 "ingest" 并分配给你时使用;或当用户说 "ingest <slug>" 时使用。

输入

  • 一个 operationType: "ingest" 的操作任务。
  • 任务正文中提到的 raw/ 路径(raw/ 始终视为不可变)。
  • 操作任务的 target wikiId、spaceSlug 和 space root;若缺失则停止,并把缺失的配置反馈给请求者。

工作流程

  1. 先读上下文。

    • 读取目标空间的 AGENTS.md,了解页面约定(文件名、frontmatter、语气、引用风格)。
    • 读取目标空间的 wiki/index.md,查看已存在的内容。
    • 读取目标空间 wiki/log.md 最近约 20 条记录,避免重复摄取同一来源,或重复处理他人已提交的矛盾。
    • 使用 wiki_read_source 端到端读取源文件,传入操作任务的 wikiId 和 spaceSlug。不要略读。记录源文件的结构、主张、日期,以及与现有页面矛盾之处。
  2. 先规划再确认——但仅在用户参与时。如果操作来自例行流程(没有实时用户),直接继续。如果是用户交互式提问,先总结你打算归档的 3–5 个要点,并询问要强调哪些,然后再写入。

  3. 在 wiki/sources/<slug>.md 写入源页面——约 300–800 字,frontmatter 遵循 wiki schema,语气中立,关键主张在分量较重处附引用摘录。源页面是本技能所写其他内容的规范引用目标。

  4. 在 entities/、concepts/ 和 synthesis/ 中更新或创建下游页面。一次典型摄取会触及 5–15 个页面;对于只出现一次的想法,不要创建页面。

  5. 连接交叉链接。每条来自源文件的主张都引用它,写作 (see [[wiki/sources/<slug>]])。每个在多个页面被提及的实体/概念都链接到其专属页面。

  6. 标记矛盾,不要静默覆盖。当新材料与现有页面不一致时,在较旧页面上追加 > ⚠ contradicted by [[wiki/sources/<slug>]] (YYYY-MM-DD) 提示块,并在日志中记录冲突。

  7. 用一行摘要刷新 wiki/index.md 中任何新页面。

  8. 在 wiki/log.md 追加日志条目:

[YYYY-MM-DD] ingest | <source title>

  • source: raw/<filename>
  • new pages: [[...]], [[...]]
  • updated pages: [[...]], [[...]]
  • notes: <one-line synthesis or open question>

语气

  • 简洁、事实性、中立。是参考资料,不是叙事。
  • 不要用 "Today I learned" 或 "This is interesting because" 这类框架。
  • 当转述会损失精确性时,逐字引用源文件。

验证

关闭操作任务前:

  • 源页面存在于 wiki/sources/<slug>.md,frontmatter 有效,且 sources: 字段指向 raw 路径。
  • 每个新建或更新的页面都链接回源页面,或链接到某个链接回源页面的下游页面。
  • wiki/index.md 在正确分类下列出每个新页面,并附一行摘要。
  • wiki/log.md 有摄取条目,且标题格式精确(以便 grep "^## [" wiki/log.md 仍可用)。
  • 新源文件与旧页面之间的任何矛盾都已标注,而非静默覆盖。
  • raw/ 下没有任何文件被修改。

工具

wiki_list_sources、wiki_read_source、wiki_search、wiki_read_page、wiki_write_page。始终包含操作任务的 wikiId 和 spaceSlug。