Repolode
instant-dev

instant-dev/api

JSDocコメントからOpenAPI仕様を生成し、LLMレスポンスのSSEストリーミングを標準搭載した、型安全なWeb API構築用JavaScriptフレームワークです。

スター
254
フォーク
9
未解決の Issue
2
最終コミット
2 か月前

これは何?

Instant APIは、HTTPインターフェースで型チェックを行うWeb API構築用のJavaScriptフレームワークです。開発者はエクスポートしたエンドポイント関数にJSDoc形式のコメントを付けるだけで、パラメーターの検証やサニタイズ、レスポンスのチェックが型から導かれるため、別途スキーマ検証ライブラリを用意する必要はありません。JSONおよびYAML形式のOpenAPI仕様と、LLMの関数呼び出し用JSON Schemaが、サーバーの /.well-known/ パス以下に自動生成されます。

functions/ ディレクトリ内のファイルパスがHTTPルートに対応し、エクスポートされたGET、POST、PUT、DELETE関数がそれぞれのメソッドを処理します。www/ ディレクトリから静的ファイルも配信でき、application/x-www-form-urlencoded、multipart、JSON形式のリクエストボディに対応しています。デフォルトでは制限の緩いCORSヘッダーを設定し、@originディレクティブで制限できます。

AIやチャットとの連携では、context.stream()メソッドと@streamスキーマを使ってServer-Sent Eventsをストリーミング配信できます。また、200レスポンスをすぐに返しつつバックグラウンドで処理を続けられるため、SlackやDiscordのWebhookにも適しています。このプロジェクトはnpmで@instant.dev/apiとして配布されており、プロジェクトのセットアップ、エンドポイントの生成、デプロイにはinstant.devコマンドラインツールも利用できます。

主な機能

  • 01JSDocコメントからJSONおよびYAML形式のOpenAPI仕様を生成します。
  • 02宣言された型、サイズ、範囲に基づいてパラメーターと戻り値を検証します。
  • 03LLMの関数呼び出し用JSON Schemaを生成します。
  • 04@streamとcontext.stream()を使い、text/event-stream形式でレスポンスをストリーミング配信します。
  • 05エンドポイントの処理をバックグラウンドで実行し、Webhookにすぐレスポンスを返します。
  • 06APIルートと並行してwww/ディレクトリの静的ファイルを配信します。

ユースケース

  • 別のスキーマライブラリではなく、関数コメントからリクエスト検証を行うJSON APIの構築。
  • LLMを利用するエンドポイントから、ブラウザクライアントへトークンをストリーミング配信。
  • すばやく応答し、その後に処理を行う必要があるSlackまたはDiscordのWebhookハンドラーの作成。
  • 既存のエンドポイント群について、OpenAPI仕様と関数呼び出し用スキーマを公開。

クイックスタート

  1. 1

    instant.dev のコマンドラインツールをグローバルにインストールする

    npm i instant.dev -g
  2. 2

    新しいプロジェクトフォルダーを作成して、その中に移動する

    cd ~/projects && mkdir my-new-project && cd my-new-project
  3. 3

    プロジェクトを初期化する

    instant init
  4. 4

    サーバーを起動する

    instant serve

使う前に知っておきたいこと

  • 最も手早くセットアップするには、Node.js と instant.dev CLI が必要です。
  • README では初期リリースとされているため、変更がある可能性があります。

収録されている特集

トピック

よくある質問

api とは?
JSDocコメントからOpenAPI仕様を生成し、LLMレスポンスのSSEストリーミングを標準搭載した、型安全なWeb API構築用JavaScriptフレームワークです。 Instant APIは、HTTPインターフェースで型チェックを行うWeb API構築用のJavaScriptフレームワークです。開発者はエクスポートしたエンドポイント関数にJSDoc形式のコメントを付けるだけで、パラメーターの検証やサニタイズ、レスポンスのチェックが型から導かれるため、別途スキーマ検証ライブラリを用意する必要はありません。JSONおよびYAML形式のOpenAPI仕様と、LLMの関数呼び出し用JSON Schemaが、サーバーの /.well-known/ パス以下に自動生成されます。
api は無料で使えますか?ライセンスは?
api は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
api は今もメンテナンスされていますか?
半年以内に更新あり。api の最終コミットは 2026年9月14日 です。
api は何に使えますか?
別のスキーマライブラリではなく、関数コメントからリクエスト検証を行うJSON APIの構築。 LLMを利用するエンドポイントから、ブラウザクライアントへトークンをストリーミング配信。 すばやく応答し、その後に処理を行う必要があるSlackまたはDiscordのWebhookハンドラーの作成。 既存のエンドポイント群について、OpenAPI仕様と関数呼び出し用スキーマを公開。
api のインストール方法は?
instant.dev のコマンドラインツールをグローバルにインストールする: npm i instant.dev -g 新しいプロジェクトフォルダーを作成して、その中に移動する: cd ~/projects && mkdir my-new-project && cd my-new-project プロジェクトを初期化する: instant init サーバーを起動する: instant serve
api はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/instant-dev/api

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト