- Added background script for handling global shortcuts (Alt+Shift+X) - Implemented element highlighting and click-to-extract in content script - Updated manifest to include background worker and commands - Updated documentation with new feature usage - Added GEMINI.md project context
2.3 KiB
2.3 KiB
Web2MCP 项目上下文
项目概览
Web2MCP 是一个工具集,旨在将网页内容转换为大语言模型(LLM)友好的格式(Markdown、JSON、XML)。它由两个主要组件组成:
- 浏览器扩展: 一个 Chrome 扩展(Manifest V3),允许用户直接从浏览器中框选并提取内容。
- Python 脚本: 用于程序化网页抓取和内容结构化的独立脚本。
目录结构
src/browser-extension/:Chrome 扩展的源代码。manifest.json:扩展配置(Manifest V3)。content.js:DOM 遍历和内容提取的核心逻辑。popup.html&popup.js:扩展弹出窗口的用户界面。
scripts/:实用脚本。mcp.py:使用requests和BeautifulSoup获取并结构化网页内容的 Python 脚本。generate_icons.py:用于生成扩展图标的辅助工具。
docs/:文档。EXTENSION.md:扩展的详细功能列表和使用说明。INSTALL.md:安装指南。
构建与运行
浏览器扩展
该扩展不需要构建步骤(无 webpack/bundler)。它作为原始源码扩展运行。
- 在 Chrome 中加载:
- 访问
chrome://extensions/。 - 启用“开发者模式”。
- 点击“加载已解压的扩展程序”并选择
src/browser-extension目录。
- 访问
Python 脚本
先决条件:
- Python 3.x
- 依赖项:
requests,beautifulsoup4
安装:
pip install requests beautifulsoup4
用法:
# 运行抓取脚本(当前目标为硬编码的 URL)
python scripts/mcp.py
主要功能
- 内容提取: 支持标题、段落、代码块、列表、表格、图片和链接。
- 格式: 导出为 Markdown、JSON 和 XML。
- 交互:
- 扩展: 支持“区域框选”(拖动选择)和“整页”提取。自动复制到剪贴板。
- 脚本: 获取 HTML 并将其解析为结构化的 JSON 文件(默认为
wechat_dev_seo_structured.json)。
开发规范
- 扩展架构: 使用标准 Web 技术(HTML/CSS/JS),无需框架。
- Manifest 版本: 严格遵循 V3。
- Python 风格: 遵循标准 Python 脚本实践。
- 文档: 在
docs/文件夹中维护文档;README.md作为项目入口点。