Apps

非技術者のチームメイトが頼まずに使える一文 CRUD ツール。Agent が生成、Postgres から高速提供。

更新 2026-04-17

App は 5 つの Keep の形で最も重いもの。Agent がその場で生成する小さな Web アプリケーション — HTML、CSS、JavaScript、データに直結した CRUD エンドポイント。

答えが「これを見つけた」ではなく「チームに必要なツール」のときに App を使用してください。返品リクエストフォーム。在庫エディタ。サポート用の顧客検索ページ。編集可能フィルタ付きの生成ダッシュボード。

App の作成

チャットの一文で十分。

> users テーブルの CRUD 管理画面を作って — name、email、plan、「プランキャンセル」ボタン付き。

Agent は:

  1. users テーブルスキーマを読み取り。
  2. リストビュー + 編集フォームの HTML を生成。
  3. アクティブテーマで CSS を書く。
  4. Tablize の direct-PG レイヤー経由で CRUD エンドポイント(list、read、update、delete)を配線。
  5. Split ビューに App をレンダリング。

聞いて磨ける — 「email で検索フィールドを追加して」「admin ユーザーには削除ボタンを無効化して」 — 各変更は変わった部分だけパッチする単一の Agent ターン。

App の解剖

  • UI — HTML / CSS / プレーン JS。ビルドステップなし、React なし。1 秒未満でロード。
  • Data Contract — App が実行を許可されたクエリと変更のセット。先に宣言、バックエンドが強制。
  • エンドポイント — 宣言されたクエリに対する自動生成 REST エンドポイント。Postgres 直行、約ミリ秒。
  • 権限 — 誰が見る、誰が編集、誰が削除。デフォルトはワークスペースメンバー、上書き可能。
  • バージョン履歴 — すべての生成が保存され、ロールバック可能。

App はあなたのワークスペースと同じドメインから提供されるので、ワークスペースメンバーには認証が自動で動きます。公開 App は app.tablize.com/a/<id> のような安定 URL を生成。

Data Contract

ほとんどの「ローコード」ツールには 2 つの欠陥のどちらかがあります:

  • オープンなデータベースアクセス — UI が任意の SQL を発行可能、UI にバグがあれば災害。
  • 事前構築ブロック — 制約され、実際に必要なものを表現できない。

Data Contract はそのどちらでもありません。Agent が App を生成すると、呼び出すクエリのリスト — パラメータ化、型付け、読み取り専用または読み書き — も生成。バックエンドはリスト外のクエリを拒否します。

つまり:

  • App は高速 — Postgres 直行、リクエストパスに Agent なし。
  • App は安全 — Contract が宣言しないことは何もできない。
  • App は監査可能 — Contract は人間可読リスト。公開前にレビュー可能。

後で機能を追加したくなれば、Agent が Contract を拡張して UI を再生成。手書き SQL なし。

CRUD 操作

  • Create — 行を insert。
  • Read — list、filter、sort、paginate。
  • Update — 個別行を編集。
  • Delete — ソフト(デフォルト)またはハード。

デフォルトフォームはテーブルの NOT NULL と CHECK 制約に対して検証。カスタム検証(例: 「plan は free|plus|pro のいずれか」)はカラムコメントから取得されるか、生成中に質問されます。

テーマ

Dashboards と同じ 11 テーマ。一文で切り替え: 「terminal テーマを使う」。

テーマは App ごと。チームは衝突なくサポートアプリを corporate で、Ops アプリを synthwave で持てます。

公開

App は公開するまで下書きのみ:

  • 下書き — あなただけが見て実行。
  • Team — ワークスペースメンバー。
  • Public — URL を持つ誰でも(レート制限あり、ログインなし)。

各公開モードは現在バージョンの git スタイルタグ。公開 App を前バージョンに戻すと、履歴を失わずに悪い変更を解消できます。

バージョンロールバック

サイドバー → App → Versions。すべての保存が短い自動説明と表示。Restore をクリックでライブバージョンを戻す。公開済み App:

  • Team / Public — ロールバックは即時、ユーザーは数秒以内に古いバージョンを見ます。
  • 下書き — ロールバックはあなたのセッションでのみ発生。

ロールバックは安全 — Data Contract は UI と並んでバージョン管理されるので、新 UI に対して不一致クエリを誤って実行しません。

埋め込み

Dashboard と同じ — 公開 App は iframe 埋め込みをサポート:

<iframe src="https://app.tablize.com/a/<id>/embed" width="100%" height="600"></iframe>

マーケティングサイトに顧客編集可能フォームを埋め込んだり、Notion ドキュメント内にサポートツールを埋め込んだりするのに有用。

App vs Dashboard

DashboardApp
ユーザー意図読む読むかつ書く
パネル視覚的視覚的 + フォーム、ボタン
Contract読み取り専用クエリ読み + 書きエンドポイント
複雑度

Dashboard に多くの「編集」インタラクションを追加していると気づいたら、それが App に移行するタイミング。

制限

プランアクティブ App1 日リクエスト
FreeApp 利用不可
Plus310k
Pro25100k
Max無制限100 万+

リクエスト数はすべての App 合計。制限に達した App は優雅に劣化 — 500 ではなく翌日まで「rate limited」ページを表示。

カスタムドメイン

Max プランは App を独自ドメイン(例: inventory.acme.com)にバインドをサポート。CNAME セットアップは 2 行、TLS は Let’s Encrypt 経由で自動プロビジョン。

よくある落とし穴

  • フォーム送信で「Update failed」。 通常、フォームに含まれない NOT NULL カラム。Agent は頼めば検出して修正: 「欠落カラムを含めて」。
  • 初公開時に App が空白レンダー。 Data Contract が本番で失敗するクエリを宣言(dev データに本番にないものがあった)。App のログで View errors をクリック。
  • 公開 App URL に「workspace suspended」。 所有者アカウントの課金問題。課金を修正、App が戻ります。
  • 隣の Dashboard とテーマが合わない。 テーマはアーティファクトごと。両方を同じテーマ名に明示的に設定。

次のステップ