コンテンツにスキップ
ファイル = 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です。コメント1行ですべてが変わります。

TypeScript関数を書くと、即座にライブHTTPエンドポイントになります。認証、CORS、モード、AIを制御するコメントを1行追加するだけ。設定不要。ミドルウェア不要。

exec / hello.ts

// @mode serverless

// @cors reflective

// @timeout 5000

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

# ライブ URL:

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

即座にHTTPエンドポイント — 設定不要
実行モード

2つのモード。1つのコメント。

各スクリプトはモードを選択します。ステートフルなリアルタイムアプリにはWorker。分離されたエフェメラル実行にはServerless。コメント1行で切り替えられます。

Workerモード

// @mode worker
  • 永続的なV8アイソレート — 常にウォーム状態
  • すべてのリクエスト間で状態を共有
  • WebSocketサポート
  • 最初のリクエスト後はコールドスタートなし

Serverlessモード

// @mode serverless // @concurrent 5
  • リクエストごとに新しいV8アイソレート
  • 完全な分離、状態の漏洩なし
  • @concurrentで同時実行数を設定可能
  • Webhookや散発的なトラフィックに最適
マジックコメント

すべての動作。1行で。

ファイルの先頭にコメントを追加するだけ。コード変更なし、設定ファイルなし、ミドルウェアなし。コメントを変えれば、動作が即座に変わります。

実行
// @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キーの設定不要。モデルは事前に設定されています。

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

AIモデル選択

スクリプトごとにモデルを上書きできます。既定は google/gemini-2.5-flash-lite で、Hoody AI を通じて 15 以上の推論プロバイダーの 300 を超えるモデルにアクセスできます。

ロギング
// @log-level full

ログの詳細度

ログ出力を none、minimal から standard(デフォルト)、full、debug まで調整できます。外部のロギングスタックを組む必要はありません。

リファレンス

マジックコメント完全リファレンス。

すべてのコメント、すべての値、すべてのデフォルト。一か所にまとめて。

@mode実行

スクリプトの実行モードを設定します。'worker'は永続的なVMを作成し、'serverless'(デフォルト)はリクエストごとに新しいVMを作成します。

構文

// @mode worker // @mode serverless
ユースケース

WebhookからWebSocketまで数分で。

即座のHTTP APIからリアルタイムAIプロキシまで — 6つのパターンで全範囲をカバー。

即座のAPI

Expressのセットアップを完全にスキップ。ファイルを作成するだけで、ライブHTTPエンドポイントになります。高トラフィックにはWorker、分離にはServerlessを使用。

Webhookレシーバー

Serverlessによる分離でStripe、GitHub、SlackのWebhookを受信します。@concurrent falseで直列処理と一貫した順序保証を実現。

WebSocketサーバー

チャットサーバー、ライブダッシュボード、SSEストリーム。Workerモードで共有ルーム状態を持つ永続的な接続を維持します。

AI MITMプロキシ

AIリクエストをインターセプトして制御します。安全チェックの追加、プロンプトの変更、機密データのブロック、使用量の追跡 — すべて1つのスクリプトで。

レート制限

リクエスト間で共有オブジェクトにIPごとのリクエスト数を記録します。Workerモードでインメモリレート制限が簡単に実装できます。

スクリプト合成

すべてのスクリプトはHTTPエンドポイントです。fetch()で他のスクリプトを呼び出せます。シンプルな関数からマイクロサービスを構成 — キューもサービスディスカバリーも不要。

50以上のエンドポイント

すべてのAPIサーフェス、1か所に。

スクリプト実行、管理、バリデーション、テンプレート、ルーティング、モニタリング、マジックコメント制御 — すべて1つの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-customURLをスクリプトパスに解決
PUT
/api/v1/exec/templates/update-custom/{name}すべてのルートを検出
DELETE
/api/v1/exec/templates/delete-custom/{name}ルートマッチングをテスト

マジックコメント

4 エンドポイント
GET
/api/v1/exec/magic-comments/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/installnpm モジュールをインストール
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/resolveURL がどのスクリプトに対応するかを解決
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/streamSSE でログをストリーミング
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マジックコメントのスキーマを取得
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 管理

4 エンドポイント
POST
/api/v1/exec/sdk/importSDK をインポート
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/generateOpenAPI 仕様を生成
GET
/api/v1/exec/user-openapi/listユーザースクリプトを一覧表示
POST
/api/v1/exec/user-openapi/validateユーザースキーマを検証
GET
/api/v1/exec/user-openapi/schemaスキーマファイルを配信
GET
/api/v1/exec/user-openapi/spec生成された仕様を配信
POST
/api/v1/exec/user-openapi/mergeOpenAPI 仕様をマージ

インスタンス & システム

3 エンドポイント
GET
/api/v1/exec/listすべての exec インスタンス ID を一覧表示
POST
/api/v1/exec/system/restartサーバーを再起動
GET
/api/v1/exec/system/restart-status再起動の状態を取得

コードがAPIです。

TypeScript関数を書いて、コメントを1行追加するとライブになります。

ドキュメントを読む