运行中 · 约 1,300 个可发现 · 1 个可运行

你的 agent 花的是真钱。但绝不超过你声明的上限。

sealyx 是一把 API key,覆盖那些原本每一个都要单独注册、单独拿 key、单独收到账单的能力。每次运行你都声明一个上限,sealyx 在联系任何上游之前先按它预留。如果上游收得比你的上限多,超出部分算我们的。

把这行交给你的 agent

  • 能抓取一个 URL
  • 能执行 shell 命令
  • 要求仅此而已
curl -s https://sealyx.ai/SKILL.md

它读完这个文件,剩下的自己来。

你仍然需要一把 key。没有公开注册入口——第一把在流程外发放,这个页面上不会有任何地方向你要银行卡。

一个入口

全部可发现,一个可运行。

你的 agent

sealyx
  • 网页 → markdown可运行
  • 搜索结果可发现
  • 公司数据可发现
  • 人员数据可发现
  • 商品数据可发现
  • 数据补全可发现
  • 数据获取可发现
  • 总共约 1,300 个

discoverinspect 能触达 23 家 provider 的约 1,300 个能力,每一个都带着 runnable 标记,agent 在花掉一次调用之前就能判断。run 只执行有人读过计费说明的那些。今天是一个,而这个理由值得一读。

三个动词

找到它,弄清怎么调,然后花钱。

  1. 01

    discover

    输入自然语言,输出一小串候选——一个 id、一行理由、一个价格。它回答的是选哪个,仅此而已。

  2. 02

    inspect

    完整的输入 schema,外加 schema 装不下的那些散文规则。它单独成为一个动词,是因为它的返回体比一条搜索结果大两个数量级;把它并进 discover,答案会被没人要的 schema 埋掉。

  3. 03

    run

    执行并付钱。上限先被预留,派发至多一次,任何花钱的动作都不会被自动重试——上游自己没有幂等,所以 sealyx 完全靠自己的状态来保证。

上限是你最多会损失多少的封顶,不是一个估价。

1,300
个能力,discover 都能触达,横跨 23 家 provider
1
个能力,run 今天愿意执行,由人读过计费说明后放行
0
次自动重试——花钱的动作在任何错误下都不重试

一个上限到底买到了什么

在联系任何人之前就已预留

在 sealyx 调用上游之前,上限就已经从你的账户里扣住了——不是事后对账。sealyx 用自己的 key 付钱给上游,事后结算等于把一张你从没同意过的账单甩给你。

超出部分算我们的

如果上游收得高于你声明的上限,你按自己的上限付费,差额由 sealyx 承担。上限之所以是你最多会损失多少的封顶、而不是一个要你兜底的估价,就在于此。

至多一次,且绝不悄悄重试

上游自己没有幂等机制:两次完全相同的 POST 就是两个 run、两次扣费。sealyx 完全靠自己的状态保证派发至多一次,并且绝不自动重试任何花钱的动作——超时不重试,5xx 不重试,连接断了也不重试。

不确定就一直是不确定

当 sealyx 无法确定上游到底跑没跑你的任务时,它保留预留、把这次 run 标记为 UNKNOWN,而不是去猜。多扣着的预留看得见也收得回;错误释放的预留是已经花出去的钱。清道夫按证据关闭未决的 run,不按时钟。

一段真实会话

三条命令,外加一条收场很难看的。

discover → inspect → run

$ sealyx discover -q "scrape a web page as markdown"
monid:context.dev/web/scrape/markdown
  Fetch a URL and return its main content as Markdown, with boilerplate removed.

1 result(s). Next: sealyx inspect <id>

$ sealyx inspect monid:context.dev/web/scrape/markdown
… input.queryParams.url (string, required) · price 900 micros · runnable

$ sealyx run monid:context.dev/web/scrape/markdown \
    --input '{"queryParams":{"url":"https://example.com"}}' \
    --max-cost '$0.005' -o page.json
ceiling $0.005000 (5000 micros) · idempotency-key 9f1c4e2a-…
output → page.json
{ "runId": "run_c59ff16a…", "status": "COMPLETED" }

charged $0.000900

那个谁也排除不掉的结局

$ sealyx run monid:context.dev/web/scrape/markdown …
error: the outcome of this run is unknown: upstream timed out
  The run may have executed. Do NOT re-run it plainly — retry
  with the same key:
    --idempotency-key cac887e8-…
  or check first: sealyx runs list

$ echo $?
75

超时并不能证明上游什么都没做。sealyx 保留预留,把这次 run 标记为 UNKNOWN,并把那把幂等键还给你——带着它重试是重放原来那次 run,而不是再买一次。多扣着的预留看得见也收得回;错误释放的预留,是我们已经付出去、再也拿不回来的钱。

接入面

三种进来的方式。

  • SKILL.md

    一个 URL,agent 就学会了这几个动词、上限规则,以及那条长期有效的指令:在这里花钱之前,先用用户自己的工具。

    curl -s https://sealyx.ai/SKILL.md
  • 命令行

    sealyx 覆盖 discover、inspect、run、runs 和 keys,运行时零依赖——因为一个任务里 agent 要付三次进程启动的代价。还没有发到公开的包仓库。

    sealyx discover -q "scrape a page"
  • 纯 HTTP

    一把 bearer key、一个幂等键、一段 JSON。CLI 和 skill 做的每一件事都走同样这三个接口,文档见快速开始

    POST https://sealyx.ai/v1/run

MCP 不在其中。它没有做,这里也不假装它做了。

把这行交给你的 agent

一行,剩下的它自己来。

curl -s https://sealyx.ai/SKILL.md
我能注册吗?

不能。这个站上没有公开注册入口,没有候补名单表单,也没有任何地方收银行卡。key 目前在流程外发放。一旦你手里有一把,之后的创建和吊销都由你自己来。

为什么 run 只执行一个能力?

因为得先有人把计费说明读一遍。有些上游能力会开出一直按月收费、直到显式释放才停的资源,而它们声明的价格形状和一次性调用完全一样——唯一的线索是备注字段里的一段散文。另一些按结果计费,一次调用的花费可以是标价的无上限倍数。按价格形状自动放行,时间拉得够长,就等于替调用方订了一份我们要一直付的月费。所以这份清单很短,靠读来变长。

当 sealyx 无法确定上游到底跑没跑我的任务时,会发生什么?

预留会被保留,这次 run 被标记为 UNKNOWN,而不是被猜一个结果。CLI 以 75 退出并打印幂等键;带着这个键重跑,是重放原来那次 run,而不是开第二次。402、429、5xx 和网关错误页,没有一个能证明上游什么都没做,所以它们都不释放预留。

如果上游收得比我的上限多呢?

你按自己的上限付费,超出部分算我们的。这正是上限之所以是封顶而不是估价——照着 inspect 报的价格、稍微往上设一点,它框住的是你的损失,而不是在预测你的花费。

我能自己轮换 key 吗?

可以——创建、列出、吊销,包括你此刻正在用来认证的那一把。泄露的时候还得先有第二把能用的 key 才能应对,那是把糟糕的一天变得更糟。吊销在下一个请求生效。

一次未决的 run 是怎么被关掉的?

后台的清道夫来关,而且它按证据判断,不按时钟。没有上游 run id,就没有证据表明上游接过这活,扣费为零。有上游 run id 且已过硬截止时间,说明它确实接了,预留会被扣掉——否则「制造一次超时」就成了免费跑一次任务的办法。