WebLLMRelay
Enables AI agents to access web-based large language models through a unified MCP interface, reusing existing web logins to perform text conversations and image generation without API keys or fees.
README
WebLLMRelay — 网页大模型分发 MCP
给智能体接入网页大模型:通过统一 MCP 接口,复用网页登录态,调用各平台大模型的对话与生图能力——不需要 API key、不产生 API 费用。如果说网页搜索是让智能体"查资料",这里则是让智能体"问专家"——把任务分发给擅长它的网页大模型。
快速开始
环境要求:**Python 3.10 + **
-
安装依赖
python -m pip install -r requirements.txt -
下载内置浏览器(必须下载到项目
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/ -
启动服务:
start_webllmrelay.bat(已运行会自动打开页面;未运行会启动服务并打开页面),或python -m webllmrelay.webui_server --port 8787 -
登录平台:在 WebUI 中对目标平台点「网页登陆」→ 内置浏览器窗口登录 → 关闭窗口,登录态自动检测并保存
-
验证平台:点「测试对话」验证文本问答,点「测试生图」验证生图(成功后自动标记该平台为已验证)
-
接入 MCP 客户端:客户端连
http://127.0.0.1:8787/mcp(HTTP),或填 command 启动(stdio)。具体配置见 WebUI 页面的「MCP 客户端接入」,点「复制」即用。
MCP 工具
接入后三个工具自动暴露给智能体。一般无需手动调用——直接对助手说人话,它会自动选择工具;想强制用工具,消息前加 >;想禁用工具,加 !。
用户:「用豆包查一下: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,两种浏览器的登录数据相互独立。默认可见运行,可开启「智能体调用时隐藏浏览器」静默。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。