SuperAPI AI 工具集

codearia-sieve

codearia-sieve 是一个将网页确定性地转换为“决策就绪状态”的工具,以 MCP 服务器和 TypeScript 库的形式提供,无需模型或 API 密钥。它把网页解析成决策模型所需的精确格式:日期转为 ISO 日期,带单位的数字转为结构化事实,文本切分为符合模型窗口的块,每块都锚定回页面来源。它先于模型完成挖掘工作,去除导航、页脚、横幅等无关内容,并返回 state、markdown、usage、warnings 等结构化输出。适用于构建智能体、运行低成本决策模型以及需要可核查答案的场景。

访问官网

工具介绍

用途

codearia-sieve 用于把网页解析成决策模型所需的精确格式:日期作为日期、带单位的数字作为事实、文本切分为符合模型窗口的块,且每块都指回其在页面中的来源。它先于模型完成挖掘工作,返回的是页面的“状态”(state),而非散文。

主要能力

  • 日期转为日期:例如 "Published September 15, 2026" → "2026-09-15"。优先从 JSON-LD、meta 标签和 <time> 读取;仅在标记沉默时从署名行读取,且从不猜测。
  • 数字转为事实:例如 "$42 per billion tokens" → { value: 42, unit: "USD_per_billion" }。支持九种语言;小数逗号遵循页面语言。没有单位的数字不视为事实,年份也从不视为事实。
  • 文本转为合适的块:每个块知道其 token 和字符大小、由哪些块构建,以及页面上可供核查决策的 #anchor。
  • 移除无关内容:菜单、页脚、横幅、标签行、“阅读更多”等被移除;使用 trace: true 可获得被移除内容及原因的列表。
  • 确定性:八步普通代码,除非你接入模型,否则不运行任何模型。相同 HTML 产生逐字节相同的 JSON。

使用方式

从智能体使用

你用平实的语言说明需求。智能体找到页面,为每个页面调用 sieve_page,将 state 连同类型化问题交给决策模型,并撰写结果。Sieve 准备,judge 判断,智能体撰写。

已在官方 MCP Registry 中列为 io.github.AntonG87/codearia-sieve;读取注册表的客户端可按名称安装。

  • sieve_page — 参数为 url 或 html。返回带输出模式的类型化 structuredContent:source、state、usage、warnings。默认 summary 模式下,块携带大小、锚点和标题但不含文本——智能体看到存在内容的轮廓而无需付费。需要全部内容时使用 mode: "full" 和 mode: "markdown"。
  • sieve_chunk — 参数为 url、id。返回该 URL 上次结果中某个块的文本,无需重新获取。先概览,再按需获取。

与 jev-mcp 搭配:块的大小适配其字段,因此 state 可直接进入类型化问题。

作为库使用

parseDate、findDates 以及供应商限制(JEV、JEV_MCP、DEFAULT_BUDGET)也被导出。

适用场景

  • 构建智能体且已见识过 token 账单的人。每个获取的页面在智能体读到一个字之前就要花费数万 token。样本中页面中位数:输入 53 718 token,输出 1 106 token。
  • 运行低成本决策模型的人。分类器、排序器、像 Jev 这样判断而非写作的 System One 模型。它们几乎免费且非常快,但有硬边界:无法计数、把日期读作文本、当无关材料填满上下文时准确率下降。每个“页面转 markdown”工具为读者准备输入,而这个工具为判断者准备输入。
  • 需要可核查答案的人。来自抓取文本的裁决无法证明,除非每部分都指回其来源。这里每个事实都指明其块,每个块都携带锚点。

限制

  • 首页、列表页和产品页没有文章可找。你会得到标题和薄内容警告,而不是虚假的胜利。
  • 由 JavaScript 渲染的文章在容器为空时返回 empty-without-js。发布预告并流式传输其余内容的网站,没有浏览器无法区分;你得到的是预告。
  • 文本密集的页面节省较少。整本小说节省 22%,RFC 节省 84%:没有可移除的包装,文本被完整保留。这是工具在正常工作。
  • 定价网格不是表格。事实知道其来自哪个块,而不是它位于哪个方案列下;Sieve 不猜测配对。发送该块——定价页清理后约一千 token——让 judge 阅读。
  • token 使用 o200k 作为近似计数。超过一兆字节的页面获得采样计数和 usage.rawTokensEstimated: true。
  • 预期结果从不抛出异常,而是作为警告返回,每个都有名称。

其他信息

设计说明(愿景和架构)在 docs/ 中。许可证为 MIT © 2026 Anton Evelson · Codearia Academy。