Skip to main content
Glama
mbaozi

WebLLMRelay

by mbaozi

WebLLMRelay — 网页大模型分发 MCP

给智能体接入网页大模型:通过统一 MCP 接口,复用网页登录态,调用各平台大模型的对话与生图能力——不需要 API key、不产生 API 费用。如果说网页搜索是让智能体"查资料",这里则是让智能体"问专家"——把任务分发给擅长它的网页大模型。

快速开始

环境要求:Python 3.10 及以上(依赖 mcp/playwright/fastapi 均要求 3.10+),并确保 python 命令可用。

  1. 安装依赖

    python -m pip install -r requirements.txt
  2. (可选)下载内置 Chromium——想用内置浏览器才需要;不下载则直接用系统 Edge(Windows 自带,WebUI 设置卡可切换)

    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 工具

接入后三个工具自动暴露给智能体。一般无需手动调用——直接对助手说人话,它会自动选择工具;想强制用工具,消息前加 >;想禁用工具,加 !。

用户:「用豆包查一下:Python 3.13 的新特性有哪些?」 助手:调用 ask_web_llm(platform="doubao", prompt="Python 3.13 的新特性有哪些?")

ask_web_llm — 文本问答 / 任务分发

参数

说明

platform

doubao / deepseek / kimi / qwen / zhipu / yuanbao,或 auto(自动挑选一个可用的平台)

prompt

问题或任务(提问、写作、总结、翻译、写代码等)

conversation_id

可选;留空 = 新会话,传入 = 续聊(保留上下文)

返回 {"answer", "conversation_id", "platform"}(platform 标明实际使用的平台)。

ask_web_llm_image — 生图

参数

说明

platform

doubao / qwen / zhipu / yuanbao 支持生图(deepseek / kimi 暂不支持),或 auto(自动挑选一个支持生图且可用的平台)

prompt

图片描述提示词

conversation_id

可选;传了可基于原图续调

返回 {"images": [{"url", "path"}], "conversation_id", "platform"}:

  • url:本机服务提供的图片地址,可直接下载 / 展示 / 打开;

  • path:图片在本地磁盘的绝对路径,智能体可本地直接读取;

  • platform:实际使用的平台。

图片由 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「网页登陆」打开浏览器窗口);登录状态基于每平台登录指示元素真实检测,在登录窗口关闭后自动检测、卡片「检测」按钮手动检测。

  • 浏览器:项目不随包分发 Chromium(源码与 Release 均不含),需自行下载(见快速开始);不下载则用系统 Edge。WebUI 设置卡可切换浏览器,两种浏览器的登录数据相互独立。默认可见运行,可开启「智能体调用时隐藏浏览器」静默。

许可证

本项目采用 GNU Affero General Public License v3.0 许可证。详见 LICENSE 文件。

联系方式

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