Busabase

AirApp をウェブサイトとして公開する

ウェブサイトエンジンで AirApp を常時オンラインの公開アドレスに置き、サイトから Busabase API でワークスペースを読み書きします。

AirApp のほかの 3 つのエンジン(ブラウザ内、このマシン、クラウドサンドボックス)は、誰かがアプリを開いている間だけ動きます。ウェブサイトエンジンは違います。公開すると、アプリは決まったアドレスで常にオンラインになり、ログインしなくても誰でも開けます。ショップ、ランディングページ、問い合わせフォームなど、ワークスペースの外の人に見せるものに使います。

ウェブサイトにはページも独自のバックエンド API も置けます。Cloudflare Workers 上で動きます。

始める前に

  • プラン: Busabase Cloud では Plus 以上が必要です。Free プランでは、エンジンの選択肢でウェブサイトにアップグレードの案内が表示されます。
  • セルフホスト版: 先に管理者がウェブサイトエンジンを設定する必要があります。設定されるまで、ウェブサイトは理由付きでグレー表示になります。セルフホスト版にプランの制限はありませんが、有効なライセンスが必要です。
  • アプリ側: アプリの airapp.json でウェブサイトエンジンを指定します。エージェントに busabase-app-creator スキルに従って書くよう頼めば、書き方はスキルに書いてあります。

プレビューと公開

  1. 実行: アプリを開きます。ウェブサイトエンジンで実行するとプレビューになり、ワークスペースのメンバーしか開けません。
  2. 公開: プレビューで問題がなければ、ツールバーの公開をクリックします。公開されるのは直前にプレビューしたバージョンで、状態は公開中になります。
  3. ファイルを変更したら: もう一度実行して新しいプレビューを確認してから公開します。そうしないと「このプレビューの後にファイルが変更されました。もう一度実行してから公開してください。」と表示され、公開中のサイトは古いバージョンのままです。

ツールバーに未公開の変更ありと表示されている場合、プレビューのほうが公開中のサイトより新しい状態です。

アドレスと公開スイッチ

アプリの設定に、サイトのアドレスと公開スイッチがあります。

  • 公開オン: アドレスを知っていれば誰でも開けます。
  • 公開オフ: すぐにオフラインになり、アドレスは「見つかりません」と表示されます。オンに戻せば復帰し、公開し直す必要はありません。
  • ゴミ箱に移動: サイトはオフラインになります。ゴミ箱から復元した後、公開スイッチをもう一度オンにします。
  • 完全に削除: サイトとアドレスもアプリと一緒に削除されます。

サイトから Base を読み書きする

サイトのバックエンド(Worker)は Busabase API でワークスペースを読み書きします。エージェント、CLI、SDK と同じ API と権限です。

サイトが受け取るキー

実行や公開のたびに、Busabase はサイトに API キーを発行します。

  • 誰のキーか: 公開版は公開をクリックした人、プレビューはプレビューを実行したメンバーのキーです。サイトにできることは、その人がワークスペースでできることを超えません。
  • 何ができるか: アプリの airapp.json に書いたレベルで決まります。読み取りのみ(既定)、変更リクエストの提出、書き込みのいずれかです。公開することが承認で、ほかの承認はありません。
  • どこで使えるか: このワークスペースだけです。その人のほかのワークスペースでは拒否され、個人の Vault の値も読めません。
  • どこで確認できるか: その人の API キー一覧に Site: <アプリ名>(プレビューは Site preview: <アプリ名>)として表示されます。そこで削除すると、次に公開するまでサイトは読み書きできなくなります。

プレビューも同じレベルの別のキーを使い、ほかのエンジンと同じくワークスペースの実データを読み書きします。

止まるとき

  • 公開をオフにする、またはアプリをゴミ箱に移動する: 公開版のキーはすぐに無効になります。公開をオンに戻すと元に戻ります。
  • アプリを完全に削除する: キーも削除されます。
  • 公開した人がワークスペースを抜ける: キーは使えなくなります。権限のある人がもう一度実行して公開してください。
  • 公開するたびに: 新しいキーに置き換わり、古いキーは無効になります。

サイトによる変更はほかの API 書き込みと同じく変更リクエストを通り、履歴にはそのキーが記録されます。

見知らぬ人が何に触れられるかは、サイトのコードで決まります

このキーは、公開した人がこのワークスペースでそのレベルで読み書きできるものすべてに届きます。サイトが使う Base だけではありません。見知らぬ人がキーそのものを手にすることはなく、サイトが公開している入口を通してしか使えません。エージェントには busabase-app-creator スキルに従って書かせ、具体的なエンドポイントだけを公開し、訪問者のリクエストをそのまま API に転送しないようにしてください。書き込みが不要なら読み取りのみのままにします。CAPTCHA はまだないため、公開フォームはスパムされる可能性があります。

On this page