
Manifest
Omfang AB · コーディング
Manifestは、あらゆるWebページを、AIエージェントがそこで実際に何をできるかの構造化されたJSONアクションマップに変換するWebアクションマニフェストAPIだ。すべてのボタン、フォーム、入力欄について、必要な項目と、先に満たすべき前提条件をまとめる。開発はOmfang AB。ページを表示するだけのブラウザツールと、テキストを読むだけのスクレイパーの間に位置する。URLを送れば、エージェントが直接推論できる機械可読なアクションマニフェストが返ってくる。AIエージェントのブラウザ自動化におけるアクション層と考えればいい。

Manifest について
Manifestとは何か
ManifestはAIエージェントのためのアクション層だ。ブラウザはエージェントに見えるページを与える。スクレイパーは読めるテキストを与える。どちらも、そのページで何をしてよいかをエージェントに伝えない。Manifestが埋めるのはその隙間である。
ManifestをURLに向けると、ページを訪問し、スクリーンリーダーと同じようにアクセシビリティツリーを読み、それを実際のDOMと突き合わせて必須フィールド、入力タイプ、プレースホルダー、無効状態といった細部を確認する。組み合わせた全体像が、きれいなJSONマニフェストになる。クリック・入力・送信できるすべての要素を、エージェントが行動に移せる言葉で記述する。では、これが何を置き換えるのか。主に手書きのセレクタだ。ページがリニューアルを出荷した瞬間に壊れる。
主な限界は範囲にある。Manifestはページに何があり、各アクションを完了するのに何が必要かを記述する。クリックや入力は代わりにやってくれない。手順を実行するのは依然としてエージェント自身だ。また、生きたページ構造に依存するため、描画が遅い、あるいは複雑な状態の裏に要素を隠すようなスクリプト主体のインターフェースでは、不完全なマップが返ることがある。
はじめ方
- アカウントを作成し、ManifestのダッシュボードからAPIキーを取得する。
- マッピングしたいURLと任意の国コードを添えて、
/manifestエンドポイントにPOSTリクエストを送る。 - 返ってきたJSONを読む。
actionsが各要素を列挙し、requiresがどのアクションがまだ前提条件で止まっているかを示す。 - 応答をエージェントに組み込み、次に何をクリック・入力すべきか判断させる。生のCSSよりARIAロールとアクセシブル名を優先する。
RESTの設定を省きたいなら、代わりにMCPサーバーio.omfang/manifestをクライアント設定に追加する。使うキーは同じだ。
AIツール情報
Manifestの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- エージェントワークフローを構築する開発者
- 自動化エンジニア
- QA・テストチーム
タスク
- フォーム自動化
- 多段階ナビゲーション
- ページ変更の監視
シーン
- 登録と購入手続きのフロー
- ログイン後の表示
- 同じURLへの繰り返し訪問
主な機能
アクセシビリティツリーとDOMの突き合わせ
Manifestはページをアクセシビリティツリー経由で読む。支援技術が使うのと同じ構造だ。そのうえでツリーが見落とす細部、必須フラグ、入力タイプ、プレースホルダー、無効状態をDOMと突き合わせる。結果は、どちらか一方だけを使うより持ちこたえるページのアクション記述になる。
前提条件付きのアクションマニフェスト
中心となる出力はJSONのactions配列だ。各エントリはid、label、type、description、そしてrequiresフィールドを持つ。このフィールドはANDでつながれたグループの集合で、内側の各グループはORでつながれた代替の集合だ。そのためサイズ選択は複数のidを持つ1つのグループとして現れ、ログインボタンはメールとパスワードの2つの単一項目グループとして現れる。
解決済みロケーター
すべてのアクションにはロケーターが付く。CSSセレクタ、ARIAロール、アクセシブル名だ。ドキュメントは、ハードコードされたセレクタを台無しにするリニューアルを乗り越えるため、可能な限りCSSよりもロールと名前を頼るよう勧めている。
MCPとRESTによるアクセス
Manifestには2通りで到達できる。io.omfang/manifest MCPサーバーをクライアント設定に追加すればstreamable-httpエンドポイントを公開する。あるいはx-api-keyヘッダーにキーを入れてREST APIを直接呼ぶ。どちらも応答の形は同じだ。
キャッシュとレートの挙動
キャッシュされた応答は速く返り、コールドリクエストほど制限に響かない。エージェントは同じ少数のURLを何度も叩く傾向があるため、実行全体を通じてコストと遅延が読みやすくなる。
地理と言語の制御
任意のcountryフィールドはスキャンのAccept-Languageヘッダーを設定し、一部のサイトではロケールcookieも設定する。これはベストエフォートだ。Manifestは地理リダイレクトを万能に上書きしたり、価格を換算したりはしない。取得したページがロケール固有だったかを知らせるlocale_mismatchフラグを返す。
メリットとデメリット
メリット
- コンテンツだけでなくアクションを返すので、エージェントは何をクリック・入力・送信できるか分かる。
- `requires`フィールドが実際の依存関係をモデル化し、ANDグループとORの代替を備える。
- ロケーターにはARIAロールとアクセシブル名が含まれ、CSSセレクタだけより持ちこたえる。
- MCPでも素のRESTエンドポイントでも動き、応答の形は同じだ。
- キャッシュが同じURLへの繰り返し呼び出しを速く安く保つ。
デメリット
- ページをマッピングするが操作はしないので、実行層は自分で用意する必要がある。
- 生きた構造が重要で、描画が遅い、あるいは状態に大きく依存するインターフェースは不完全に返ることがある。
- 無料の開始以外に公開の料金プランがサイトに明記されておらず、正確な数字はダッシュボードで確認する必要がある。
よくある質問
JSONのアクションマニフェストを返す。ページ上のクリック・入力・送信できるすべての要素の一覧で、それぞれに解決済みロケーターと、先に何をすべきかを記述したrequiresフィールドが付く。現在のページ状態とナビゲーションリンクも含む。
関連コンテンツ
Manifestに関連するツール、スキル、記事を探す。
Manifestの代替ツール
Base Code
Base44 (Wix) · コーディング · 生産性向上Base CodeはBase44の共有クラウド開発環境だ。既存のGitHubリポジトリに対する変更をチャットで伝え、プレビューで確認し、プルリクエストとして返せる。
Google EmbeddingGemma 2
Google DeepMind · ライティング · 画像 · コーディングGoogle EmbeddingGemma 2 は 7 億 4000 万パラメータのオープンなモデルで、テキスト、コード、画像、音声、動画フレームを同じ 768 次元空間のベクトルに変え、スマートフォンやノート PC 上で動く。
GitGlow
GitGlow · コーディング · 生産性向上GitGlow は自分のコードと AI エージェントの変更を一つのレビューにまとめるデスクトップ Git クライアントだ。出荷前に、マシンから何が出ていくのかを確かめられる。
