AIFeed について
AIFeedは、サイト運営者とAIエージェント向けに、署名付きの利用権限とエージェント向けコンテンツを提供します。ドメインに結び付いたポリシーの検証、失効確認、トークン量を考慮したMarkdownの取得を可能にします。
主な機能
- 01Ed25519署名付きコンテンツ権限
- 02DNSに基づくドメイン検証
- 03失効確認と鍵ローテーション
- 04トークン量を考慮したMarkdown形式
- 05変更ページ用の署名付き差分インデックス
活用シーン
- 01ドメインに検証可能なAI利用ポリシーを公開
- 02サイトコンテンツ取得前の権限確認
- 03未変更ページを省いて変更分を取得
MCP 対応
リポジトリにはMCPサーバーが含まれますが、提供されたREADMEには具体的なツールや動作の説明がありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain | string | はい | オリジンドメイン。例:demo.aifeed.md |
詳細
AIFeed
AI ウェブ向けの署名付きコンテンツ権限。
AI エージェントがコンテンツに対して実行できる操作を宣言、署名、取り消しできます。さらに、エージェントがそれを証明できるようにします。
▶ 視聴:AIFeed がウェブスクレイピングの無駄を防ぐ仕組み
ウェブサイト · プロトコルの流れ · ベンチマーク · 完全ガイド · 論文(PDF)
1 分で始める
パブリッシャー側 — エージェントがコンテンツに対して実行できる操作に署名します:
npx aifeed keygen --out .aifeed # Ed25519 key pair
npx aifeed site build ./public --domain example.com \
--key .aifeed/aifeed-private.pem --llms --inject # manifest + page markdown + index
npx aifeed validate ./public --domain example.com # verify locally
設定を省きたい場合は、npx aifeed init --domain example.com --dir ./site を実行すると、
キー、署名付きマニフェスト、DNS/ホストの設定ガイドが一度に作成されます。
エージェント側 — 3 行で任意のドメインを検証します:
npm install @aifeed/verify
const { verifyRemote } = require('@aifeed/verify');
const out = await verifyRemote('example.com'); // discovery → signature → DNS anchor
console.log(out.result, out.anchor.status); // VERIFIED anchored
TypeScript:import { verifyRemote } from '@aifeed/verify';
次のステップ:AIFeed を選ぶ理由 · エージェント向けクイックスタート ·
パブリッシャー向け AI ガイド · Studio パブリッシャーアプリ ·
npm: aifeed CLI ·
@aifeed/verify
AIFeed を選ぶ理由
AI エージェントがウェブトラフィックに占める割合は大きく、増加し続けています。しかし、エージェントが実行できる操作を示す情報は、署名されていないテキストファイルです。誰でも編集でき、ドメインとの結び付きもなく、取り消す方法もありません。この非対称性は数値にも表れています:
- 半年間で 19 億回 のクロールが
robots.txtのルールを無視しました(ある事業者のデータ)。 - 大手 AI プロバイダーで、クロール数と参照元訪問数の比率が 70,900:1 と測定されました。
- 2025 年、AI ボットは HTML リクエストの平均 4.2 % を占め、ピーク時には 6.4 % に達しました。
AIFeed は「このファイルを尊重してください」を、暗号技術で検証可能な宣言に置き換え、さらにエージェント向けの簡潔なコンテンツを提供することで、双方のコストを削減します。
仕組み
- Ed25519 鍵ペアを生成します — 秘密鍵がオリジンから外に出ることはありません。
/.well-known/ai.jsonに署名済みマニフェストを公開します:用途ごとの権限 (トレーニング、検索、引用など)、クロール制限、ライセンス、リビジョンを記載します。- 鍵を DNS に固定します(
_aifeedTXT)。これにより、別のドメインによるマニフェストのなりすましを防ぎます。 - エージェントがチェーンを検証します — TLS → ドメイン → 署名(JCS + Ed25519)→ DNS による鍵の固定 — さらに、使用のたびに複数署名による失効レジストリを再確認します。
- 安全に鍵をローテーションします — 古い鍵で署名したディレクティブで後継鍵を告知し(DNS の
pk2による補助的な照合も併用)、重複期間を上限内に保ち、切り替えた後、古い鍵を永久に失効させます。手順書:docs/rotation.md。 - 以下の 2 つのプロファイルのいずれかで軽量なコンテンツを配信します。署名済みの差分インデックスを使うため、変更のないページのコストは 0 バイトです。
AI エージェント向け: 確認を優先するガイド(検出 → 検証 → 権限の判断 → 差分 → 障害対応)は
docs/agent-quickstart.md にあります。
実行可能な例は
examples/agent/compliant-agent.js をご覧ください。
他のスタックから検証する
独立した Python パッケージ(標準ライブラリのみ):
pip install aifeed
from aifeed import verify
report = verify.verify_directory('./my-site', domain='example.com')
print(report['result'], report['errors'])
リポジトリ版を使いたい場合は、同じ CLI がこちらにあります(依存関係なし、Node ≥ 20):
cd aifeed-protocol
node bin/cli.js keygen --out keys/
node bin/cli.js validate https://example.com
node bin/cli.js site build ./public --domain example.com --key keys/aifeed-private.pem
2 つのコンテンツプロファイル
| プロファイル | メディアタイプ | 拡張子 | 備考 |
|---|---|---|---|
| AIFeed Markdown(ネイティブ) | text/aifeed+markdown | .aifeed.md | インバンドの署名済みポリシーブロック、トークン予算、翻訳用 alternates、トリアージメタデータ |
| MAKO(互換性) | text/mako+markdown | .mako.md | 外部 MAKO 信頼プロファイル。同じ署名済みバイト列を独自の署名コンテキストで配信します |
デュアルスタックのオリジンは両方を配信します。形式をまたいだリプレイは設計上拒否されます。
測定結果
すべての数値はコミット済みの成果物から再現できます(npm run bench:mako、
npm run bench:enforcement)。テスト環境は、ループバックネットワーク上の単一マシンと、
60 ページの合成コーパスです。誠実なベースラインも含まれています。
| 内容 | 結果 | ラベル |
|---|---|---|
| HTML と比較した Markdown プロファイルへの変換 | 転送バイト数 −68.83 % | 実測 |
| 差分の適用(10 % のページが変更) | HTML クロールと比較して −95.73 % | 実測 |
| パブリッシャーの送信バイト数 / CPU / 最大接続数 | −55.19 % / −56.23 % / −88.24 % | 実測(シミュレーション) |
| AI 側の受信バイト数(全プロファイル / 準拠クライアント) | −54.84 % / −72.93 % | 実測(シミュレーション) |
| スキップされた変更のないページ | 18 ページ中 14 ページ | 実測(シミュレーション) |
| 署名検証コスト | 0.70 ms / ページ | 実測 |
30 日間の実運用パイロットはまだ実施されていません。テナント 1,000 件あたりの予測値はモデルによる外挿として示されています。また、最大 94 % のトークン削減というベンダーの主張には意味的な要約が必要ですが、このプロジェクトはそれを自動では実行しません。
このリポジトリの内容
| パス | 内容 |
|---|---|
lib/ + bin/ | 依存関係ゼロのリファレンス実装と CLI |
packages/ + clients/python/ | 公開パッケージ:CLI(aifeed)、SDK(@aifeed/verify)、MCP サーバー、ビルドプラグイン(@aifeed/frameworks)、PyPI aifeed 検証ツール |
conformance/ | 適合性テストベクトル:manifest 34 件 · MAKO 39 件 · AIFeed Markdown 11 件 |
wp-plugin/ | WordPress プラグイン:署名付き manifest、AIFeed Markdown と MAKO のデュアルスタック、/llms.txt |
spec/ | 仕様書 EN/ID:manifest v0.1/v0.2、AIFeed Markdown v1.0 |
schema/ | manifest、署名、AIFeed Markdown、MAKO の JSON スキーマ |
paper/ | プレプリント:LaTeX ソース、PDF、主張台帳、arXiv バンドル |
docs/ | エージェント向けクイックスタート、デプロイおよび名前空間ガイド、インドネシア語のプロジェクトノート |
studio/ | 依存関係ゼロのローカルパブリッシャーアプリ:クロール、宣言、ビルド、検証、エクスポート、ローテーション |
docs/REFERENCE.md | リファレンス実装の詳細、検証対象、CLI クイックスタート |
ドキュメント
- 仕様書:
spec/en·spec/id· スキーマ - リファレンス実装:
docs/REFERENCE.md - メンテナンス契約(AI エージェントと開発者向け):
AGENTS.md - アーキテクチャ:
docs/architecture.md· リリースガイド:docs/release.md - エージェント向けクイックスタート(クライアント側):
docs/agent-quickstart.md - パブリッシャー向け AI ガイド(オーナー側):
docs/publisher-ai-guide.md - Publisher Studio(ローカルアプリ):
studio/README.md - エージェントスキル:
skills/aifeed/SKILL.md(ClawHub からインストール可能:npx clawhub install aifeed) - 完全ガイド:
docs/penjelasan-aifeed.html(https://aifeed.md/penjelasan.html のソース) - セキュリティポリシー:
SECURITY.md - ガバナンスとオープンコアポリシー:
GOVERNANCE.md - サイトのデプロイ:
docs/deploy-site.md - arXiv 投稿に関するメモ:
paper/ARXIV-SUBMISSION.md
ステータス
- リリース
1.0.0-draft— 仕様はまだ凍結されていません。ワイヤーバージョン: manifest0.1/0.2、AIFeed Markdown1.0、MAKO0.2。 - 適合性:manifest 34 件 + MAKO 39 件 + AIFeed Markdown 11 件のテストベクトルを、 独立した JavaScript および Python の検証ツールで実行し、PHP の差分フィクスチャ、90,000 件を超える ファジング実行、WordPress のエンドツーエンドテストも実施しています。
- 未実施:外部の暗号レビューと実環境でのパイロット(どちらも保留中); 初回接続時に origin と DNS の侵害を検出することはできません。
ライセンスと連絡先
仕様書 CC BY 4.0 · リファレンスコードとプラグイン MIT · テストベクトル CC0。
連絡先:[email protected] — セキュリティ報告は
SECURITY.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。