跳转到主要内容
schema 是一份 JSON 文档,描述如何与一个网站对话。它列出网站提供的每个端点和 action - URL、HTTP method、必需 headers、参数、以及响应格式。一旦某个网站有了 schema,任何 agent 都能直接查询并调用端点,无需重新发现。

schema 包含什么

一个 Shopify 网站的 schema 可能包含: 每个端点都带有参数、必需 headers(如 Content-Type: application/json)以及足够让 agent 构建有效 HTTP 请求的元数据。

Schema 格式

Schema 是 JSON 文档。以下是最小示例:

必填字段

选填字段

能力徽章

registry 会把能力信号以徽章形式呈现,让 agent 知道请求需要什么: 这些徽章会显示在公开 schema 卡片上,让 agent 在下载完整 schema 前就能判断能否处理该网站。

贡献 schema

任何有 API key 的人都可以推送 schema。共有三条路径:

选项 1:使用 CLI 工具组发现

每个子命令都输出 JSON,可直接传给下一步处理 - 不需要 LLM key。

选项 2:让你的 agent 代劳

Claude Code、Codex、Cursor 以及其他支持 Vercel skills CLI 的 agent 会加载 hermai-contribute skill,并能自主执行发现与推送流程。详见 hermai-ai/hermai-skills

选项 3:手动编写并推送

若你已经了解网站的 API(从 DevTools、文档或测试),可以自己编写 schema JSON 并通过 API 推送:
推送成功会返回版本 hash 与网站:
若校验失败,会得到特定错误码:
从最小开始。 你不需要一次对应每个端点 - 即便只有一个有用的端点,也是合格的贡献。其他贡献者可以后续推送覆盖更广的新版本。
Schema 会立即上线 - 没有审核队列。

校验规则

每次推送都会经过校验。任一检查失败即拒绝,并返回对应错误码。 结构检查: 内容治理:

禁用字段

以下 JSON key 若在 schema 的任何深度出现都会被拒绝:
能力信号是被允许的。 区别在于:告诉 agent 网站需要什么的元数据(例如 requires_stealth: true)是可以的;描述如何绕过防御的运营机密(例如 proxy_credentials: "user:pass@host")则不可。前者属于 schema,后者属于 CLI 运行时。

内容寻址

每份 schema 都会被哈希(以排序 key 的规范 JSON 生成 SHA-256)。hash 即版本 ID。对同一网站重复推送相同内容等同空操作 - registry 会识别为重复。

认证徽章

schema 默认为社区贡献且未认证。Hermai 团队会审核 schema 并授予认证徽章给达到质量标准的项目。 agent 可以只筛选已认证的 schema:
或全部都取(默认行为):
每个 API key 在 dashboard 都有一个 schema access 开关,控制该 key 在 catalog 响应中是否包含未认证的 schema。

Schema 版本

每次推送会生成新版本。registry 会为每个网站追踪”最新”版本。查询 catalog 时默认取得最新版。 可获取版本历史:

公开卡片 vs 完整套件

registry 对每份 schema 提供两种视图: 公开卡片(不需 API key)- 描述 schema 做什么的元数据:
  • Site、分类、名称、说明
  • 端点名称、method、描述
  • 变量名称与来源(path/query/body)
  • Query 参数 key 与是否必填
  • 响应字段名称与类型(仅顶层)
  • 能力徽章(需要浏览器、需要 session、需要验证)
完整套件(需 API key + intent)- agent 执行所需的一切:
  • 完整 URL 模板
  • Headers 值
  • Body 模板
  • Session 配置
  • 变量模式与默认值
分流是刻意的:卡片回答”这有用吗?“,套件回答”该怎么执行?”

贡献的 credits

每贡献一个网站可获得 +50 credits。Credits 会显示在 dashboard 中,并可在支持 hosted execution 的地方使用。