Console + 公開サイト
Letaido が構築したものを配置する 2 つの場所:1 つはあなたのチーム用、もう 1 つは他のすべての人用です。

1. コンソール(内部)
Console は、Letaido が内部ツールを提供するメンバー限定のウェブアプリです。チームのプライベートなダッシュボード画面と考えてください。
- ワークスペースメンバーのみがアクセス可能です。匿名の訪問者にはログイン画面が表示されます。
- アプリは認証ヘッダーから ID を読み取るため、すべてのページで閲覧者(オーナー、管理者、メンバー、閲覧者)を識別できます。
- データベースアクセス:
console_dbとconsole_site_dbへの完全な読み取り/書き込みが可能です。site_dbにはアクセスできません。
コンソールページを構築する場合:
- 出力はチーム専用です。
- 内部データのクエリ、コネクタの呼び出し、またはコントロールの表示が必要です。
- 顧客には決して表示されません。
レポート、アプリケーション、アーティファクト
Letaido が Console で構築するものはすべて、3 つのカテゴリのいずれかに分類されます。Console のホームページには、それぞれのタブ(レポート、アプリケーション、アーティファクト)と、すべてを新しい順にまとめて表示する ホーム タブがあり、タイトルの横にカテゴリがタグとして表示されます。

| バケット | 内容 | チームでの使い方 | 例 |
|---|---|---|---|
| レポート | グラフ、表、フィルタリングされたデータビュー | 開いて、数値を読み、フィルタリングして、閉じる | Ahrefs ブランドオーソリティ、AI 可視性、ランクモニター |
| アプリケーション | 複数ページのツールと複雑なワークフロー | 入力を貼り付け、パイプラインを実行し、出力を取得し、過去の実行に戻る | バトルカードジェネレーター、AI 可視性ダッシュボード、有料広告キャンペーンビルダー |
| アーティファクト | 単発のアイテム:グラフ、表、コピーのスニペット | ざっと見て、コピーして、共有して、次に進む | メールプレビュー、ホームページブロック、AEO 101 セクション、Ahrefs 機能ライブラリ |
レポート
レポートとは、何かの状態を確認するために開くものです。価値はデータの表示にあり、主な操作は閲覧またはフィルタリングです。レポートは、スケジュールに従って、またはオンデマンドでデータソースから更新されます。レポートは /reports/<slug>/ に配置されます。
レポートをリクエストする際、「なぜこれが存在するのか」という問いに対する答えが「X を一目で確認できるようにするため」である場合(例:ランキングの状況、今週のシェアオブボイス、今月のブランドオーソリティの変化など)。
アプリケーション
アプリケーションとは、作業を行うために使用するものです。価値はワークフローにあり、主なインタラクションは作成、編集、または生成です。アプリケーションは入力を受け取り、複数ステップのパイプラインを実行し、結果を保存し、チームが過去の実行に戻れるようにします。アプリケーションは /applications/<slug>/ に存在します。
「なぜこれが存在するのか」という問いに対する答えが「毎回ワークフローを再構築することなく X を繰り返し実行できるようにするため」である場合は、アプリケーションを依頼してください(バトルカードの生成、キャンペーンブリーフの実行、コピーの作成など)。
アーティファクト
アーティファクトは、一度作成して後で参照できる単一の出力物です。小規模で自己完結型であり、完全なアプリやレポートにまとめる必要がないものです。アーティファクトは /artifacts/<slug>/ に保存されます。
アーティファクトをリクエストするタイミングは、「なぜこれが存在するのか」という問いに対する答えが「チームが確認できる場所を作るため」である場合です(ホームページブロックのプレビュー、今週のメール、機能ライブラリ、営業用のワンページャーなど)。
どれを選べばいいかわからない?
結果を説明すると、エージェントが適切なバケットを選択します。
- 「競合他社別の週次ブランドオーソリティを表示してください。」→ レポート。
- 「競合他社の URL を貼り付けるとバトルカードが返ってくるツールを作成してください。」→ アプリケーション。
- 「来週のニュースレターのプレビューを生成してください。」→ アーティファクト。
2. 公開サイト(外部)
パブリックサイトは、オープンなインターネットからアクセスできるワークスペースの一部で、チームが使用するコンソールから完全に分離されています。ワークスペース外の人々にコンテンツを提供するために存在します。
- URL パターン: すべてに
/<route>を使用。従来のパターン: 一度限りの共有レポートには/u/<token>、レビュー済み実行には/r2s/<token>、これらのドキュメントには/docs/<slug>。 - 可視性はワークスペースレベルのトグルで制御されます(以下のモードを参照)。
- データベースアクセス:
site_dbへの読み取り/書き込み(所有しています)。console_site_dbへの読み取り/書き込み。console_dbには到達できません。
次の場合に公開サイトページを構築します: - 顧客、見込み客、または匿名の訪問者が何かを見る必要がある場合。 - メールや Slack 以外で共有可能な URL が必要な場合。 - データがすでに生成されており(コンソールまたはジョブによって)、それを提供するだけの場合。
公開サイトの3つのモード
公開サイトには3つの状態があり、ワークスペース UI からオーナーまたは管理者が切り替えます。エージェント自体はこれらを切り替えることはできません。
- off: nginx は全員に 403 を返します。Flask プロセスは実行中ですが、トラフィックは到達しません。
- authorized: ワークスペースメンバーと明示的に招待されたゲストが閲覧できます。公開前のレビューに適しています。
- open: URL を知っている人は誰でも閲覧できます。すべての訪問者を信頼できないものとして扱ってください。
モードが open の場合、エージェントは追加のデフォルト設定を適用します。すべての訪問者入力に対する Pydantic 検証、訪問者ごとのコネクタ呼び出しなし(代わりに site_db にキャッシュ)、サイト表面用の個別のコネクタ承認、および表示される出力は永続化前にサニタイズされます。
クロスサーフェス通信
Console とパブリックサイトは異なるプロセスで動作します。それでも連携は可能ですが、明示的なチャネルは 1 つだけです:console_site_db データベースです。
- コンソールはデータ(レポート、ブリーフ、アーティファクト)をテーブルに書き込みます。
- 公開サイトはそのテーブルを読み取り、トークンで保護された URL でレンダリングします。
- サイトはインタラクションシグナル(例:「訪問者がクリックスルーした」)を書き戻すことができ、コンソールがそれを読み取ります。
エージェントは、Console クエリをパブリックルート経由でプロキシしようとはしません。REVOKE はデータベース層で行われるため、いずれにしても失敗しますし、設計としても誤りです。