Skip to main content
Glama
mbaozi

WebLLMRelay

by mbaozi

WebLLMRelay — ウェブ大規模言語モデル配信 MCP

エージェントにウェブ大規模言語モデルを接続します:統一 MCP インターフェースを通じて、ウェブのログイン状態を再利用し、各プラットフォームの大規模言語モデルの対話と画像生成機能を呼び出します——API キーは不要、API 費用も発生しません。ウェブ検索がエージェントに「資料を調べさせる」ことだとすれば、ここではエージェントに「専門家に質問させる」ことです——タスクを得意とするウェブ大規模言語モデルに配信します。

クイックスタート

環境要件:**Python 3.10 + **

  1. 依存関係のインストール

    python -m pip install -r requirements.txt
  2. 内蔵ブラウザのダウンロード(プロジェクトの browsers/ ディレクトリにダウンロードする必要があります。アプリはこの場所のみを認識します)

    set PLAYWRIGHT_BROWSERS_PATH=D:\path\to\WebLLMRelay\browsers
    python -m playwright install chromium

    ⚠️ PLAYWRIGHT_BROWSERS_PATH を設定しないと、ブラウザはシステムキャッシュにダウンロードされ、起動時に「Executable doesn't exist」と報告されます。国内ネットワークではミラーを追加できます:set PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright/

  3. サービスの起動:start_webllmrelay.bat(既に実行中なら自動的にページが開きます;未実行ならサービスを起動してページを開きます)、または python -m webllmrelay.webui_server --port 8787

  4. プラットフォームにログイン:WebUI で対象プラットフォームの「ウェブログイン」をクリック → 内蔵ブラウザウィンドウでログイン → ウィンドウを閉じると、ログイン状態が自動的に検出され保存されます

  5. プラットフォームの検証:「テスト対話」をクリックしてテキストの質疑応答を検証し、「テスト画像生成」をクリックして画像生成を検証します(成功すると、そのプラットフォームは自動的に検証済みとマークされます)

  6. MCP クライアントの接続:クライアントは http://127.0.0.1:8787/mcp(HTTP)に接続するか、command を入力して起動します(stdio)。具体的な設定は WebUI ページの「MCP クライアント接続」を参照し、「コピー」をクリックすればそのまま使えます。

Related MCP server: open-use

MCP ツール

接続後、3つのツールが自動的にエージェントに公開されます。通常は手動で呼び出す必要はありません——アシスタントに自然言語で話しかけると、自動的にツールを選択します;ツールを強制したい場合は、メッセージの前に > を付けます;ツールを無効にしたい場合は、! を付けます。

ユーザー:「豆包で調べて:Python 3.13 の新機能は何ですか?」 アシスタント:ask_web_llm(platform="doubao", prompt="Python 3.13 の新機能は何ですか?") を呼び出します

ask_web_llm — テキスト質疑応答 / タスク配信

パラメータ

説明

platform

doubao / deepseek / kimi / qwen / zhipu / yuanbao

prompt

質問またはタスク(質問、執筆、要約、翻訳、コーディングなど)

conversation_id

任意;空欄 = 新規セッション、入力 = 継続(コンテキスト保持)

戻り値は {"answer", "conversation_id"} です。

ask_web_llm_image — 画像生成

パラメータ

説明

platform

doubao / qwen / zhipu / yuanbao は画像生成をサポート(deepseek / kimi は現時点では非対応)

prompt

画像説明のプロンプト

conversation_id

任意;指定すると元画像に基づいて継続調整可能

戻り値は {"images": [{"url", "path"}], "conversation_id"} です:

  • url:ローカルサービスの画像アドレス。直接ダウンロード / 表示 / 開くことができます;

  • path:画像のローカルディスク上の絶対パス。エージェントはローカルで直接読み取れます。

画像は MCP がブラウザセッション内で自動的に generated_images/ にダウンロードします(元画像のホットリンク防止は内部で処理済み)。キャッシュが100枚を超えると、最も古いものから自動的に削除されます。

list_web_llms — プラットフォーム一覧

パラメータなし。戻り値は [{"platform", "name", "supports_image", "verified"}] で、platform は質問ツールの値です。

アーキテクチャ

webllmrelay/
├── config.py        # ProviderSpec(每平台知识)+ 平台/登录态持久化
├── browser.py       # BrowserManager:会话式浏览器生命周期、死浏览器自动恢复
├── lock.py          # 持久化浏览器 profile 互斥锁
├── adapters.py      # PlatformAdapter 接口 + CssAdapter 默认实现 + 注册表
├── providers.py     # ask_web_llm / ask_web_llm_image / list_web_llms
├── mcp.py           # MCP server 定义与工具注册
├── activity_log.py  # 活动日志(登录 / 测试 / 调用)
├── login_worker.py  # 登录窗口子进程
├── probe.py         # 平台适配诊断 CLI(接入新平台用)
├── webui.py         # FastAPI:平台管理 / 测试 / 日志
├── webui_server.py  # WebUI 启动入口
└── webui_static/    # WebUI 前端页面

要件の境界

  • 単一モデル呼び出し:エージェントがどのモデルに質問するかを自分で決定し、「複数モデルの比較」は行いません。

  • 回答形式:ウェブページが返すものをそのまま使用し、フォーマット処理は行いません。

  • ログイン:ユーザーが手動で行います(WebUIの「ウェブログイン」でブラウザウィンドウを開く)。ログイン状態は各プラットフォームのログイン指示要素に基づいて実際に検出され、ログインウィンドウを閉じた後に自動検出され、カードの「検出」ボタンで手動検出もできます。

  • ブラウザ:Release版はデフォルトで Chromium を内蔵(アプリに同梱され、システム依存が不要)。WebUIの設定カードでシステムの Edge に切り替え可能。2つのブラウザのログインデータは相互に独立しています。デフォルトでは表示して実行されますが、「エージェント呼び出し時にブラウザを隠す」を有効にするとサイレント実行できます。

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Provides AI agents with a real browser environment for web automation, memory, and secure credential management through 15 MCP tools.
    15
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to automate both web browsers and native desktop applications through a unified interface, supporting tasks like browsing, clicking, typing, and file clipboard operations via exposed MCP tools.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-compatible applications to manage, run, chat with, and generate embeddings from local or cloud LLM models, and to perform web search and content fetching via cloud APIs.
    689 npm
    AGPL 3.0