SuperAPI AI 工具集

waypoint

部署与运维

查看项目

更新于 10-16 04:02

技能介绍

用途

Waypoint 用于为跨多个文件的流水线(pipeline)和流程建立分布式导航标记。每个文件携带一个紧凑的注释块,标明其 ID、在流水线中的角色、相邻节点,以及指向完整地图的指针;每条流水线有一份清单(manifest)保存完整拓扑。grep 任意 8 字符 ID 即可展开整条流水线。

主要能力

  • ID 生成:id <path>... 为每个文件打印 <id> <path>,ID 由 git 相对路径的 SHA-256 前 8 位十六进制生成,具有确定性。
  • 扫描:scan 编目所有地图文件和代码中的块,按流水线分组,用于先检查是否已有 waypoint。
  • 清单生成:manifest 从 stdin 读取 JSON 规格,写出 .ai/waypoints/<name>.md,包含丰富的地图布局。
  • 块生成与放置:block 从 stdin 读取 JSON 规格组合源块;--write --at <line> 在文件中放置或更新,--dry-run --at <line> 预览放置位置而不写入。
  • 漂移检测:verify [pipeline] 检测过期行、孤立块以及 ID 与路径不再匹配的情况。
  • ID 校正:check-ids 从路径重新计算 ID,并在文件移动时输出精确的修正列表。

所有子命令均支持 --json 输出机器可读结果;verify 和 check-ids 发现漂移时以非零状态退出。

使用方式

CLI 调用形式:

python3 <skill-path>/scripts/waypoint.py <subcommand> [args]

映射一条流水线的步骤:

  1. 检查已有内容:运行 waypoint scan。若流水线已映射,读取其清单,将其视为更新而非全新放置,保留仍然正确的节点。
  2. 跨文件追踪流程:使用常规阅读工具沿导入、脚本调用、Dockerfile 阶段、共享环境变量与版本字符串、CI 步骤顺序等线索追踪。识别两类节点:
    • Flow(from/into,显示为 ←/→):执行链中的文件。
    • Reference sinks(reads/feeds,显示为 ◁/▷):在运行时消费某个值、但不处于构建或部署序列中的文件。 在放置任何内容前确认从入口到出口的完整路径;节点角色不清晰时阅读该文件。
  3. 生成 ID:对每个文件运行 waypoint id <path>...,一次调用完成。ID 由 git 相对路径确定,不可自行编造。
  4. 编写清单:组合 JSON 规格(含流水线名称、开头句、有序节点、拓扑),管道传给 waypoint manifest。节点按执行顺序排列,sink 放最后。CLI 从路径推导每个节点的 ID,因此清单与块始终一致。
  5. 在每个文件中放置块:为每个节点组合块规格并运行 waypoint block --write --at <line>,锚点行由用户选择:配置文件、脚本、清单和流水线专属文件放在文件顶部;源文件放在流水线触及的具体函数或代码段正上方。
  6. 验证:运行 waypoint verify <pipeline>,解决报告的任何漂移后再报告完成。

当同一源代码行参与两条或更多流水线时,在该块的规格中给出多个 flow,CLI 会将它们堆叠在同一 ID 下。

读取与审计:

  • 列出全部/查找入口点:waypoint scan,然后打开清单第一行。
  • 检查漂移:waypoint verify(全部流水线)或 waypoint verify <pipeline>(单条)。
  • 文件移动:waypoint check-ids 列出每个过期 ID、新值以及需要更改的相邻引用;应用修正后重新运行 verify。
  • 从任意节点追踪:grep 其 8 字符 ID,或沿块和清单拓扑中的 →/← 追踪。

块格式

CLI 负责组合块。Waypoint <id> 锚点和符号图例出现在每个块中,便于首次阅读者即时解码和 grep。单流源块紧凑,参考路径位于头部,结尾一行同时携带 grep 提示和图例。多流行将多个 flow 堆叠在同一 ID 下,各自命名自己的参考。地图文件 .ai/waypoints/<name>.md 保留丰富布局:开头叙述句、按执行顺序排列且 sink 在最后的节点表,以及 ## Topology graph。开头句是系统中最重要的一行,应写成一句话,按顺序走过流水线各阶段,说明每阶段发生什么以及为什么。CLI 写文件,用户写句子。每个块以文件的原生注释语法渲染,CLI 从扩展名解析;注释语法表和 --comment 覆盖选项记录在 references/cli.md。

分工

CLI 负责结构,确保始终正确且不漂移:ID、注释语法、块框架、布局、放置与更新、清单渲染、验证。用户负责文字,因为判断和温度无法模板化:每个文件扮演的角色、每个相邻节点做什么、清单的开头句。写作声音指南位于 references/waypoint-voice.md,在撰写任何角色或相邻描述前加载。用户还需做出 CLI 无法做出的一个放置判断:全新块应放在哪一行之上。CLI 组合文本,用户选择锚点并通过 --at 传入。

适用场景

  • 多文件流水线(如 CI/CD、构建、部署流程)的导航与文档化。
  • 需要跨文件追踪流程、快速定位入口点和上下游关系的代码库。
  • 需要检测和修正流水线文档漂移(文件移动、ID 过期、孤立块)的场景。

限制

  • 需要 Python 3 运行 CLI。
  • ID 由 git 相对路径确定,文件移动后需通过 check-ids 修正。
  • 块写入不会删除无法证明属于本流水线的块;遇到格式不完整或属于其他流水线的邻近块时,会插入新块并给出需手动移除的建议。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。