Skip to main content
Glama
knowledge-bridge-labs

llmwiki-agent-bridge

LLMWiki Agent Bridge

CI License: Apache-2.0 Node.js >=22.12

llmwiki-agent-bridge は、LLMWiki ツールチェーンのオプションのソースファンアウトおよびランタイム合成レイヤーです。ローカル HTTP サービスとして動作し、1 つ以上の llmwiki-serve ナレッジソースからエビデンスを収集し、引用、オプションのグラフコンテキスト、トレース手順を含む 1 つの正規化された回答アーティファクトを返します。最初のスモークテストではエビデンスのみを実行することも、設定済みのランタイムアダプターを呼び出して合成回答を得ることもできます。デフォルトのアダプターは OpenAI 互換のチャット完了を対象としています。

次の場合に使用します:

  • クライアントがソースファンアウト、プロンプト、ランタイム呼び出し、引用、トレース整形を自分で管理する代わりに、1 つのエンドポイントを必要とする場合。

  • Hermes、DeepAgents、または汎用のローカルランタイムを LLMWiki エビデンスに接続する場合。

  • llmwiki-chat または別の UI が、ローカルナレッジソースをバックエンドとする Agent Bridge A2A または MCP エンドポイントを必要とする場合。

エージェントまたはスクリプトが llmwiki-serve を直接呼び出し、独自の回答合成を管理できる場合は、これをスキップしてください。

クイックスタート | パスの選択 | デモ | ランタイムプロファイル | メッセージ契約 | OpenAPI | 統合 | | ドキュメントポータル | コントリビューション | セキュリティ | サポート | チェンジログ

パブリックプレビューに関する注意: llmwiki-agent-bridge@latest の npm インストールを利用できます。ソースチェックアウトはローカル開発とリリースチェックで引き続きサポートされます。

視覚的な初回実行のチュートリアルについては、ドキュメントのデモ を参照してください。ここではツールチェーンの境界を示しています: 上流のワークフローが互換性のある Markdown/wiki ファイルを作成し、llmwiki-serve がそれらを読み取り専用のナレッジソースとして投影し、オプションのブリッジが選択した提供済みソースをまとめてクエリできます。

これは Hermes 専用のブリッジではありません。Hermes は generic および deepagents と並ぶサポート対象のランタイムプロファイルの 1 つです。すべてのプロファイルは同じメッセージ契約を使用し、同じ llmwiki_agent_result アーティファクト形状を返します。ランタイムプロファイルはランタイムファミリーを識別し、ランタイムアダプターはブリッジがそれを呼び出す方法を選択します。

これは、LLM Wiki スタイルの Markdown ナレッジフォルダーとエージェントが読み取り可能なコンテキストのための独立したコミュニティツールです。Andrej Karpathy または互換性の例で名前が挙がっている上流のプロデューサーによる公式プロジェクトではありません。

パスの選択

クライアントが llmwiki-serve 自体を呼び出せる場合は、常に直接パスから始めてください。ファンアウト、ランタイム合成、または 1 つのローカルサービスの背後にある 1 つの正規化された結果が必要な場合は、ブリッジを追加してください。

パス

使用する場面

フロー

llmwiki-serve への直接アクセス

Codex、Claude Code、Copilot、IDE エージェント、またはスクリプトがナレッジソースを安全に呼び出し、独自のプロンプト処理または合成を処理できる場合。

client -> llmwiki-serve

llmwiki-agent-bridge 経由

クライアントがソースファンアウト、エビデンスのバンドル、ランタイム合成、引用、グラフコンテキスト、トレース手順を 1 つのアーティファクトとして返すことを望む場合。

client -> bridge -> sources -> runtime -> artifact

直接クライアント向けテンプレートは integrations にあります。ブリッジのリクエストとアーティファクトの契約は docs/message-send-contract.md に文書化され、docs/openapi.json として生成されます。

Related MCP server: A2ABench

クイックスタート

要件:

  • Node.js >=22.12

  • npm >=10

  • 1 つ以上の実行中の llmwiki-serve ナレッジソースエンドポイント

  • オプション: 合成用のランタイム。パッケージ版の実行は現在、OpenAI 互換の /v1/chat/completions アダプターをデフォルトとしています。

  • チェックアウトからサンプルソースを起動する場合は、uv と Python 3.11 以降

このクイックスタートでは、ターミナル 1 でソースサーバーのチェックアウトを起動します。ターミナル 2 では、通常のローカル実行には公開済みのブリッジパッケージを使用し、リポジトリのチェック、パッケージ化された例の確認、またはブリッジの開発を行いたい場合は、ブリッジのソースチェックアウトを使用します。

ターミナル 1: ソースサーバー

サンプルの llmwiki-serve ナレッジソースをクローンして起動します。このプロセスは実行したままにしてください:

git clone https://github.com/knowledge-bridge-labs/llmwiki-serve.git
cd llmwiki-serve
uv sync --extra dev
uv run llmwiki-serve serve ./examples/sample-wiki --host 127.0.0.1 --port 8765

ターミナル 2: ブリッジ

任意のターミナルから、ターミナル 1 がサンプルソースを提供していることを確認します:

curl -s http://127.0.0.1:8765/manifest

公開済みのパブリックプレビューパッケージを起動します:

npx llmwiki-agent-bridge@latest

代わりにソースチェックアウトで開発する場合は、llmwiki-serve チェックアウトを含む同じ親ワークスペースでターミナル 2 を開き、ブリッジをクローンし、依存関係をインストールし、ローカルチェックを実行して、チェックアウト CLI を起動します:

git clone https://github.com/knowledge-bridge-labs/llmwiki-agent-bridge.git
cd llmwiki-agent-bridge
npm ci
npm run check
node ./bin/llmwiki-agent-bridge.mjs

CLI は、ブリッジが待ち受け状態になると JSON ready イベントを書き出します:

{
  "event": "ready",
  "url": "http://127.0.0.1:8788",
  "sourcePolicy": "private-http"
}

ランタイムによる回答合成を行うには、ローカルランタイムに一致するランタイムプロファイルを指定してブリッジを再起動します。次の汎用例は、OpenAI 互換のチャット完了を実装する任意のランタイムで動作します。

macOS/Linux:

LLMWIKI_AGENT_BRIDGE_BASE_URL=http://127.0.0.1:8642/v1 \
LLMWIKI_AGENT_BRIDGE_MODEL=local-model \
LLMWIKI_AGENT_BRIDGE_RUNTIME_PROFILE=generic \
npx llmwiki-agent-bridge@latest

Windows PowerShell:

$env:LLMWIKI_AGENT_BRIDGE_BASE_URL = 'http://127.0.0.1:8642/v1'
$env:LLMWIKI_AGENT_BRIDGE_MODEL = 'local-model'
$env:LLMWIKI_AGENT_BRIDGE_RUNTIME_PROFILE = 'generic'
npx llmwiki-agent-bridge@latest

ソースチェックアウトから実行する場合は、最後の npx コマンドの代わりに node ./bin/llmwiki-agent-bridge.mjs または node .\bin\llmwiki-agent-bridge.mjs を使用してください。

Hermes または互換性のある OpenAI スタイルのランタイムでは、コマンドの形式は同じままで、LLMWIKI_AGENT_BRIDGE_RUNTIME_PROFILE とモデル名を変更してください:

プロファイル

使用する場面

モデル例

generic

/v1/chat/completions を実装する任意のローカルランタイム。

local-model

hermes

Hermes または Hermes 互換のローカルゲートウェイ。

hermes-agent

deepagents

DeepAgents の ID メタデータ。明示的なアダプターが選択されていない限り、互換性のためにチャット完了をデフォルトとします。

deepagents-local

DeepAgents のダイレクトプロバイダー統合は ACP ファーストであるべきです。公式の DeepAgents ドキュメントでは、deepagents-acp は ACP stdio CLI/プログラム API として説明されています。このパッケージは、runtimeAdapter=deepagents-acp の背後にあるオプトインのライブ ACP サブプロセスアダプターを同梱しています。デフォルトは引き続きチャット完了です。ACP アダプターはブリッジのランタイムリクエストごとに 1 つの deepagents-acp stdio プロセスを起動し、権限プロンプトを ACP cancelled で閉じて失敗させ、ブリッジのリクエストタイムアウトを子プロセスのクリーンアップに適用します。

ブリッジは実行したままにしてください。次のコマンドもブリッジチェックアウト用のコマンドです。ターミナル 2 がブリッジプロセスで占有されている場合は、別のプロンプトを開き、最初に cd llmwiki-agent-bridge を実行してください。

ローカルサーフェスを確認します:

curl -s http://127.0.0.1:8788/health
curl -s http://127.0.0.1:8788/.well-known/agent-card.json
curl -s http://127.0.0.1:8788/settings.json

初回実行時は、http://127.0.0.1:8788/settings を開き、ガイド付きセットアップに従ってください:

  1. 合成が必要な場合はランタイムを接続します。ランタイムプロファイル、ベース URL、モデルを設定します。ページはこれらのフィールドを PUT /settings/config.json で保存します。

  2. ナレッジソースを登録します。http://127.0.0.1:8765 にサンプルソースを追加し、準備完了かつ選択済みとしてマークしてから、GET/PUT /settings/sources.json で保存します。

  3. ブリッジを検証します。設定ページの検証を実行すると、登録済みソースを使用して POST /message:send が送信され、返された回答アーティファクト、引用、グラフ、トレース手順が表示されます。/message:send のデフォルトは delegated-runtime であるため、この設定ページのチェックでは、設定済みのランタイムに到達可能であることが期待されます。ランタイムなしのスモークテストには、下記のエビデンスのみのサンプルリクエストを使用してください。

ランタイムの認証情報、ネットワーク、認証、CORS、タイムアウト、ソースポリシーの制御は diagnostics/advanced にあります。ほとんどのローカル OSS ユーザーは、上記の 3 つのセットアップ手順のみが必要です。

パッケージのみの起動でランタイムなしのスモークテストを行うには、インラインのエビデンスのみのリクエストを送信します:

curl -s http://127.0.0.1:8788/message:send \
  -H 'content-type: application/json' \
  -d '{"data":{"query":"release readiness","mode":"evidence-only","knowledgeSources":[{"id":"sample-wiki","name":"Sample Wiki","protocol":"llmwiki-http","status":"ready","url":"http://127.0.0.1:8765","selected":true}]}}'

llmwiki-agent-bridge のソースチェックアウトからは、同梱された同等のリクエストを送信できるため、--data @examples/message-send.local.json パスがこのリポジトリに解決されます:

curl -s http://127.0.0.1:8788/message:send \
  -H 'content-type: application/json' \
  --data @examples/message-send.local.json

同梱の examples/message-send.local.jsonhttp://127.0.0.1:8765 を指し、modeevidence-only に設定します。llmwiki-serve またはブリッジプロセスが別のポートを使用する場合は、そのファイルを一時的なパスにコピーし、ソース URL を更新して、起動したブリッジ URL に投稿してください。

MCP スタイルのクライアントは、/mcp 上で initializenotifications/initializedping による基本的なライフサイクルを完了してから、ブリッジツールを一覧表示できます。ブリッジに完全な根拠付き回答を生成させたい場合は llmwiki_agent_run を使用し、ホストエージェントがソースを段階的に検査したい場合は読み取り専用のソースツールを使用してください:

curl -s http://127.0.0.1:8788/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}'

curl -s http://127.0.0.1:8788/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"ping"}'

curl -s http://127.0.0.1:8788/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/list"}'

curl -s http://127.0.0.1:8788/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"llmwiki_agent_run","arguments":{"query":"release readiness"}}}'

curl -s http://127.0.0.1:8788/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"llmwiki_context","arguments":{"sourceId":"sample-wiki","query":"release readiness","limit":5}}}'

curl -s http://127.0.0.1:8788/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"llmwiki_graph_neighbors","arguments":{"sourceId":"sample-wiki","nodeId":"sample-wiki:overview","direction":"out","relation":"supports","limit":20}}}'

knowledgeSources を省略すると、/settings で登録されたソースが使用されます。knowledgeSources: [] を渡すと「ソースなしで実行」を意味し、否定的なテストにのみ役立ちます。

人間が読めるソース一覧にはエンドポイント URL は含まれません。構造化された llmwiki_sources.sources 記述子にはソース URL が含まれるため、ローカルのワークベンチはブリッジ管理のソースを選択して /message:send に渡し戻すことができます。プライベートなローカル URL を公開ドキュメント、イシュー、または例にコピーしないでください。

サンプルリクエストは release readiness を尋ねます。回答の正確な文言はランタイムによって異なる場合があります。安定した統合ターゲットは、完了したタスクと llmwiki_agent_result データアーティファクトのフィールドです:

{
  "answer": "Grounded answer text from the configured runtime.",
  "citations": [
    {
      "sourceId": "sample-wiki",
      "pageId": "release-readiness",
      "title": "Release Readiness",
      "score": 0.92
    }
  ],
  "graph": {
    "nodes": [],
    "edges": []
  },
  "steps": [
    {
      "id": "bridge-evidence",
      "label": "Prepare evidence",
      "status": "done"
    },
    {
      "id": "runtime-chat-completions",
      "label": "Call chat completions",
      "status": "done"
    }
  ]
}

完全なペイロードとローカルセットアップの注意事項については、examplesランタイムプロファイルメッセージ契約クライアントパス を参照してください。

動作内容

ブリッジは、小さなローカル HTTP サーフェスを 1 つ公開します:

エンドポイント

目的

GET /health

ランタイム、構成、ソースポリシー、および秘匿化されたソースレジストリの readiness スナップショット。

GET /sources

秘匿化されたソースレジストリビュー。?probe=1 を追加すると、ライブなソースヘルスと安全なマニフェストメタデータを取得できます。

GET /.well-known/agent-card.json

秘匿化されたソースレジストリの readiness カウントを含む、ローカルな A2A スタイルのエージェントカードメタデータ。

GET /settings

ガイド付きローカルセットアップ UI。ランタイムの接続、Knowledge Sources の登録、POST /message:send による検証を行います。

GET /settings.json

秘匿化されたランタイム、ブリッジ、永続化、およびエンドポイントのメタデータ。

PUT /settings/config.json

ランタイム構成に加え、高度なアクセス、CORS、タイムアウト、ソースポリシー設定を永続化します。

GET/PUT /settings/sources.json

登録済み Knowledge Sources を読み込むか永続化します。

POST /message:send

完了したタスクアーティファクトを返す A2A スタイルのリクエスト。

POST /mcp

ライフサイクルメソッド、llmwiki_agent_run、および読み取り専用ソースツールを備えた MCP スタイルの JSON-RPC エンドポイント。

POST /message:send リクエストごとに、ブリッジは次の処理を行います。

  1. リクエストから準備完了の Knowledge Source ディスクリプタを選択します。

  2. llmwiki-http、MCP スタイルの JSON-RPC、または A2A スタイルの HTTP を介してコンテキストを取得します。

  3. 引用、グラフコンテキスト、ソースバンドルメタデータ、トレースステップをパッケージ化します。

  4. delegated-runtime または hybrid では、エビデンスバンドルをコンパクトな JSON としてレンダリングし、設定済みの OpenAI 互換 /v1/chat/completions エンドポイントを呼び出します。

  5. evidence-only では、ランタイム呼び出しをスキップし、ブリッジ生成のエビデンスサマリーを返します。

  6. 回答テキストと llmwiki_agent_result アーティファクトを返します。

POST /mcp は2つのレイヤーを公開します。llmwiki_agent_run/message:send と同じ内部実行パスを呼び出し、テキストコンテンツに加えて structuredContent.llmwiki_agent_result を返します。読み取り専用のソースツールである llmwiki_list_sourcesllmwiki_contextllmwiki_searchllmwiki_readllmwiki_graphllmwiki_graph_neighborsllmwiki_source_bundle は、設定済みランタイムを呼び出しません。これらにより、ホストエージェントは、さらなるソース探索や完全な回答実行が必要かどうかを判断する前に、ソースの一覧表示、オリエンテーション優先のコンテキストの読み取り、検索、ページのオープン、グラフデータの検査、制限付き近傍のトラバース、または安全なソースバンドルメタデータの読み取りを行うことができます。

HTTP サービスを起動せずにローカルオペレーターチェックを行うには、llmwiki-agent-bridge sources --jsonllmwiki-agent-bridge ls、または llmwiki-agent-bridge status --probe を使用します。CLI 出力はローカル設定ファイルを読み取り、診断用に保存済みのローカルルートを表示する場合があります。HTTP レジストリレスポンスは、絶対ルートを安全なラベルに秘匿化し、PUT /settings/sources.json で重複するソース ID を拒否します。

リクエストは knowledgeSources を直接指定するか、それらを省略してブリッジに登録された Knowledge Sources を使用できます。ソースの登録は /settings のステップ2で行うか、sources 配列を指定して PUT /settings/sources.json を呼び出します。複数の準備完了かつ選択済みのソースを1回の実行で登録および照会できます。ソース呼び出しは内部で制限されており、無制限の並列処理で送信されることはありません。返されるアーティファクトは、引用、グラフデータ、ソースバンドル、トレースステップ、診断、ソースごとの失敗について、選択されたソースの順序に正規化されて戻されます。

/message:send は従来の data.query 契約を維持しつつ、追加の会話ランタイムコンテキストも受け入れます。data.message またはトップレベルの A2A messagedata.messagesdata.threadIddata.sessionIddata.turnIddata.runtimeContext.conversation、A2A スタイルの configuration.historyLength、A2A スタイルの metadata.threadId/sessionId/turnId などです。ブリッジは、ソース取得に data.query または A2A メッセージテキストの現在のクエリを使用し、エビデンスシステムプロンプトの後に、制限付きのユーザー/アシスタント会話履歴をランタイムの chat-completions 呼び出しに含めます。

取得モードのルーティング

クライアントは data.retrieval でソース取得モードをオプションで要求できます。これは data.mode とは別です。data.modedata.orchestrationMode はブリッジのオーケストレーションを制御し、data.retrieval.searchMode はソース取得を制御します。data.retrieval を省略すると、従来の字句検索リクエスト形式が維持されます。

{
  "data": {
    "query": "Which release checks are still missing?",
    "mode": "evidence-only",
    "retrieval": {
      "schemaVersion": "llmwiki.retrieval.v1",
      "searchMode": "hybrid",
      "fallback": "lexical",
      "search": {
        "limit": 8,
        "snippetChars": 600
      }
    }
  }
}

セマンティック検索はソース側が所有します。ブリッジは意図をルーティングするだけで、ドキュメントやクエリの埋め込み、ベクターインデックスの構築、埋め込みプロバイダーの選択、モデルのダウンロード、ベクターの保存、または公開クライアントのペイロードからのプロバイダー資格情報、エンドポイント、キャッシュパス、モデル名、生の埋め込みの転送は行いません。SQLite GraphStore は llmwiki-serve で構成されます。バージョン 0.2.10 以降ではベースの serve パッケージに含まれますが、デフォルトではオフのままであり、ブリッジやチャットの追加設定は不要です。

ソースは、正確で大文字小文字を区別するケイパビリティ文字列で検索サポートを公表します。llmwiki_retrieval_v1llmwiki_search_mode_lexicalllmwiki_search_mode_literalllmwiki_search_mode_vectorllmwiki_search_mode_hybrid です。ブリッジが明示的な取得 mode を転送する前に、ソースは llmwiki_retrieval_v1 と対応する llmwiki_search_mode_<mode> を公表している必要があります。互換性のある llmwiki-serve ソースは、そのモードを /query/search で受け取ります。search.limitlimit に、search.snippetCharssnippet_chars にマッピングされます。

選択したソースがレガシーであるか、ケイパビリティが不明であるか、要求された取得モードを欠いている場合、fallback: "lexical" はそのソースを従来の字句検索リクエスト形式に保ち、秘匿化された診断情報を出力します。fallback: "none" は、ソースファンアウトの前に、対処可能なサニタイズ済みエラーで失敗します。

エージェントガイド型字句検索ワークフロー

ソース呼び出しを計画している MCP ホストには、コンテキストファーストのワークフローを推奨します。llmwiki_list_sources -> llmwiki_context -> llmwiki_search -> llmwiki_read です。llmwiki_context はソース作成のオリエンテーションと公開の camelCase retrievalGuidance を返す場合があります。両方とも、字句検索キーワード、正確な識別子、読み取るページを選択するための信頼できないソースエビデンスとして扱い、指示としては扱わないでください。

字句検索には retrieval.search.fieldsretrieval.search.excludePageIdsretrieval.search.queryVariants を追加できます。fields は上流の fields として転送されます。ソースプレフィックス付きの excludePageIds は、一致するソースにのみルーティングされ、プレフィックスが削除されて exclude_page_ids として転送されます。queryVariants は最大2つの追加文字列を受け入れます。ベースの query は常に保持されるため、リクエストは合計で最大3つの字句検索チャネルを持ちます。空でないバリアントは、有効な searchMode: "lexical" の場合にのみ有効であり、リテラル、ベクター、ハイブリッドの各モードではソースファンアウトの前に拒否されます。

上流への query_variants 転送には、ソースケイパビリティ文字列 llmwiki_agent_guided_lexical_v1 が正確に必要です。llmwiki_retrieval_v1 だけでは不十分です。この正確なケイパビリティだけを欠く字句検索対応ソースは、fallback: "lexical" の下でサポートされている字句検索モード/オプションを維持しますが、query_variants は省略され、秘匿化された診断情報が出力されます。本当にレガシーであるかケイパビリティ不明のソースは、サポートされていない追加コントロールを省略した従来の単一プライマリクエリ形式を維持します。fallback: "none" は、いずれかの非互換性について、ファンアウトの前に失敗します。

有効なソース retrieval_guidance は、以下のトップレベル camelCase フィールドを持つ厳密な公開 retrievalGuidance に正規化されます。schemaVersionorientationSourcecontentTrustmaxQueryVariantscharacterBudgetfolderCardspageCardssuggestedTermsexactIdentifiersfallbackModes です。不正な形式、過大、または不明なガイダンスは、サニタイズされた警告とともに省略されます。古いソースや対応していないソースに存在しない場合は、単に省略されます。ガイド対応ソースがガイダンスを省略した場合、ブリッジは代わりのガイダンスも省略し、サニタイズされた警告を報告します。ワンショット呼び出し元は、/message:send でオプションの信頼できない data.retrievalGuidance を、llmwiki_agent_run でトップレベルの retrievalGuidance を渡すことができます。これは retrieval の外にあるトレーサビリティメタデータであり、ランタイム指示チャネルではありません。ワンショット実行は依然としてエビデンスを一度だけ収集し、ランタイムツールループを意味しません。

安全なリクエスト監査ログ

LLMWIKI_AGENT_BRIDGE_AUDIT_LOG=1 を設定するか、auditLog: true を渡すと、既存のロガー(デフォルトでは stdout)を通じて、監査対象のブリッジリクエストごとに1行の JSON を出力します。監査対象ルートは、/message:send/mcp/settings/settings.json/settings/config.json/settings/sources.json/.well-known/agent-card.json/health です。

監査イベントは意図的に許可リスト化されています。これらには、ルートパターン、ステータス、期間、リクエスト/トレース ID、オーケストレーションモード、ランタイム呼び出し状態、ソース数とアーティファクト数、会話数/ブール型フィールド、秘匿化フラグが含まれます。生のプロンプト、ランタイム回答、リクエスト/レスポンスボディ、クエリ文字列、ソース URL、ランタイムベース URL、モデル名、API キー、ベアラートークン、ローカルパス、スレッド/セッション ID、会話メッセージコンテンツは含まれません。

デフォルトの I/O デバッグログ

ブリッジはまた、デフォルトで有効な別の JSONL I/O デバッグストリームを、デフォルトで .runtime-logs/llmwiki-agent-bridge-io.jsonl に出力します。これらのイベントは llmwiki.agent_bridge.io を使用し、/message:send のリクエスト、ソース、ランタイム、最終アーティファクトのフローのローカルトラブルシューティングを目的としています。

I/O ログには、プロンプト、ソースのリクエスト/レスポンスボディ、ランタイムメッセージ、ランタイム回答、および秘匿化後のブリッジレスポンスアーティファクトが含まれる場合があります。これらは常に、Authorization ヘッダーや資格情報に似たヘッダー、API キー、ベアラートークン、生のソース/ランタイム URL、URL クエリのシークレット、明らかなローカル絶対パスを秘匿化します。このストリームは、安全な監査ログとは意図的に分離されています。

LLMWIKI_AGENT_BRIDGE_IO_LOG=off を設定するか、"ioLog": false を永続化すると、I/O ログが無効になります。LLMWIKI_AGENT_BRIDGE_IO_LOG=logger または stdout を設定すると、代わりにプロセスロガー経由で JSONL をルーティングします。LLMWIKI_AGENT_BRIDGE_IO_LOG_PATH は別のファイルパスを選択します。

flowchart LR
  client["client or chat workbench"]
  bridge["llmwiki-agent-bridge"]
  sources["selected Knowledge Sources"]
  runtime["OpenAI-compatible runtime"]
  artifact["answer artifact<br/>citations, graph, trace"]

  client --> bridge
  bridge --> sources
  sources --> bridge
  bridge --> runtime
  runtime --> bridge
  bridge --> artifact

サポートされている Knowledge Source プロトコル:

プロトコル

動作

llmwiki-http

安全なバンドルメタデータのために GET /source-bundle または従来の GET /manifest を呼び出し、次に POST /query を呼び出して、エビデンスをコンパクトな検索バリアントで補強します。

mcp

利用可能な場合は安全なバンドルメタデータのために llmwiki_source_bundle を呼び出し、次に /mcp の JSON-RPC MCP スタイルエンドポイントを通じて llmwiki_context を呼び出します。

a2a

/.well-known/agent-card.json を読み取り、メッセージを投稿し、llmwiki_context アーティファクトが存在する場合はそれを優先します。

生成された OpenAPI コントラクトは docs/openapi.json にコミットされています。これは、ブリッジのローカル HTTP サーフェスと llmwiki_agent_result アーティファクトの形状を、認定された A2A 適合ではなく、パブリックプレビュー互換性コントラクトとしてカバーしています。

パッケージには、既存の /message:send ルートを安定に保ちながら A2A ディスカバリ互換性チェックを行うための @a2a-js/sdk@0.3.14 が含まれています。

ランタイムプロファイル

プロファイルは、同じブリッジ契約に対する保守的な構成プリセットです。ランタイムIDメタデータ、デフォルトのモデル名、オペレーター向けの構成を変更しますが、LLMWikiのエビデンス形式は変更しません。コンパクトJSONは、現在のランタイムプロンプトエビデンスのエンコーディングです。広範な本番デフォルト承認は、プロファイルの切り替えではなく、追跡対象のランタイムプロンプト承認e2eによってゲートされるエビデンスの主張です。

Profile

Use when

Typical model variable

generic

OpenAI互換の/v1/chat/completionsを実装するローカルランタイムを実行する場合。

LLMWIKI_AGENT_BRIDGE_MODEL=local-model

hermes

HermesまたはHermes互換のローカルゲートウェイを実行する場合。

LLMWIKI_AGENT_BRIDGE_MODEL=hermes-agent

deepagents

ブリッジをDeepAgentsバックエンドとして識別する場合。明示的なアダプタが選択されない限り、チャット補完をデフォルトとします。

LLMWIKI_AGENT_BRIDGE_MODEL=deepagents-local

レガシーのHERMES_*およびHERMES_A2A_BRIDGE_*環境エイリアスは、移行用に引き続き利用できます。新しいデプロイではLLMWIKI_AGENT_BRIDGE_*変数を優先してください。

詳細: docs/runtime-profiles.md

Package Surface

llmwiki-agent-bridgeは、以下の公開エントリポイントを持つ1つのNodeパッケージを同梱しています:

Surface

Purpose

llmwiki-agent-bridge CLI

npx、パッケージインストール、またはソースチェックアウトからローカルブリッジを起動します。

startAgentBridge

テスト、ローカルツール、または埋め込みブリッジプロセス用のプログラムAPI。

docs/openapi.json

生成されたローカルHTTPおよびアーティファクトの契約。

examples/message-send.local.json

スモークテスト用の最小限のローカルリクエスト。

integrations/

Codex、Claude Code、Copilot向けのダイレクトクライアントテンプレートとルーティングガイダンス。

パブリックプレビューパッケージはllmwiki-agent-bridge@latestから利用できます。グローバルインストールなしで実行する場合:

npx llmwiki-agent-bridge@latest

またはパッケージをインストールしてCLIを実行する場合:

npm install --global llmwiki-agent-bridge@latest
llmwiki-agent-bridge

ソースチェックアウトは、引き続きサポートされる開発パスです:

npm ci
npm run check
node ./bin/llmwiki-agent-bridge.mjs

Integration Paths

エージェントがllmwiki-serve自体からコンテキストを安全に取得できる場合、ダイレクトクライアント統合が最初の最良の選択肢です。クライアントが、エビデンスを収集し、ランタイムを呼び出し、正規化された結果を返す1つのローカルサービスを望む場合には、ブリッジ統合の方が適しています。

エージェントが直接使用する場合は、llmwiki-serveを実行し、LLMWIKI_SERVE_URLを設定して、integrations/内のテンプレートを調整します。例ではまず/queryを呼び出し、次に/search/read/{page_id}/graph、または/mcpを呼び出して、より詳細に調査します。

export LLMWIKI_SERVE_URL=http://127.0.0.1:8765

ワークフローでソースファンアウト、ランタイム合成、1つの正規化された回答アーティファクトも必要な場合は、llmwiki-agent-bridgeを使用してください。

Configuration

ほとんどのローカル実行では、ランタイムのベースURL、モデル、プロファイル、オプションのブリッジベアラートークンのみが必要です。明示的なアダプタ統合をテストしている場合を除き、runtimeAdapterはデフォルトのままにしてください:

Variable

Default

Purpose

LLMWIKI_AGENT_BRIDGE_BASE_URL

http://127.0.0.1:8642/v1

OpenAI互換のチャット補完ベースURL。

LLMWIKI_AGENT_BRIDGE_MODEL

hermes-agent

チャット補完モデル名。

LLMWIKI_AGENT_BRIDGE_RUNTIME_PROFILE

hermes

ランタイムプロファイルのプリセット: hermesdeepagents、またはgeneric

LLMWIKI_AGENT_BRIDGE_RUNTIME_ADAPTER

chat-completions

ランタイム呼び出しアダプタ。オプトインのDeepAgents ACPサブプロセスアダプタを使用するにはdeepagents-acpを設定します。

LLMWIKI_AGENT_BRIDGE_DEEPAGENTS_ACP_COMMAND

npx; Windowsは利用可能な場合nodeとnpmのnpx-cli.jsを使用し、次にnpx.cmdにフォールバックします

runtimeAdapter=deepagents-acpに対して起動されるコマンド。シェルなしで実行されます。

LLMWIKI_AGENT_BRIDGE_DEEPAGENTS_ACP_ARGS

--yes deepagents-acp

ACPコマンドの引数。引数にスペースが含まれる場合はJSON文字列配列を使用します。

LLMWIKI_AGENT_BRIDGE_DEEPAGENTS_ACP_CWD

現在の作業ディレクトリ

ACPサブプロセスおよびリクエストごとのACPセッションの作業ディレクトリ。

LLMWIKI_AGENT_BRIDGE_HOST

127.0.0.1

ブリッジのバインドホスト。非ループバック値には明示的なオプトインが必要です。/settingsから保存されたホスト変更には再起動が必要です。

LLMWIKI_AGENT_BRIDGE_PORT

8788

ブリッジのHTTPポート。/settingsから保存されたポート変更には再起動が必要です。

LLMWIKI_AGENT_BRIDGE_API_KEY

未設定

設定されたランタイムにのみ送信されるオプションのランタイムAPIキー。

LLMWIKI_AGENT_BRIDGE_BEARER_TOKEN

未設定

ブリッジのHTTPリクエストで必要となるオプションのベアラートークン。

LLMWIKI_AGENT_BRIDGE_ALLOWED_ORIGINS

未設定

ブリッジを呼び出すことを許可された追加のブラウザCORSオリジン。

LLMWIKI_AGENT_BRIDGE_SOURCE_POLICY

private-http

アウトバウンドのKnowledge Source URLポリシー。

LLMWIKI_AGENT_BRIDGE_ALLOWED_SOURCE_ORIGINS

未設定

許可リストまたはより厳格なポリシーのための正確なKnowledge Sourceオリジン。

LLMWIKI_AGENT_BRIDGE_IO_LOG

file

デフォルトで有効なI/Oデバッグロギング。無効にするにはoff、プロセスログ経由でルーティングするにはlogger/stdout、ファイルシンクにJSONLを追記するにはfileを設定します。

LLMWIKI_AGENT_BRIDGE_IO_LOG_PATH

.runtime-logs/llmwiki-agent-bridge-io.jsonl

I/O JSONLログのオプションのファイルパス。

LLMWIKI_AGENT_BRIDGE_ALLOW_PUBLIC_BIND

未設定

非ループバックホストにバインドする前に1に設定します。

LLMWIKI_AGENT_BRIDGE_CONFIG_PATH

CLIのユーザー設定ファイル

/settings/config.jsonおよび/settings/sources.json用の永続設定ファイル。プログラムによる呼び出し元はconfigPathを渡せます。

ソースポリシー、CORS、バインドホスト、移行エイリアスの詳細は、ランタイムプロファイルクライアントパスに記載されています。

実装は後方互換性のためにHermesのデフォルトを維持しています。新しいOSSインストールでは、HermesまたはDeepAgentsに接続する場合を除き、LLMWIKI_AGENT_BRIDGE_RUNTIME_PROFILE=genericを明示的に設定し、そのランタイムが期待するモデル名を設定してください。

LLMWIKI_AGENT_BRIDGE_BEARER_TOKENなしでブリッジをパブリックまたは共有インターフェースに公開しないでください。非ループバックバインドには明示的なオプトインが必要であり、認証なしのパブリックバインドは開発専用の非常口です。

/settingsページは、同じ構成に対するガイド付きの初回実行UIです。ステップ1では、PUT /settings/config.jsonを通じてランタイムに接続し、プロファイル、ベースURL、モデルを保存します。ステップ2では、GET/PUT /settings/sources.jsonを通じて再利用可能なKnowledge Source記述子を保存します。ステップ3では、ページからPOST /message:sendを送信し、返されたアーティファクトを表示してブリッジを検証します。ランタイム資格情報、高度なネットワーク、認証、CORS、タイムアウト、ソースポリシーフィールドは、diagnostics/advancedの下で引き続き利用できます。ライブランタイムフィールドへの変更は実行中のプロセスに適用されます。バインドhostportは次回起動のために保存され、保存レスポンスにはrestartRequiredの下にリストされます。

Programmatic API

import { startAgentBridge } from 'llmwiki-agent-bridge'

const { server, url } = await startAgentBridge({
  port: 0,
  baseUrl: 'http://127.0.0.1:8642/v1',
  model: 'local-model',
  runtimeProfile: 'generic',
})

console.log(url)
server.close()

移行中は、レガシーのcreateHermesA2aBridgeおよびstartHermesA2aBridgeエクスポートが利用可能です。

Repository Structure

Path

Purpose

bin/

チェックアウトまたはパッケージからブリッジを起動するためのCLIエントリポイント。

src/

ブリッジサーバー、ソースクライアント、ランタイム呼び出しパス、結果の整形。

examples/

ローカルA2Aスタイルのリクエストペイロードのサンプル。

integrations/

Codex、Claude Code、Copilot向けの直接エージェントテンプレートと、ブリッジルーティングガイド。

docs/

ランタイムプロファイル、OpenAPI契約、クライアントパス、リリースガイド。

test/

ブリッジの動作テストと契約テスト。

scripts/

メンテナンスおよびリリース用のヘルパースクリプト。

package.json, package-lock.json

Nodeパッケージのメタデータとロックされた開発環境。

リリースステータス

llmwiki-agent-bridge はパブリックプレビュー中です。npmパッケージは公開されており、 パッケージベースの npx llmwiki-agent-bridge@latest または npm install --global llmwiki-agent-bridge@latest による実行は、ローカル 利用でサポートされています。ソースチェックアウトは、開発、リポジトリ検証、 リリースチェックのために引き続きサポートされています。

リポジトリ、Issue、CIバッジ、パッケージ、ホスト型ドキュメントのURLは、意図的に Knowledge Bridge Labs組織を対象としています。ホスト型のリリースステータスおよび 互換性マトリクスには、現在利用可能なパッケージとランタイムパスが記録されています。

次のパブリックプレビューリリースを準備、公開、または タグ付けする前に、docs/release.md を参照してください。

開発

npm run lint
npm run contracts:check
npm test
npm run pack:dry-run
npm run audit

npm run check は、lint、生成済み契約のドリフトチェック、テスト、およびドライ パッケージングを実行します。

ツールチェーン

Repo/package

Role

Validation command

llmwiki-serve

MarkdownまたはLLMWikiスタイルのフォルダ用の読み取り専用Knowledge Sourceサーバー。

uv run python scripts/release_smoke.py

llmwiki-agent-bridge

引用付き回答アーティファクト用のローカルランタイムコンパニオンブリッジ。

npm run check

llmwiki-chat

ソース、ランタイム選択、トレース、引用、グラフコンテキスト用のブラウザワークベンチ。

npm run check

llmwiki-docs

リポジトリ横断型ドキュメンテーションポータル。

npm run check

コミュニティ

プルリクエストを開く前に、CONTRIBUTING.md を読み、変更を ブリッジ契約に集中させ、検証結果を含めてください。

再現可能なバグ、焦点を絞った機能リクエスト、ランタイムまたはプロトコルの 互換性に関するメモ、ドキュメントの欠落については、GitHub Issuesを使用してください。例は公開され、 サニタイズされた状態に保ってください。認証情報、ベアラートークン、プライベートエンドポイントURL、生の 機密性の高いWikiコンテンツ、プライベートランタイムログを含めないでください。

脆弱性については、詳細な公開Issueを開く代わりに、SECURITY.md に従ってください。

ライセンス

Apache-2.0。 LICENSE を参照してください。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Query any docs site via MCP. Submit a URL, ask questions, get cited answers.

  • Google AI Overview answers and cited sources via the Apify Google AI Overview API, hosted MCP.

  • Agentic search over your Dewey document collections from any MCP-compatible client.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/knowledge-bridge-labs/llmwiki-agent-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server