1. 项目背景与核心价值
WebMCP(Web-based Multi-Channel Processing)是一种基于浏览器的多通道处理框架,它允许开发者通过自然语言交互实现复杂的数据操作。这个本地Demo项目展示了如何从零开始搭建一个能够将自然语言查询转换为精准关键词的搜索系统。
我在实际开发中发现,很多中小型团队都面临一个共同痛点:业务人员提出的搜索需求往往使用模糊的自然语言表达,而技术人员需要反复沟通才能理解真实意图。这个Demo正好解决了这个"最后一公里"的翻译问题。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具链搭建
2.1 Chrome扩展开发环境
首先需要配置Chrome扩展开发环境。推荐使用Manifest V3版本,这是目前最稳定且兼容性最好的方案:
bash复制mkdir webmcp-demo
cd webmcp-demo
npm init -y
npm install @types/chrome --save-dev
关键文件结构:
code复制webmcp-demo/
├── manifest.json
├── background.js
├── content.js
└── popup/
├── popup.html
└── popup.js
注意:Chrome扩展的manifest.json必须放在项目根目录,这是Chrome的强制要求。最新版Chrome只支持Manifest V3,不再兼容V2版本。
2.2 自然语言处理模块
我们选用Transformers.js库来实现浏览器端的NLP处理,相比服务端方案有以下优势:
- 零延迟:模型直接在浏览器运行
- 隐私保护:用户数据不会离开本地
- 离线可用:无需网络连接
安装命令:
bash复制npm install @xenova/transformers
3. 核心功能实现
3.1 关键词提取算法
采用蒸馏版的BERT模型(distilbert-base-uncased),在保证精度的同时控制模型体积(仅67MB)。核心处理逻辑:
javascript复制async function extractKeywords(text) {
const pipe = await pipel
