Web LLM MCP服务器
一个MCP服务器,使用Playwright加载包含@mlc ai/web llm的HTML页面并与之交互,以进行本地llm推理。
特性
- 基于浏览器的LLM:使用在Chromium浏览器实例中运行的@mlc ai/web llm
- 剧作家整合:自动化浏览器交互,实现无缝LLM操作
- 多种工具:生成文本、聊天、检查状态、更改模型和截图
- 模型管理:支持各种具有动态切换的Web LLM模型
可用工具
playwright_llm_generate
通过浏览器界面使用Web LLM生成文本。
参数:
prompt(string):生成文本的提示systemPrompt(字符串,可选):系统提示设置上下文maxTokens(数字,可选):要生成的最大令牌数temperature(数字,可选):发电温度(0-1)model(字符串,可选):要使用的模型(如果不同,将重新初始化)
playwright_llm_chat
启动交互式聊天会话并返回响应。
参数:
message(string):聊天中要发送的消息clearHistory(布尔值,可选):发送前清除聊天记录
playwright_llm_status
获取Web LLM Playwright界面的当前状态。
playwright_llm_set_model
更改当前的Web LLM模型。
参数:
model(string):要切换到的型号ID
playwright_llm_screenshot
截取Web LLM界面的屏幕截图。
参数:
path(字符串,可选):保存屏幕截图的路径
支持的型号
Llama-3.2-1B-Instruct-q4f32_1-MLC(默认)Llama-3.2-3B-Instruct-q4f32_1-MLCPhi-3.5-mini-instruct-q4f16_1-MLCgemma-2-2b-it-q4f32_1-MLCMistral-7B-Instruct-v0.3-q4f16_1-MLCQwen2.5-1.5B-Instruct-q4f32_1-MLC
安装
- 安装依赖项:
pnpm install- 安装Playwright浏览器:
npx playwright install chromium用法
启动MCP服务器:
node index.js或者运行测试:
node test.js技术细节
服务器的工作原理如下:
- 使用Playwright启动无头Chromium浏览器
- 正在加载
index.html包含Web LLM接口的文件 - 正在等待Web LLM模型初始化
- 通过以下方式展示浏览器功能
window.webllmInterface对象 - 提供调用这些浏览器功能的MCP工具
HTML界面提供了一个完整的Web LLM实现,包括:
- 模型初始化和加载进度
- 测试聊天界面
- 用于编程访问的JavaScript API
- 错误处理和状态报告
备注
- 第一次运行会变慢,因为它会下载和初始化LLM模型
- 默认情况下,浏览器以无头模式运行
- 可以拍摄屏幕截图来调试界面
- 模型切换需要重新初始化,这需要时间
- 该界面在HTML文件#项目中完全独立
