mcpField
I
Infomesh

Infomesh

ローカル
github.com/dotnetpower検索76 週間前に更新

Infomesh について

Infomeshは、ホスト型検索APIを使わずにウェブ検索を行いたいAIアシスタントや開発者向けの分散型P2P検索エンジンです。オフラインで使えるローカルインデックスに、ピア検索とページのクロール・取得機能を組み合わせています。

主な機能

  1. 01分散型P2P検索
  2. 02ローカルインデックスでのオフライン検索
  3. 03URLのクロールとインデックス化
  4. 04ページ全体の取得
  5. 05CLI、Pythonパッケージ、ローカルHTTP API

活用シーン

  1. 01ネットワークなしでインデックス済みページを検索
  2. 02利用可能なピアを横断して検索
  3. 03URLをクロールしてから内容を検索
  4. 04AIアシスタント用にページを取得

MCP 対応

MCPサーバーは、MCPクライアントに検索、クロール、ページ取得機能を提供します。ローカル検索はノード内にとどまり、分散検索ではクエリがピアに送られます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"infomesh": {
"command": "uvx",
"args": [
"infomesh"
]
}
}
}
起動コマンドuvx infomesh

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiinfomesh

ツール

5

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
answer_modeenumいいえ応答モード:'snippets'(順位付き結果)、'summary'(回答の抽出)、'structured'(スコアとメタデータを含む JSON)snippets | summary | structured
chunk_sizeintegerいいえRAG コンテキスト分割のチャンクサイズです。設定すると、出典情報付きのチャンクが返されます。
domain_allowlistarrayいいえこれらのドメインからの結果のみを含めます
domain_blocklistarrayいいえこれらのドメインからの結果を除外します
explainbooleanいいえ各結果にスコアの内訳(BM25、新しさ、信頼性、権威性)を含める
fetch_full_contentbooleanいいえ各結果の完全な記事本文を取得して返す
languagestringいいえISO 639-1 言語コード(例:'en'、'ko'、'ja')
local_onlybooleanいいえローカルインデックスのみを検索(オフライン、<10ms)
querystringはい検索クエリ文字列
recency_daysintegerいいえ過去 N 日以内に公開された結果に絞り込む
rerankbooleanいいえローカル LLM によるセマンティックな再ランキングを適用する
top_kintegerいいえ返す結果の件数

詳細

InfoMesh — LLM 向け分散型 P2P 検索エンジン

InfoMesh

完全分散型 P2P 検索エンジン(LLM 向け)
クレジットカード不要。ホスト型 API キー不要。クエリごとの料金も不要です。

CI PyPI MIT ライセンス Python 3.12+ スター

課題 プルリクエスト 最終コミット リポジトリサイズ MCP 対応 変更履歴

クイックスタート • InfoMesh を選ぶ理由 • 機能 • 新機能 • アーキテクチャ • セキュリティ • クレジット • コントリビューション • ドキュメント


ヒント

P2P ブートストラップの設定 InfoMesh には現在、Azure East US にブートストラップノードが 1 つ組み込まれています。オプションの p2p 依存関係をインストールすると、ノードは起動時に接続を試みますが、利用可能性や到達可能性は保証されません。ピアを手動で追加するには、次のコマンドを実行します。

infomesh peer add /ip4/<IP>/tcp/4001/p2p/<PEER_ID>
infomesh peer test

💡 InfoMesh を選ぶ理由?

問題

すべての AI アシスタントにはリアルタイムのウェブアクセスが必要ですが、その利用は高額でプロプライエタリな検索 API によって制限されています。

種類一般的な費用制限
LLM にバンドルされたウェブ検索トークン料金に内包1 社の API に固定され、単独では利用できません
カスタム検索 API約 1,000 クエリあたり 3~5 ドルAPI キーと請求アカウントが必要で、レート制限があります
AI 検索 SaaSクエリあたり約 0.01~0.05 ドルSaaS への依存があり、月間利用上限があります
検索スクレイピングプロキシ月額約 50 ドル以上不安定で、上流の変更により動作しなくなることがあります
InfoMeshソフトウェア料金・クエリ料金ともに 0 ドルハードウェアと接続環境はご自身で用意してください。クロールとリソースには制限があります

これにより、個人で AI を開発する人、オープンソースのアシスタント、研究者にとって有料の壁が生じます。小規模なプロジェクトやローカル LLM には、リアルタイムのウェブ検索を利用する余裕がありません。

上記の価格は説明用の例であり、プロバイダーの現在の料金を示すものではありません。実際の料金、無料枠、ログ記録ポリシー、制限は、プロバイダーや導入環境によって異なります。

解決策

AI エージェントの構築を始めてすぐに、壁にぶつかりました。無料のウェブ検索 API がなかったのです。 AI エージェントにウェブで何かを調べさせるだけなのに、どのプロバイダーもクレジットカード、請求アカウント、または月額サブスクリプションを求めていました。それはおかしいと感じました。

そこで InfoMesh を構築しました。コミュニティそのものがインフラとなる分散型検索エンジンです。

  • 中央サーバーなし — 参加者は全員、クローラーと検索ノードの両方になります。
  • クエリごとの料金なし — クロールに貢献すると、検索クレジットを獲得できます。貢献するほど、より多く検索できます。
  • ベンダーロックインなし — 標準の MCP プロトコルに統合でき、ローカルインデックスを使ってオフラインでも動作します。
  • クエリの一元的な収集なし — ローカルのみのクエリはノード内にとどまります。分散検索では、参加しているピアにクエリが送信されます。ローカルの診断情報にはクエリテキストが含まれる場合があります。

InfoMesh は、既存の商用検索プロバイダーと競合するものではありません。そうした企業は、広告を収益源として大規模な「人間向け」の検索サービスを提供しています。InfoMesh は、AI アシスタント向けに、必要十分な検索機能を MCP 経由で無料で提供し、クエリごとの課金なしでリアルタイムのウェブアクセスを誰もが利用できるようにします。

AI エージェントに財布を気にせずウェブ検索させたかっただけです。同じように感じたことがあるなら、InfoMesh はあなたのためのものです。

🆓 無料。すべてのインターフェースで。例外なし。
利用方法費用例
MCP(AI アシスタント)無料Claude、VS Code Copilot、その他の MCP クライアントから search() を呼び出せます。API 料金はかかりません
CLI(ターミナル)無料uv run infomesh search "python asyncio" — ローカルの検索結果と利用可能なピアが表示されます。レイテンシはワークロードによって異なります
Python パッケージ(コード)無料from infomesh.index.local_store import LocalStore — アプリに検索機能を組み込めます
ローカル API(HTTP)無料curl localhost:8080/search?q=... — ローカルの管理 API が実行中の場合に利用できる REST エンドポイントです

ホスト型 API のキーや請求アカウントは不要です。運用者は API キー認証を有効にできます。クロール頻度、クレジットの計算、リソース制限は引き続き適用されます。金額の支払いに基づくレート制限はありません。 ノードを運用し、ネットワークに貢献すれば、検索は永久に無料です。


InfoMesh と他の Web 検索 MCP サーバーの比較

無料の Web 検索 MCP サーバーをお探しですか?InfoMesh と一般的な代替サービスを比較しました。

機能InfoMeshAPI ベースの MCP サーバースクレイピングベースの MCP サーバーメタ検索エンジン
無料枠クエリごとの課金なし。クレジット/リソースの上限が適用されます限定的(通常、月 1,000~2,000 件)無制限(API なし)無制限
API キーオプションの運営者設定認証✅ 必須(登録が必要)❌ 不要❌ 不要
分散型✅ 完全な P2P❌ 集中型❌ 集中型❌ 単一インスタンス
オフライン検索✅ ローカルインデックスはオフラインで動作❌❌❌
プライバシーローカルのみのクエリはローカルに留まります。分散クエリはピアに接続します⚠️ プロバイダーによってログに記録されますさまざまです✅ セルフホスト可能
セルフホスト✅ すべてを自分で管理できます❌❌✅ Docker が必要
独自の URL をクロール✅ crawl_url() ツール❌❌❌
ページ全体の取得✅ fetch_page() ツールさまざまです❌❌
インストールpip install infomeshさまざまですさまざまですDocker Compose
オープンソース✅ MITさまざまですさまざまですさまざまです

InfoMesh は、分散型ピア検索、オフラインのローカル検索、ホスト型 API キー不要、独自コンテンツのクロール/インデックス作成を組み合わせ、クエリごとの課金もありません。


🔐 設計段階から安全 — ノードを守る多層防御

ほとんどの検索エンジンは、運営者を信頼するよう求めます。InfoMesh が求めるのは、数学を信頼することです。

InfoMesh には、クエリを収集する中央サーバーはありません。**ローカルのみの検索はお使いのマシン上に留まります。分散検索ではクエリがピアに送信され、ネットワークに参加すると、インデックス化したコンテンツが公開または複製されることがあります。**ローカルセッション、分析データ、診断ログには情報が保持される場合があるため、セルフホストしてもクエリが一切保持されない保証はありません。

ネットワークに貢献 → クレジットを獲得 → リソースとクロールの上限内で、クエリごとの料金なしで検索できます。

それがすべてです。裏はありません。

InfoMesh のセキュリティ層
🔑Ed25519 暗号アイデンティティノードは Ed25519 キーを使用します。署名付きの v2 交換では、署名者を libp2p ピアアイデンティティに紐付けます。旧式の v1 互換性は、認証済みの v2 トラフィックではありません。クレジットエントリーへの署名は任意です。キーのローテーションは infomesh keys rotate で行えます。秘密鍵を保護し、アプリケーションキーとトランスポートアイデンティティを区別してください。
🔏署名付きコンテンツ証明公開されたソース証明では、SHA-256(raw_response) と SHA-256(extracted_text) を署名アイデンティティに紐付けます。検証により、署名された証拠の変更を検出できますが、ソースページの真実性が立証されるわけではありません。ローカルのみのクロールでは、ネットワークへの公開は保証されません。
🌳マークルツリーによる完全性マークル包含証明により、特定のルートに対するドキュメントハッシュを検証します。改ざんされた証拠はそのルートに対する検証に失敗します。有効な証明でも、ソースの真実性や、すべてのピアがインデックス全体を保存していることは保証されません。
🔍ランダム監査レプリカ/ソースの監査メンテナンスは、利用可能なピアと証拠に応じて、およそ1時間ごとに実行されます。レプリカの破損は信頼性の失敗につながる可能性があります。ウェブコンテンツの変更は結論が出ないものであり、不正の自動的な証明にはなりません。記録された監査の連続失敗が3回に達すると、隔離が行われます。
🛡️Sybil 攻撃への防御ローカルでの Proof-of-Work 生成とサブネットへの参加制限により、参加コストを引き上げます。生成時間はハードウェアと乱数性によって異なります。これらの仕組みは、大量のアイデンティティの生成を防ぐことを保証するものではありません。デフォルトのサブネット制限は、/24 の参加バケットあたり3ノードです。
🌐Eclipse 攻撃への防御ブートストラップの検出、ピア交換、サブネット制限により、接続先の多様化を促します。到達可能な独立したブートストラップピアを少なくとも3つ確保することはデプロイ時の目標であり、標準で保証されるものではありません。現在のノードリストにはピアが1つだけ含まれています。これらの防御策によって Eclipse 攻撃を完全に排除することはできません。
🚫DHT ポイズニングへの防御キーワードごとの公開制限(ノードあたり毎時10件)、新規公開への署名、コンテンツハッシュのチェックにより、流入を制限します。旧式の署名なし読み取りヒントは未検証のままであり、有効な署名があってもコンテンツの真実性は立証されません。
🔒暗号化されたトランスポートlibp2p Noise トランスポートにより、転送中のピア間トラフィックを保護します。受信側のピアは引き続きクエリテキストと結果を処理します。トランスポートの暗号化は、匿名性や、侵害されたエンドポイントからの保護を意味しません。
🕵️クエリの一元的なログ記録なしDHT の検出にはキーワードキーを使用しますが、ピアへの検索リクエストには元のクエリが含まれます。ローカルのセッションや診断情報にクエリ情報が保持される場合があり、リモートピアのログ記録は制御できません。クエリをピアに送信してはならない場合は、ローカルのみの検索を使用してください。
🧮クレジット証明の検証署名キーを使用して記録されたエントリーは、検証可能なマークル証明に含めることができます。署名なしのエントリーには、この保証は適用されません。不正行為の検出と24時間の猶予期間ポリシーは、悪用の特定に役立ちますが、自己申告された貢献の正確性を保証するものではありません。
統合信頼スコア

各ピアは、アイデンティティではなく振る舞いに基づいて、継続的に更新される信頼スコアを獲得します。

Trust = 0.15 × uptime  +  0.25 × contribution  +  0.40 × audit_pass_rate  +  0.20 × summary_quality
ティアスコア内容
🟢 信頼済み≥ 0.8最も高い信頼グレードです。検索コストは貢献ティアによって別途決まります
🔵 通常0.5 – 0.8標準的な動作です
🟡 要注意0.3 – 0.5信頼グレードが低い状態です。監査証拠と隔離状態を確認してください
🔴 信頼できない< 0.3連続失敗が3回に達すると、ネットワークから隔離されます
コンプライアンスを標準装備
規制InfoMesh の対応
robots.txt例外なく厳格に遵守し、自動ブロックリストを適用
DMCA署名済みの正式な通知を受け付け、永続的な除外とピア経由の中継に対応します。ただし、到達不能なピアへの配信期限は保証されません
GDPR分散型の削除記録を保持し、忘れられる権利をサポートします
著作権全文はキャッシュとしてのみ保存し、検索結果には出典を明記した抜粋を返します

要点: InfoMesh は暗号技術、監査、貢献インセンティブを活用し、中央プロバイダーへの依存を減らします。ローカルのみの検索ではクエリがローカルに保持されますが、ピア検索と公開では他のノードとデータが共有されます。クエリごとの料金はありませんが、運用上の制限と信頼に関する前提は引き続き適用されます。


🚀 クイックスタート

インストールして実行(2 ステップ — Git 不要)

必要なのは Linux ターミナル(Ubuntu、Debian など)だけです。 Python や開発の経験は必要ありません。

ステップ 1 — uv(Python パッケージマネージャー)をインストールします(初回のみ):

curl -LsSf https://astral.sh/uv/install.sh | sh

完了したら、ターミナルを閉じて開き直してください(または source ~/.bashrc を実行してください)。 これにより、uv と uvx コマンドが使えるようになります。

ステップ 2 — InfoMesh を実行します:

uvx infomesh status

uvx が InfoMesh を自動的にダウンロードして実行します。git clone、pip install、仮想環境の手動管理は不要です。InfoMesh には Python 3.12 以降が必要です。 初回実行時に依存関係がダウンロードされ、以降の実行ではキャッシュされたツール環境が再利用されます。

試してみる
# Crawl a webpage and index it
uvx infomesh crawl https://docs.python.org/3/library/asyncio.html --depth 0

# Search locally, and peers when P2P dependencies are available
uvx infomesh search "asyncio"

# View the node dashboard (works over SSH too)
uvx infomesh dashboard --text

--depth 0 を指定すると、この例では 1 ページに制限されます。省略すると、クロール設定に従ってリンクをたどります(デフォルトでは深さは無制限です)。ベースパッケージには P2P は含まれていません。ネイティブの前提条件をインストールした後、ピア検索には uvx --from 'infomesh[p2p]' infomesh search "asyncio" を使用してください。ローカルインデックスが空の場合、ローカル検索結果を返すには、クロールまたはインポートを正常に完了させる必要があります。

永続的にインストールする(任意)

InfoMesh を定期的に使う場合は、永続的なツールとしてインストールすると、uvx のプレフィックスが不要になります。

uv tool install infomesh

# Now run directly:
infomesh status
infomesh crawl https://example.com
infomesh search "example"
infomesh dashboard --text
AI アシスタントに接続する(MCP)

InfoMesh を VS Code(Copilot)、Claude Desktop、Cursor、Windsurf の MCP サーバーとして追加できます。デフォルトではホスト型 API キーは必要ありません。運用者は INFOMESH_API_KEY を使って認証を有効にできます。

Claude Desktop / Cursor / Windsurf では、次の mcpServers 形式を使用します。

{
  "mcpServers": {
    "infomesh": {
      "command": "uvx",
      "args": ["infomesh", "mcp"]
    }
  }
}

VS Code(Copilot) では、代わりに .vscode/mcp.json のルートに servers を使用します。

{
  "servers": {
    "infomesh": {
      "type": "stdio",
      "command": "uvx",
      "args": ["infomesh", "mcp"]
    }
  }
}

これで、AI アシスタントは MCP 経由でローカルインデックスをクロールおよび検索でき、クエリごとの課金もありません。ピア検索を有効にするには、P2P の前提条件を準備し、args を ["--from", "infomesh[p2p]", "infomesh", "mcp"] に置き換えてください。上記のベース構成例では P2P の依存関係はインストールされません。

ソースから実行する(コントリビューター/開発者向け)

コードに貢献する場合、またはソースから実行する場合:

システム要件

P2P のオプション依存関係(libp2p)には C 拡張(fastecdsa、coincurve、pynacl)が含まれており、ネイティブのビルドツールが必要になる場合があります。これらは uv tool install 'infomesh[p2p]' などの P2P インストールや、libp2p も含むリポジトリの開発用依存関係に必要です。

Linux(Debian/Ubuntu):

sudo apt-get update && sudo apt-get install -y build-essential python3-dev libgmp-dev

macOS:

brew install gmp
# Xcode Command Line Tools must also be installed

Windows: WSL2(推奨)を使用するか、Visual Studio Build Tools と GMP をインストールしてください。

注: ベースパッケージ(uv tool install infomesh、またはソースからの uv sync --no-dev)では、P2P のビルド依存関係は不要です。通常の uv sync ではデフォルトで dev グループが含まれるため、このリポジトリで通常のコントリビューター向け環境を構築する場合は、それらが必要です。

クローンして実行
# Clone and install with dev dependencies
git clone https://github.com/dotnetpower/infomesh.git
cd infomesh
uv sync

# Start InfoMesh with the TUI dashboard
uv run infomesh start

# Or run headless (servers / CI)
uv run infomesh start --no-dashboard
Docker
docker build -t infomesh .
docker run -d --name infomesh \
  -p 4001:4001 -p 8080:8080 \
  -v infomesh-data:/data \
  infomesh
動作を確認する
# Search your local index and peers
uvx infomesh search "python asyncio tutorial"

# Check node status
uvx infomesh status

# Crawl a specific URL on demand
uvx infomesh crawl https://docs.python.org/3/

# Export your index as a portable snapshot
uvx infomesh index export backup.zst
使用例

すぐに実行できる Python スクリプトが examples/ ディレクトリにあります。

# Local search
uv run python examples/basic_search.py "python tutorial"

# Crawl → index → search pipeline
uv run python examples/crawl_and_search.py https://docs.python.org/3/

# Programmatic MCP client
uv run python examples/mcp_client.py "async programming"

一覧は examples/README.md をご覧ください。


✨ 機能

コア機能
機能説明
🌐 完全分散型中央サーバーはありません。すべてのノードがハブであり参加者でもある、協調型のしっぺ返しアーキテクチャです
🤖 LLM ファースト設計AI による利用に最適化された、MCP 経由の純粋なテキスト API です。ブラウザー UI は不要です
🔍 デュアル検索キーワード検索(SQLite FTS5 + BM25)と、オプションのセマンティックベクトル検索(ChromaDB)に対応します
🕷️ スマートクローラーrobots.txt の遵守、アクセス間隔の設定、3 層の重複排除に対応した非同期クロールです
📡 P2P ネットワークKademlia DHT、mDNS によるローカル検出、暗号化通信を備えた libp2p ベースのネットワークです
💾 オフライン対応インターネットに接続していなくてもローカルインデックスを利用できます。クロールしたナレッジをいつでも検索できます
🏆 クレジットによるインセンティブクロールやピアへの提供でクレジットを獲得できます。貢献するほど検索枠が増えます
🔐 コンテンツの完全性SHA-256 コンテンツハッシュ、Ed25519 ソース証明、ランダム監査、Merkle 証明に対応します
🤏 zstd 圧縮保存されたドキュメントのコンテンツとインデックスのスナップショットには zstandard を使用します。P2P フレーミングは全体で圧縮されるわけではありません
📊 コンソールダッシュボード概要、クロール、検索、ネットワーク、クレジット、設定の 6 タブを備えた、見やすい Textual TUI です
🌏 CJK 検索中国語/日本語/韓国語のトークン化と、バイグラム/トライグラムへの展開にネイティブ対応します
📡 RSS モニタリング優先度ベースのスケジューリング(crawl.rss_enabled)による、オプトイン方式の RSS/Atom フィードのポーリングです
🖥️ JS レンダリングSPA/React ページ向けに Playwright(ヘッドレス Chromium)をオプションで利用できます
📈 暗黙的フィードバックLLM ネイティブな品質シグナル(取得/スキップ/引用)によりランキングを改善します
🩺 診断infomesh doctor でヘルスチェックを実行し、infomesh bench でパフォーマンスを測定できます
🔌 プラグインシステムカスタムクローラー、ランカー、トークナイザー向けの、フックベースで拡張可能な API です
🌐 ウェブダッシュボードlocalhost:8080/dashboard にある、ブラウザーから利用できる 5 タブのダッシュボードです
MCP 連携 — AI アシスタント向けの無料ウェブ検索

多くの商用検索 API は、クエリごとに課金するか、有料サブスクリプションを必要とします。 InfoMesh は、クエリごとの課金なしで 5 つの統合 MCP ツールを提供します。デフォルトではホスト型 API キーは不要ですが、運用者が設定した認証とリソース制限は引き続き適用されます。

ツール説明
web_search(query, ...)統合検索 — P2P + ローカル、RAG、説明、回答の抽出。CJK を自動検出します
fetch_page(url)URL の抽出済みテキスト全体を取得します(キャッシュまたはライブ、最大 100KB)
crawl_url(url, depth, force)URL をクロールしてインデックスに追加します(1 時間あたり 60 回のレート制限)
fact_check(claim, top_k)インデックス化されたソースと照合して主張を検証します
status()ノードの状態:インデックスサイズ、ピア、クレジット、分析情報

従来のツール名(search、search_local、network_stats など)も、後方互換性のため引き続き利用できます。

VS Code/Copilot/Claude Desktop/Cursor での設定

この例は Claude Desktop と Cursor 向けです。VS Code/Copilot では、Connect to Your AI Assistant に示されている servers 形式が必要です。これらの基本パッケージの例ではローカルインデックスを使用します。P2P を有効にする方法についても同じセクションで説明しています。

{
  "mcpServers": {
    "infomesh": {
      "command": "uvx",
      "args": ["infomesh", "mcp"]
    }
  }
}
オプションのアドオン
# Vector search with ChromaDB + sentence-transformers
pip install 'infomesh[vector]'

# Local LLM summarization via Ollama
pip install 'infomesh[llm]'

# JavaScript rendering for SPA pages (Playwright)
pip install 'infomesh[browser]'

# Chinese/Japanese/Korean tokenization (jieba)
pip install 'infomesh[cjk]'

# Everything
pip install 'infomesh[all]'

これらのコマンドでインストールされるのは依存関係であり、すべての実行時前提条件ではありません。ベクトル検索、ローカル LLM、JS レンダリングも有効化/設定する必要があります。JS レンダリングには Playwright のブラウザーバイナリが必要で、ローカル要約には利用可能なモデル/ランタイムが必要です。

CLI コマンド
infomesh start                  # Start node (auto-prompts starter index download)
infomesh start --background     # Headless mode (no dashboard)
infomesh start --role crawler   # DMZ crawler-only node
infomesh search "query"         # Search local index + peers
infomesh search --local "query" # Search local index only
infomesh crawl https://...      # Crawl a URL
infomesh dashboard              # Interactive TUI dashboard
infomesh doctor                 # System diagnostics (10 checks)
infomesh bench                  # Performance benchmarks
infomesh feedback stats         # Implicit search quality signals
infomesh feedback top-urls      # Highest-quality URLs by feedback
infomesh feeds import subs.opml # Import RSS/Atom feeds from OPML
infomesh index import --starter # Download community starter index
infomesh mcp                    # Start MCP server (stdio)
infomesh mcp --http --port 8081 # Start MCP server (HTTP)

🆕 v0.2.0 の新機能

CHANGELOG.md に記録されている v0.2.0 の機能マイルストーンでは、検索インテリジェンス、RAG のサポート、セキュリティ、可観測性、開発者エクスペリエンスにわたる 100 以上の機能をまとめています。この過去のマイルストーン表記は現在のパッケージバージョンではありません。このチェックアウトで宣言されているバージョンは 0.1.15 です。以下の主な機能にはオプション機能やライブラリユーティリティも含まれており、すべての実行経路で有効になっていることを保証するものではありません。

検索インテリジェンス
機能説明
🧠 NLP クエリ処理ストップワードの除去(9 言語)、同義語の展開、自然言語の解析
✏️ もしかして検索結果がない場合に、編集距離を用いてスペルを修正
📊 検索ファセットクエリごとのドメイン、言語、期間ファセットの件数
🎯 結果のクラスタリング結果をドメインごとにグループ化し、整理して表示
🔦 スニペットのハイライト検索クエリの語句を結果のスニペット内でハイライト表示
🧹 スマートな重複排除ジャッカード類似度に基づいて類似した重複項目を削除
🔍 検索の説明すべての結果についてスコアの内訳を明示
RAG と回答抽出
機能説明
📚 RAG 出力LLM での利用に向けた、チャンク化され出典が付与されたコンテキストウィンドウ
💡 回答抽出信頼度スコアと出典 URL を含む直接的な回答
✅ ファクトチェックインデックス化された複数のソースと照合して主張を検証
🏷️ エンティティ抽出人物、組織、URL、メールアドレスを特定
🛡️ 有害性フィルタリング検索結果のコンテンツ安全性をスコアリング
クローラーの強化
機能説明
📄 PDF 抽出クロールした PDF ドキュメントからテキストを抽出
🏗️ 構造化データJSON-LD、OpenGraph、メタタグを解析
🌍 言語検出文字体系と単語頻度に基づいて検出(9 言語)
📡 RSS/Atom フィードフィードを自動検出して解析
📝 コンテンツ差分クロールしたバージョン間の変更を検出
💻 コードブロック<pre><code> を言語検出とともに抽出
📊 テーブル抽出HTML テーブルを構造化データ(CSV/dict)に変換
セキュリティと API
機能説明
🔑 API キー管理キーの作成、検証、失効、ローテーション
👥 ロールベースのアクセス制御管理者/閲覧者/クローラーの権限マトリックス
📋 監査ログSQLite を基盤とする監査ログユーティリティ。カバレッジは有効になっている呼び出し経路によって異なります
🔒 Webhook 署名HMAC-SHA256 によるペイロード検証
📊 Prometheus メトリクス監視用の /metrics エンドポイント
📖 OpenAPI 仕様/openapi-spec で OpenAPI 3.1 を自動生成
開発者エクスペリエンス
機能説明
🐍 Python SDK同期/非同期の検索、クロール、候補提示に対応した InfoMeshClient
🔌 プラグインシステムライフサイクルフックを使ってカスタムプラグインを登録
🦜 LangChainInfoMeshRetriever との統合
🦙 LlamaIndexInfoMeshReader との統合
🏗️ HaystackInfoMeshDocumentStore との統合
⎈ Helm チャートリソースを設定可能な Kubernetes デプロイ
🐳 Docker Composeボリュームを使用する複数コンテナ構成

変更の全一覧については、CHANGELOG.md をご覧ください。


🏗️ アーキテクチャ

InfoMesh アーキテクチャ図

### 技術スタック
レイヤー技術理由
言語Python 3.12+モダンな非同期処理、型ヒント、match/case、StrEnum
P2P ネットワークlibp2p (py-libp2p)Kademlia DHT と Noise 暗号化を備えた、実績のある P2P スタック
DHTKademliaXOR 距離によるルーティング。現在の py-libp2p バックエンドは、256 ビットの SHA-256 でルーティングキーを正規化します
クローリングhttpx + trafilatura非同期 HTTP と高精度なコンテンツ抽出を実現します
キーワード検索SQLite FTS5インストール不要の組み込み型で、BM25 をすぐに利用できます
ベクトル検索ChromaDB(任意)all-MiniLM-L6-v2 によるセマンティック検索/埋め込み検索
MCP サーバーmcp-python-sdkLLM のツール統合に使用する標準プロトコル
管理 APIFastAPIローカルのヘルスチェック、ステータス、設定用エンドポイント
シリアライズmsgpackバイナリメッセージのエンコード。JSON と比べた速度とサイズはペイロードによって異なります
圧縮zstandardレベル調整可能。同種のドキュメントには辞書モードを利用できます
ダッシュボードTextualタブ、スパークライン、EQ ビジュアライゼーション、BGM を備えたリッチな TUI
ローカル LLMollama / llama.cppノード上での要約(Qwen 2.5、Llama 3.x、Gemma 3)
ロギングstructlog構造化された、機械で解析可能なログ
パッケージングuvPython の依存関係、環境、ビルドの管理。高速化の度合いはワークロードによって異なります
検索フロー(目標レイテンシ:約 1 秒)

InfoMesh の検索フロー図


🔒 セキュリティと信頼

InfoMesh はゼロトラストの前提に基づいて設計されており、すべてのピアが敵対的である可能性を想定しています。システムは複数層の防御を提供します。

コンテンツの完全性
メカニズム説明
コンテンツの証明公開されたソース証明は、SHA-256(raw_response) + SHA-256(extracted_text) を署名IDに紐付けます。ローカルのみのクローリングでは公開は保証されません
マークルツリーメンバーシップ検証を備えたインデックス全体の完全性証明により、誰でも任意のドキュメントが含まれているかを監査できます
ランダム監査ピアの可用性に応じて、およそ1時間ごとにレプリカ/ソースを確認します。レプリカの破損は信頼度の低下につながる可能性がありますが、ソースコンテンツの変更だけでは結論を出せません
P2P クレジット検証署名キーを使って記録されたエントリーにはマークル証明が付与されます。署名のないエントリーは署名付き証明から除外されます
ネットワークセキュリティ
脅威防御策
Sybil 攻撃ローカルでの Proof-of-Work 生成(所要時間はハードウェアに依存)と、/24 のアドミッションバケットあたりデフォルト最大3ノード。大量のIDに対する保証ではありません
エクリプス攻撃ブートストラップによる検出 + サブネット制限 + ピアの更新。独立して到達可能なピアを3つ以上確保することはデプロイ時の目標であり、現在同梱されているデフォルト設定ではありません
DHT ポイズニングキーワードごとの公開レート制限(ノードあたり10回/時)+ 署名付き公開 + コンテンツハッシュの検証
クレジットファーミング新規ノードへの24時間の保留期間 + 統計的な異常検出 + 生の HTTP ハッシュ監査
中間者攻撃すべての P2P トランスポートを libp2p Noise プロトコルで暗号化します
キー管理
  • ~/.infomesh/keys/ に保存される Ed25519 キーペア
  • キーのローテーション:infomesh keys rotate — アプリケーション署名キーをローテーションし、二重署名された失効レコードをローカルに保存します。別個の libp2p トランスポートキーはローテーションしません
  • ピア ID:libp2p トランスポートでは、独自の公開キーから導出されたピア ID を使用します。アプリケーション署名キーの識別子は別個の ID です

現在の伝播に関する制限: ローテーションでは .bin レコードが書き込まれますが、起動時のパブリッシャーは .json ファイルをスキャンします。この連携上の不整合が修正されるまでは、このコマンドによる DHT 失効情報の自動伝播に依存しないでください。

統合トラストスコア

すべてのピアには、継続的に更新されるトラストスコアがあります。

Trust = 0.15 × uptime  +  0.25 × contribution  +  0.40 × audit_pass_rate  +  0.20 × summary_quality
TierScoreTreatment
信頼済み≥ 0.8最高の信頼度。検索コストは別個の貢献ティアに従います
通常0.5 – 0.8標準的な運用
要注意0.3 – 0.5信頼度が低いため、監査証拠と隔離状態を確認してください
信頼できない< 0.3監査に3回連続で失敗するとネットワークから隔離

🏢 エンタープライズ対応

InfoMesh には本番環境を想定した機能が含まれていますが、現在のパッケージは Alpha に分類されています。本番環境で使用する前に、環境とランタイム適合性の制限を確認してください。

分割デプロイメント(DMZ/プライベートネットワーク)

エンタープライズ環境では、ネットワークゾーンをまたいでクローラーとインデクサーを分離できます。

┌─────────── DMZ ──────────────┐       ┌──────── Private Network ────────┐
│                              │       │                                 │
│  infomesh start --role crawler ───────▶  infomesh start --role search │
│  (crawls the public web)     │  P2P  │  (indexes + serves queries)    │
│                              │ auth  │                                 │
│  infomesh start --role crawler ───────▶  infomesh start --role search │
│                              │       │                                 │
└──────────────────────────────┘       └─────────────────────────────────┘

3つのノードロール:

ロールコンポーネントユースケース
full(デフォルト)クローラー + インデクサー + 検索単一ノードまたはシンプルなデプロイメント
crawlerクローラーのみ。ページをインデクサーに転送インターネットにアクセスできる DMZ ノード
searchインデクサー + 検索のみ。送信を受け付けインターネット接続が不要なプライベートネットワーク

設定例(~/.infomesh/config.toml):

# DMZ Crawler node
[node]
role = "crawler"
listen_address = "0.0.0.0"

[network]
index_submit_peers = ["/ip4/10.0.0.1/tcp/4001/p2p/<INDEXER_1_PEER_ID>", "/ip4/10.0.0.2/tcp/4001/p2p/<INDEXER_2_PEER_ID>"]
# Private Search/Index node
[node]
role = "search"
listen_address = "10.0.0.1"

[network]
peer_acl = ["<CRAWLER_1_PEER_ID>", "<CRAWLER_2_PEER_ID>"]

各プレースホルダーを、該当するノードの実際の libp2p ピア ID に置き換えてください。インデックス送信には、完全なピアマルチアドレスと認証済みの v2 ACK が必要です。IP/TCP アドレスのみの指定や、レガシー HTTP の宛先はサポートされていません。

CLI の使用方法:

# Start as DMZ crawler
infomesh start --role crawler --seeds tech-docs

# Start as private indexer
infomesh start --role search --no-dashboard
運用
  • リソースガバナー — CPU/メモリのしきい値、I/O 優先度、帯域幅を制御します。4つのプリセットプロファイル(minimal、balanced、contributor、dedicated)を利用できます。システム負荷のサンプル値とプロセスの RSS に応じて動的にスロットリングしますが、厳密なメモリ上限ではなく、OS の OOM キラーによる終了を防ぐ保証もありません
  • 長時間稼働時の回復性 — StartupLock と PID の cmdline 検証により、同じデータディレクトリでノードプロセスが重複して起動するのを防ぎます。infomesh stop は SIGTERM を送信し、PID ファイルを削除する前に正常なシャットダウンを待機します
  • ランタイムハートビート — 長時間稼働する _serve ワーカーは、10秒ごとに runtime_status.json を書き込みます。管理 API は /health?detail=1、/status、/metrics を通じて、最新のハートビート、劣化レベル、スロットリング係数、プロセスメモリを公開します
  • 起動前チェック — 起動前にディスク容量とネットワーク接続を確認します
  • 負荷ガード — QPM(1分あたりのクエリ数)と同時実行数を制限し、ノードの過負荷を防ぎます
  • WAL モードの SQLite — クロール中の書き込みをロックせず、ダッシュボードの更新中も安全に同時読み取りできます
  • 構造化ログ — すべてのライブラリコードで、機械解析可能な出力を行う structlog を使用します
  • Docker サポート — 永続データ用のボリュームマウントを備えた Dockerfile を提供します。本番環境への対応には、デプロイメントごとの検証が引き続き必要です
設定可能
  • TOML 設定(~/.infomesh/config.toml)。環境変数による上書き(INFOMESH_CRAWL_MAX_CONCURRENT=20)にも対応しています。
  • 値の検証 — 一部の設定値は、構造化された警告とともに検証または上限・下限が設定されます。検証はフィールドごとに行われ、すべての値が対象となるわけではありません。
  • ダッシュボード設定 — 一般的な設定は TUI の Settings タブから編集できます。高度な項目の変更には、引き続き設定ファイルまたは CLI の操作が必要です。
  • エネルギーを考慮したスケジューリング — LLM を多用するタスクは、設定されたオフピーク時間帯に優先的にスケジュールされます(クレジット倍率は 1.5 倍)。
コンプライアンス
  • robots.txt を厳格に遵守し、すべてのクロール指示に従います。
  • DMCA に基づく削除 — 承認済みの署名付き通知により、除外設定と転送義務が保持されます。到達不能なピアへの 24 時間以内の配信は保証されません。
  • GDPR — 個人データの分散型削除記録に対応し、忘れられる権利をサポートします。
  • コンテンツの帰属表示 — AI が生成した要約には、content_hash とソース URL がラベル付けされます。
  • ペイウォール検出 — fetch_page() はペイウォールで保護されたコンテンツを検出し、その扱いに従います。
  • 利用規約 — クローラーの動作とデータの取り扱いを説明した明確な利用規約を用意しています。
規模
  • Kademlia DHT ルーティングにより、数千ノードに対応できるよう設計されています。
  • 3 層の重複排除により、インデックスの肥大化を防ぎます(URL の正規化 → SHA-256 による完全一致 → SimHash による近似重複)。
  • ノード間で効率的にインデックスを共有するため、スナップショットを zstd で圧縮します。
  • 大規模なインデックスの初期構築に、Common Crawl のデータをインポートできます。

💰 クレジットの獲得

クレジットは、ネットワークの健全性を維持するインセンティブの仕組みです。クレジットはノードごとにローカルで記録され、ブロックチェーンも中央台帳も使用しません。

クレジットの仕組み
Credits Earned = Σ (Weight × Quantity × TimeMultiplier)
獲得アクション
アクション重みカテゴリ獲得方法
クロール1.0 /ページ基本InfoMesh を実行するだけで、シード URL から自動的にクロールします
クエリ処理0.5 /クエリ基本他のピアが検索クエリをあなたのノード経由でルーティングします
ドキュメントのホスティング0.1 /時間基本パッシブ — インデックス化されたドキュメントを提供してネットワークに貢献します
ネットワーク稼働時間0.5 /時間基本ノードを稼働させておくだけです
LLM による要約1.5 /ページLLMローカル LLM を有効にすると、クロールしたコンテンツを自動で要約します
ピア向け LLM2.0 /リクエストLLM他のノードからの要約リクエストに対応します
PR — ドキュメント/誤字1,000 /マージ済み PRボーナス誤字を修正するか、ドキュメントを改善します
PR — バグ修正10,000 /マージ済み PRボーナステストを追加してバグを修正します
PR — 機能50,000 /マージ済み PRボーナス新機能を実装します
PR — 大規模な変更100,000 /マージ済み PRボーナスコアアーキテクチャまたは主要機能に関する変更です

PR の行に記載された値は、台帳上のアクションの重みであり、GitHub から自動的に報酬が得られる証拠ではありません。マージ済み PR によってこれらのクレジットを獲得できるのは、対応する貢献が台帳に記録された場合のみです。

時間帯による倍率
  • 基本アクション:常に 1.0×
  • オフピーク時間帯の LLM アクション(設定可能、デフォルトは 23:00~07:00):1.5×
  • オフピークのスケジューリングはエネルギーを考慮した仕組みです。ネットワークは、現在オフピークのノードにバッチ LLM 処理を優先的にルーティングします。
検索コスト
ティア貢献スコア検索コスト実効比率
ティア 1< 1000.100 / クエリ10 回のクロール → 100 回の検索
ティア 2100 – 9990.050 / クエリ10 回のクロール → 200 回の検索
ティア 3≥ 1,0000.033 / クエリ10 回のクロール → 約 303 回の検索
公平性の保証
  • 非 LLM による参加:1 時間あたり 10 クレジットのクロールで、通常の Tier 1 レートでは 1 時間あたり 100 件の検索(債務レートでは 50 件)をカバーできます。これはクレジットの計算であり、処理量を保証するものではありません
  • LLM の貢献スコアには上限があります:LLM のアクションがティア判定に使われる有効な貢献スコアに占める割合は最大 60%です。これは台帳上の生の獲得額や残高には上限を設けません
  • 稼働時間の報酬:ハードウェアに関係なく、ノードをオンラインに保つだけで 1 時間あたり 0.5 クレジットを獲得できます
  • クレジットがなくなっても検索はブロックされません:クレジットがゼロでも、以下のルールに従って台帳上は検索できます。リソース保護機能によってリクエストが制限される場合はあります
💳 0 ドルの債務 — クレジットカードも現金も不要

クレジットがなくなるとどうなりますか?検索を続けられます。

InfoMesh は利用を停止しません。ペイウォールも、「クレジットカードを入力してください」という案内も、アップグレードボタンもありません。代わりに、シンプルで利用者にやさしい回復方法があります。

フェーズ期間内容
✅ 通常残高が 0 より大きい間通常のコストで検索できます。これまでどおりです。
⏳ 猶予期間残高が 0 になってから最初の 72 時間これまでとまったく同じように検索できます。残高はマイナスになりますが、ペナルティはありません。焦らずにご利用ください。
📉 債務モード72 時間経過後検索は続けられますが、コストは 2 倍になります。債務は蓄積しますが、回復を促すものであり、利用をブロックすることはありません。
🔄 回復いつでもノードを実行するだけです。クロール、ホスティング、貢献によってクレジットを獲得できます。残高が再びプラスになれば、通常の状態に戻ります。
Credits ran out
     │
     ▼
┌─────────────────────────────────────┐
│  🟢 Grace Period (72 hours)         │
│  Search works normally.             │
│  Balance goes negative — no penalty.│
└──────────────┬──────────────────────┘
               │ 72h passed, still negative?
               ▼
┌─────────────────────────────────────┐
│  🟡 Debt Mode                       │
│  Search continues at 2× cost.      │
│  Debt accumulates.                  │
└──────────────┬──────────────────────┘
               │ Earn credits → balance > 0
               ▼
┌─────────────────────────────────────┐
│  🟢 Back to Normal                  │
│  Debt cleared. Grace reset.         │
│  Full speed ahead.                  │
└─────────────────────────────────────┘

重要な原則: InfoMesh の債務は、金額ではなくクレジットで計算されます。回復する方法は、支払うことではなく、貢献することです。ノードを実行し、ページをクロールし、ネットワークを維持すれば、債務は自然に解消されます。

クレジットカード不要。現金不要。サブスクリプション不要。「試用期間が終了しました」というポップアップもありません。 ノードを実行するだけで、元どおりです。


🤝 貢献

コード、ドキュメント、バグ報告、機能のアイデア、シード URL リストなど、あらゆる貢献を歓迎します。

はじめに
# Clone and install
git clone https://github.com/dotnetpower/infomesh.git
cd infomesh
uv sync --dev --locked

# Run the supported test suite
uv run pytest tests/ --ignore=tests/test_vector.py -x -q --tb=short

# Run linter + formatter
uv run ruff check infomesh/ tests/
uv run ruff format --check .

# Run type checker
uv run mypy infomesh/ --ignore-missing-imports
貢献の方法
貢献内容難易度影響
🐛 バグを報告する簡単高 — すべての利用者に役立ちます
📝 ドキュメントや翻訳を改善する簡単高 — 参加へのハードルを下げます
🌱 シード URL を追加する簡単中 — クロール範囲を広げます
🧪 テストを書く中高 — 分散検索、クロール、ダッシュボードのリグレッションを検出できるようにします
🔧 問題を修正する中直接的な影響があります
✨ 機能を実装する難しいプロジェクトを前進させます
🔐 セキュリティ監査難しい信頼性を確保するうえで不可欠です
コードスタイル
  • フォーマッター:ruff format(black 互換、1 行 88 文字)
  • リンター:E、F、I、UP、B、SIM ルールを適用する ruff
  • 型ヒント:すべての公開関数に必須です
  • Docstring:すべての公開クラスと関数に必須です
  • テスト:すべての PR に、新機能のテストを含めてください
  • ライブラリーコードでは print() を使わず、structlog を使用してください
プルリクエストの手順
  1. リポジトリーをフォークします
  2. 機能ブランチを作成します:git checkout -b feat/my-feature
  3. コードとテストを書きます
  4. uv run ruff check infomesh/ tests/、uv run ruff format --check .、uv run mypy infomesh/ --ignore-missing-imports、および uv run pytest tests/ --ignore=tests/test_vector.py -x -q --tb=short を実行します
  5. PR を送信します — マージされた貢献には、台帳上で 1,000 – 100,000 クレジットの報酬ウェイトが設定されます。クレジットの付与には貢献の記録が必要であり、PR を作成またはマージしただけでは付与されません。

詳しい手順については、CONTRIBUTING.md をご覧ください。


📖 ドキュメント

詳細なドキュメントは、docs/ ディレクトリにあります。

ドキュメント説明
概要プロジェクトのビジョン、原則、ミッション
アーキテクチャシステム設計、データフロー、コンポーネント間の連携
クレジットシステムインセンティブの仕組みと公平性の詳細な分析
技術スタック技術選定とその理由
法務robots.txt、DMCA、GDPR、コンプライアンス
信頼性と完全性セキュリティモデルと脅威分析
セキュリティ監査脆弱性分析とエンタープライズ向けのセキュリティ強化
コンソールダッシュボードTUI ダッシュボード、タブ、ウィジェット、ショートカット
MCP 統合MCP サーバーのセットアップ、IDE の設定ガイド
公開PyPI パッケージング、CI/CD、リリースプロセス

📌 ドキュメントは**韓国語 (한국어)**でも利用できます。


📊 プロジェクト統計

2026-09-20 時点の作業ツリーのスナップショットです。ファイル数と行数には、infomesh/ および tests/ 配下の Python ファイルが含まれます。ソースモジュールにはパッケージの初期化ファイルも含まれます。以下のテスト結果は Python 3.13 で取得したもので、オプションのベクトルスイートを除外し、オプトインのライブ LLM チェックをスキップしています。

指標値
ソースモジュールPython ファイル 169 個
テストファイルtest_*.py ファイル 91 個
ソース行数51,404
テスト行数28,478
テスト合格数2,183 件合格、1 件スキップ(--ignore=tests/test_vector.py)
MCP ツール統合されたツール 5 個(従来の名称にも対応)
テストカバレッジ回帰テストのカバレッジ。この実行では、コードまたは実行時パスのカバレッジが 100%であることを確認していません
開発フェーズ過去のマイルストーン 10 件(Phase 0 → 6)。すべての実行時適合性を保証するものではありません
Python バージョン3.12+
ライセンスMIT

🗺️ ロードマップ

この表は過去に完了したコンポーネントのマイルストーンを記録したものであり、すべての実行時統合やデプロイ要件の完了を保証するものではありません。現在はコミュニティの拡大と本番環境向けの強化に注力しています。根拠と運用上の制限については、実行時適合性の記録をご覧ください。

フェーズ主な取り組み状態
0MVP — 単一ノードのクロール + インデックス + MCP + CLI✅ 完了
1インデックス共有 — スナップショット、Common Crawl、ベクトル検索、SimHash✅ 完了
2P2P ネットワーク — libp2p、DHT、分散クロールとインデックス、Sybil/Eclipse 防御✅ 完了
3品質 + インセンティブ — ランキング、クレジット、信頼性、アテステーション、監査、LLM✅ 完了
4本番環境 — リンクグラフ、LLM による再ランキング、アトリビューション、法令遵守✅ 完了
5Aコアの安定性 — リソースガバナー、自動再クロール、クエリキャッシュ、負荷ガード✅ 完了
5B検索品質 — レイテンシを考慮したルーティング、Merkle Tree による完全性検証✅ 完了
5Cリリース準備 — Docker、キーのローテーション、mDNS、LICENSE、CONTRIBUTING✅ 完了
5D仕上げ — LLM の評判、タイムゾーンの検証、ダッシュボード設定、P2P クレジット検証✅ 完了
6検索インテリジェンス、RAG、セキュリティ、オブザーバビリティ、SDK、統合、DX✅ 完了
次の予定
  • 🌍 パブリックブートストラップノード — 複数の地域にコミュニティ管理のシードノードを拡大

    現在の設定:bootstrap/nodes.json には Azure East US のピアが 1 つ含まれています。P2P を有効にしたノードは自動的にブートストラップ検出を試みます。このリストは稼働状況を保証するものではなく、ファイアウォールや NAT の設定が必要な場合があります。

  • 🎭 JS レンダリング — JS を多用するサイト向けの Playwright ベースの SPA クロール
  • 📱 ウェブダッシュボード — TUI に加えて利用できる、任意のブラウザー UI
  • 🔍 セマンティック検索の融合 — RRF による BM25 + ベクトルのハイブリッドランキング
  • 🌐 多言語ステミング — 言語に応じたトークナイズとステミング

⚖️ 法務

  • robots.txt:厳格に適用されます。クロールを禁止しているサイトはクロールされません。
  • 著作権:全文はキャッシュとしてのみ保存されます。検索結果には、出典を明記したスニペットが表示されます。
  • DMCA:承認済みの署名付き通知により、除外措置とピアリレーの処理が継続されます。接続できないピアへの24時間以内の配信は保証できません。
  • GDPR:削除記録は分散して保存されます。ノードは個人データを含むページを除外できます。
  • AI による要約:AI 生成であることを明記し、content_hash を介して出典にリンクします。元の URL は常に表示されます。
  • 利用規約:規約の全文は TERMS_OF_USE.md をご覧ください。

🙏 謝辞

InfoMesh は、優れたオープンソースプロジェクトの成果の上に成り立っています。

httpx • trafilatura • libp2p • SQLite • ChromaDB • Textual • FastAPI • mcp-python-sdk • uv • structlog • zstandard


MIT License — Copyright 2026 InfoMesh Contributors

InfoMesh が役に立ったら、リポジトリに ⭐ を付けていただけると幸いです。このプロジェクトを多くの方に知ってもらう助けになります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。