SuperAPI AI 工具集

local-ingest

智能体与模型

查看项目

更新于 10-15 20:09

技能介绍

用途:在不触发远端抓取路径的前提下,于本地 Claude Code 中引导(onboard)或回填(backfill)公司的 changelog。远端路径会在服务器端做正文到记录的抽取并计费(即使写入零条),本技能改为由本地 Claude Code 智能体内联完成逐页抽取,只走确定性的写入路径。

核心原则:智能体即抽取器。你负责抓取、解析、结构化记录,再 POST 到批量端点;该端点只做普通幂等 upsert,插入时不调用 AI。远端抽取循环不会运行。

成本约定:消耗你智能体自身的 token 用于抓取与抽取,以及你选择扇出的子智能体(可选 sonnet 保证质量、haiku 处理批量)。不消耗服务器端抽取,不调用 POST /v1/workflows/update。批量端点插入时不跑 AI(无摘要、无营销分类器、无 feed 富化),只做插入加一次即发即忘的向量嵌入;title_generated/title_short/summary 等 AI 字段留空。

适用场景:在 Claude Code 交互式引导新来源或回填;远端抓取耗尽抽取循环却写入零条时;页面可被你自己的 web 工具抓取时。不适用:托管智能体会话(仅本地);来源已有干净内容丰富的 feed(直接添加走 cron);发布方选择退出时(preflight 拒绝)。

工作流:第 1 步强制预检,运行 bun .claude/skills/local-ingest/preflight.ts <url> --json,抓取 robots.txt 并依据 Cloudflare Content Signals 策略以退出码门控:0 继续、1 拒绝(ai-input=no,停止并告知用户,不抓取不写入)、2 未知(重试一次,仍未知则告知用户,不得默认继续)。门控只看 ai-input。第 2 步解析目标,确保 org 与 source 存在,读取 playbook,记录 sourceSlug 与 src_ id;新建 source 时不要触发 fetch。第 3 步映射页面,分类单页/索引/未知,优先用 sitemap,客户端渲染的索引需渲染枚举;默认上限约 25–50 条最新并记录跳过内容。第 4 步抓取与抽取,少量页面内联处理,大量页面用 Agent 工具扇出并行子智能体,每个返回批量 schema 记录,父智能体负责写入;需抽取媒体并解包 next/image、vercel/image 到 CDN 原图。第 5 步批量写入,POST 到 $RELEASES_API_URL/v1/orgs/<orgSlug>/sources/<sourceSlug>/releases/batch 或带 src id 的 /v1/sources/<src…>/releases/batch,每次约 50 条,字段含 version、title、content、url、contentHash、publishedAt、media、type、prerelease;按 UNIQUE(source_id, url) 幂等 upsert,仅回填空行。需要覆盖内容时在批量体顶层加 mode: "upsert-content"。第 6 步用 releases tail <slug> --json 验证。第 7 步通过 releases admin playbook <org> --notes-file - 记录摄取方式、节奏与抽取怪癖。

并行要求:type、version、publishedAt(ISO-8601)、media、url 需与生产形态一致。批量路径不处理 title_generated 等 AI 字段,如需可另行 PATCH /v1/releases/:id、单条插入接口或脚本做手动富化。

常见错误:跳过预检、静默截断、漏填 url(破坏幂等)、对新建 source 触发 fetch、扇出时在父智能体抓详情页、对干净 feed 来源使用本技能、在托管智能体会话运行。

限制:仅支持本地 Claude Code;需本地文件系统与 CLI 的 RELEASES_API_* 环境变量及写权限;前置预检为强制安全门。