跳转到内容
use-cases / api-endpoints-on-demand / hero
EXEC · AI-NATIVE HTTP

按需实现的 API 端点

访问不存在的 URL。一个通配符 exec 脚本捕获调用,要求 LLM 编写处理程序,在 V8 沙箱中运行它,然后回答。下一次调用是原生的——路由现在存在。

阅读 exec 文档
use-cases / api-endpoints-on-demand / mechanism

URL 如何变成端点

Hoody Exec 让一个 TypeScript 文件提供任何 HTTP 路由,包括捕获全部。使用 ai true,脚本也会有模型句柄注入。组合这两个,请求本身就成为写入处理程序的触发器。

通配符捕获全部5 步 · 一个 EXEC 文件
01

请求到达

GET /api/...

捕获全部下的任何路径都会击中一个脚本。

02

捕获全部唤醒

[...slug].ts

metadata.parameters.slug 携带路径段。

03

LLM 编写处理程序

generateText([ model ])

ai true 注入模型。默认是 gemini-2.5-flash-lite。

04

在 V8 沙箱中运行

isolate.eval

每个脚本在自己的 V8 隔离中运行,设计用于受信任的代码。

05

保存路由

fs.write to scripts/N

下一次调用直接击中保存的文件。无 LLM,原生速度。

scripts/1/api/[...slug].ts
// @mode serverless
// @ai true
// @ai-model anthropic/claude-sonnet-4.5

const path = '/' + (metadata.parameters.slug ?? []).join('/');
const body = req.body ?? []'';

// Already saved? Hand off to the cached route.
const saved = await fs.exists('scripts/1/api' + path + '.ts');
if (saved) return fetch(path, [ method: metadata.method, body ]);

// Otherwise: ask for a handler, sandbox it, save it.
const [ text: handler ] = await generateText([
  model,
  system: 'Return a JS handler body. No imports. Return JSON.',
  prompt: `URL $[metadata.method] $[path]\nQuery $[JSON.stringify(metadata.query)]\nBody $[JSON.stringify(body)]`,
]);

const result = await isolate.eval(handler, [ req, res, fetch ]);
await fs.write('scripts/1/api' + path + '.ts', '// @mode serverless\n' + handler);
return result;

两个魔法注释和一次返回到路由的 fetch。通配符位于 scripts/1/api/[...slug].ts。保存的文件落地在上一级目录。两者都说 HTTP,所以脚本可以在生成期间调用自己的邻近脚本。

use-cases / api-endpoints-on-demand / angles

三类读者,一个模式

这个机制根据你是谁而以三种不同的方式阅读。它们编织成相同的论证。

面向懒惰的高级工程师

停止编写你一年用两次的端点

管理工具、集成脚本、你一直想接上的报告。需要时访问 URL。处理程序出现。重新加载时保存。

面向代理协作者

代理不是编程 API,而是调用它

你的代理需要一个不存在的路由。在其他地方,它会编写代码、部署、等待,然后调用。这里,它调用。API 在响应到达的同时到达。

面向激进的未来

API 不再被设计,而是被发现

如果你曾经发布的每个端点都只是你实际调用的 URL 的轨迹呢?文档压缩为访问日志。规范压缩为流量。

use-cases / api-endpoints-on-demand / punchline

文档变成访问日志。

周一调用周二文档化
access.log现在是端点
  • 09:14GET/api/analytics/dashboard生效中
  • 11:02POST/api/exports/users.csv生效中
  • 13:48GET/api/admin/seats/audit生效中
  • 16:22POST/api/agent/tools/refund生效中
use-cases / api-endpoints-on-demand / replaces

这替代了什么

当开发人员需要快速添加端点时所使用的模式。每一个都对每个路由都要收脚手架开销。通配符一次性支付。

  • AWS Lambda + API Gateway每个端点的脚手架,冷启动
  • Hasura / PostgREST 自动生成模式优先,返回数据而非行为
  • Vercel / Cloudflare 函数一次性端点,完整部署周期
  • Express / Fastify 脚手架每个路由的样板代码,运行时要保姆式管理
  • Kong / Tyk 插件一个自定义规则的重型网关
  • BFF 微服务每个 UI 怪癖都要维护的服务
use-cases / api-endpoints-on-demand / cta

文档停止成为计划。它是你调用过的 URL 的轨迹。

阅读 exec 路由指南
use-cases / api-endpoints-on-demand / related

阅读其他内容