跳转到内容
文件即 API
V8 隔离执行
零配置
魔法注释
依赖自动安装
WebSocket 支持
TypeScript 原生
300+ AI 模型
文件即 API
V8 隔离执行
零配置
魔法注释
依赖自动安装
WebSocket 支持
TypeScript 原生
300+ AI 模型
文件即 API
V8 隔离执行
零配置
魔法注释
依赖自动安装
WebSocket 支持
TypeScript 原生
300+ AI 模型
文件即 API
V8 隔离执行
零配置
魔法注释
依赖自动安装
WebSocket 支持
TypeScript 原生
300+ AI 模型
ExecHOODY EXEC

文件即 API。一条注释,改变一切。

编写 TypeScript 函数——立即成为实时 HTTP 接口。添加一条注释控制鉴权、CORS、模式或 AI。零配置,无需中间件。

exec / hello.ts

// @mode serverless

// @cors reflective

// @timeout 5000

return { message: 'Hello from Hoody Exec!', time: Date.now() };

# 实时地址:

https://abc123-def456-exec-1.node-us-1.containers.hoody.com/hello

即时 HTTP 接口——无需任何配置
执行模式

两种模式。一条注释。

每个脚本选择一种模式。Worker 适用于有状态实时应用,Serverless 适用于隔离的临时执行。一条注释即可切换。

Worker 模式

// @mode worker
  • 持久 V8 隔离——永久保持热态
  • 所有请求共享状态
  • 支持 WebSocket
  • 首次请求后零冷启动

Serverless 模式

// @mode serverless // @concurrent 5
  • 每次请求创建新的 V8 隔离
  • 完全隔离,无状态泄漏
  • 通过 @concurrent 配置并发数
  • 适用于 Webhook 和零散流量
魔法注释

所有行为。一行搞定。

在文件顶部加一条注释。无需改动代码,无需配置文件,无需中间件。修改注释——行为立即改变。

执行
// @mode worker

执行模式

在持久 Worker VM 与每次请求独立的 Serverless 隔离之间切换,决定状态、WebSocket 和冷启动行为。

网络
// @cors reflective

CORS 控制

使用 'reflective' 镜像请求来源,使用 '*' 开放所有来源,或指定具体 URL 进行生产锁定。无需任何中间件。

限制
// @timeout 60000

请求超时

设置超时时间(毫秒)。默认 30 秒。使用 0 或 'unlimited' 支持长运行脚本,防止请求失控。

限制
// @concurrent false

并发上限

仅 Serverless 模式:限制同时执行数。设为 'false' 串行处理——Webhook 有序消费的必备选项。

鉴权
// @token my-secret-key-123

接口鉴权

使用共享密钥保护任意接口。客户端可通过 Bearer、Basic、X-Token 头或查询参数进行认证,采用恒时比较。

实时
// @websocket

WebSocket 支持

开启实时双向连接,需配合 Worker 模式使用。ws.message、ws.open、ws.close 处理器自动注入。

AI
// @ai true

AI 助手

从 Vercel AI SDK 注入 generateText、streamText、generateObject,无需导入,无需配置 API Key,模型已预配置。

AI
// @ai-model anthropic/claude-sonnet-4.5

AI 模型选择

可按脚本覆盖模型。默认使用 google/gemini-2.5-flash-lite,并可通过 Hoody AI 访问来自 15+ 推理服务商的 300 多个模型。

LOGGING
// @log-level full

日志详细程度

从 none、minimal 到 standard(默认)、full、debug 自由调节日志级别。无需额外搭建日志栈。

参考

完整魔法注释参考。

每条注释、每个值、每个默认设置——全部汇聚于此。

@mode执行

设置脚本执行模式。'worker' 创建持久 VM;'serverless'(默认)每次请求创建新的 VM。

语法

// @mode worker // @mode serverless
使用场景

从 Webhook 到 WebSocket,分钟级完成。

六种模式,覆盖完整范围——从即时 HTTP API 到实时 AI 代理。

即时 API

完全跳过 Express 配置。创建一个文件——立即成为实时 HTTP 接口。Worker 模式应对高流量,Serverless 模式保障隔离性。

Webhook 接收器

以 Serverless 隔离接收 Stripe、GitHub、Slack Webhook。使用 @concurrent false 串行处理,保证有序消费。

WebSocket 服务器

聊天服务器、实时仪表盘、SSE 流。Worker 模式维护持久连接,共享房间状态。

AI 中间人代理

拦截并控制 AI 请求。在一个脚本中完成安全检查、提示词修改、敏感数据屏蔽和用量追踪。

限速

在 Worker 模式的共享对象中跟踪每 IP 请求数。内存限速无需额外组件。

脚本组合

每个脚本都是 HTTP 接口。通过 fetch() 调用其他脚本,将简单函数组合为微服务——无需消息队列,无需服务发现。

50+ 接口

全部 API,集于一处。

脚本执行、管理、验证、模板、路由、监控和魔法注释控制——全部汇聚于一套 API。

67 个文档化端点https://abc123-def456-exec-1.node-us-1.containers.hoody.com

脚本执行

1 个端点
POST
/{path}通过文件路由执行任意脚本

脚本管理

6 个端点
GET
/api/v1/exec/scripts/read读取脚本内容
POST
/api/v1/exec/scripts/write创建或更新脚本
DELETE
/api/v1/exec/scripts/delete删除脚本
GET
/api/v1/exec/scripts/list列出所有脚本
POST
/api/v1/exec/scripts/tree获取目录树
POST
/api/v1/exec/scripts/move移动或重命名脚本

验证

6 个端点
POST
/api/v1/exec/validate/script全面脚本验证
POST
/api/v1/exec/validate/typescriptTypeScript 类型检查
POST
/api/v1/exec/validate/syntax语法验证
POST
/api/v1/exec/validate/dependencies解析并验证魔法注释
POST
/api/v1/exec/validate/return-type依赖分析
POST
/api/v1/exec/validate/magic-comments返回类型验证

模板与路由

6 个端点
GET
/api/v1/exec/templates/list列出可用模板
GET
/api/v1/exec/templates/preview预览模板
POST
/api/v1/exec/templates/generate从模板创建脚本
POST
/api/v1/exec/templates/create-custom将 URL 解析为脚本路径
PUT
/api/v1/exec/templates/update-custom/{name}发现所有路由
DELETE
/api/v1/exec/templates/delete-custom/{name}测试路由匹配

魔法注释

4 个端点
GET
/api/v1/exec/magic-comments/schema获取魔法注释的 schema
GET
/api/v1/exec/magic-comments/read读取脚本的魔法注释
PUT
/api/v1/exec/magic-comments/update更新魔法注释
POST
/api/v1/exec/magic-comments/bulk-update跨脚本批量更新

依赖与包

9 个端点
GET
/api/v1/exec/dependencies/bundled列出预置依赖
POST
/api/v1/exec/dependencies/check检查缺失的包
POST
/api/v1/exec/dependencies/install安装 npm 模块
GET
/api/v1/exec/package/readRead package.json
POST
/api/v1/exec/package/updateUpdate package.json
POST
/api/v1/exec/package/install安装包
POST
/api/v1/exec/package/compare比较包
POST
/api/v1/exec/package/pin锁定版本
POST
/api/v1/exec/package/initInitialize package.json

路由

3 个端点
POST
/api/v1/exec/route/resolve解析 URL 映射到哪个脚本
POST
/api/v1/exec/route/discover发现所有路由
POST
/api/v1/exec/route/test测试路由匹配

缓存与共享状态

4 个端点
POST
/api/v1/exec/cache/clear清除执行缓存
POST
/api/v1/exec/shared-state/get读取共享状态
POST
/api/v1/exec/shared-state/set写入共享状态
POST
/api/v1/exec/shared-state/clear清除共享状态

日志

5 个端点
GET
/api/v1/exec/logs/list列出日志
POST
/api/v1/exec/logs/read读取单条日志
GET
/api/v1/exec/logs/stream通过 SSE 流式输出日志
POST
/api/v1/exec/logs/search搜索日志
DELETE
/api/v1/exec/logs/clear清除日志

监控与魔法 API

6 个端点
GET
/api/v1/exec/monitor/stats性能指标
GET
/api/v1/exec/monitor/active-requests活跃请求
GET
/api/v1/exec/monitor/scripts按脚本统计指标
POST
/api/v1/exec/monitor/script-performance健康检查
GET
/api/v1/exec/monitor/metrics获取魔法注释 Schema
GET
/api/v1/exec/health读取脚本魔法注释

计划任务

4 个端点
GET
/api/v1/exec/schedules/list列出计划任务
POST
/api/v1/exec/schedules/trigger触发一个计划任务
POST
/api/v1/exec/schedules/reload重新加载计划任务
GET
/api/v1/exec/schedules/history计划任务运行历史

SDK Management

4 个端点
POST
/api/v1/exec/sdk/importImport an SDK
GET
/api/v1/exec/sdk/list列出已导入的 SDK
GET
/api/v1/exec/sdk/{id}获取 SDK 详情
DELETE
/api/v1/exec/sdk/{id}删除已导入的 SDK

用户 OpenAPI

6 个端点
POST
/api/v1/exec/user-openapi/generate生成 OpenAPI 规范
GET
/api/v1/exec/user-openapi/list列出用户脚本
POST
/api/v1/exec/user-openapi/validate校验用户 schema
GET
/api/v1/exec/user-openapi/schema提供 schema 文件
GET
/api/v1/exec/user-openapi/spec提供生成的规范
POST
/api/v1/exec/user-openapi/merge合并 OpenAPI 规范

实例与系统

3 个端点
GET
/api/v1/exec/list列出所有 exec 实例 ID
POST
/api/v1/exec/system/restart重启服务器
GET
/api/v1/exec/system/restart-status获取重启状态

代码即 API。

编写 TypeScript 函数,加一条注释,立即上线。

阅读文档