一、Web-Rooter 简介
这是一个开源项目,提供深度搜索、深度分析、深度爬虫等能力。
Web-Rooter 不是'给人长期手敲的爬虫工具',而是'给 AI 调用的标准化联网协议层'。
目标是把'AI 看起来答对但没有来源'升级成'AI 有执行链路、有引用、可审计'。
1.1 第一层理解:从形式意义看 Web-Rooter
从最基础的层面来说,Web-Rooter 是一个让 Claude Code / Cursor / OpenClaw 等 Vibe Coding / AI Agent 工具实现本地化联网能力的 CLI 工具集合。
关键点:
Web-Rooter 不是 MCP,而是 CLI 集合。
这意味着它可以以系统级方式与任何 AI 工具组合使用,且整体效率远高于 MCP。它不是'给某个 IDE 或某个 Agent 用的插件',而是一个通用的、可组合的、可扩展的 AI 联网执行核心。
1.2 第二层理解:IR + Lint ——把自然语言任务当成代码来编译
Web-Rooter 借鉴编译器思想设计的 IR + Lint 机制,用于显著降低幻觉率。
以 wr do 指令为例,它的执行流程是:
Intent → Skill → IR → Lint → Execute
也就是说,它会把自然语言任务'编译'为中间表示(IR),再进行语法/语义检查(Lint),最后才执行。
这个设计非常巧妙。因为像 Claude Code 这类工具虽然强大,但它们有自己的顶层提示词,在长对话中经常会'忘记'用户自定义的 MCP 或 CLI 工具的使用方式。而 IR + Lint 的存在,就像一位严厉的老师不断提醒 AI:
'你要先复习技能,再执行任务。'
我实际测试下来,这套机制确实能显著提升 AI 调用工具的灵活性与稳定性,任务处理效率也高了不少。当然,由于项目刚开源,目前 IR + Lint 仍处于'能跑但细节待优化'的阶段。
1.3 第三层理解:把 skills 放在 CLI 返回结果里,而不是放在文件夹里
Web-Rooter 做了一个非常有趣的设计:
它把 skills 放在 CLI 指令的返回结果中,而不是像 Claude Code / Cursor / OpenClaw 那样放在统一文件夹下。
这意味着:
- 每个粗粒度 skill 被拆分成多个细粒度 skill
- 不同任务阶段会触发不同的细粒度 skill
- AI 在执行任务时会不断收到'开卷提示'
这种细粒度提示词对 AI 行为的约束力更强,也能极大降低幻觉率。
1.4 其他亮点
Web-Rooter 还基于 CLI 集合衍生出了 28 个 MCP,整体功能相当丰富。
它的定位也非常明确:
不试图成为万能工具,而是让 AI 的联网行为变得可追溯、可验证。
换句话说,它不是让自己变得万能,而是让所有通用 AI 工具变得更万能。
二、快速部署 Web-Rooter
Web-Rooter 上手比较容易,即使是一台完全空白、没有任何开发环境的电脑也能轻松部署。
2.1 安装方式
方案 A:预编译安装(推荐)
从 Release 页面下载:https://github.com/baojiachen0214/web-rooter/releases/tag/v0.2.2
- Windows:运行
install-web-rooter.bat - macOS/Linux:运行
./install-web-rooter.sh
方案 B:源码安装
# Windows install.bat # macOS / Linux bash install.sh
2.2 验证安装
wr --version wr doctor wr help
重要:安装后默认入口是
wr,不是python main.py。
python main.py仅用于源码调试和开发兜底。
2.3 系统要求
- Python 3.10+
- 网络访问(用于 Playwright Chromium 运行时下载)
- 推荐:Git
三、技术架构:CLI 是一等接口,MCP 只是适配层
从源码分析,Web-Rooter 采用分层架构设计:
┌─────────────────────────────────────────────────┐
│ Interface Layer (接口层) │
│ main.py / tools/ / scripts/ │
│ CLI / MCP / HTTP Server 启动分发 │
├─────────────────────────────────────────────────┤
│ Orchestration Layer (编排层) │
│ agents/web_agent.py │
│ 任务编排:visit/search/research/crawl │
├─────────────────────────────────────────────────┤
│ Capability Layer (能力层) │
│ core/crawler.py, browser.py, search/* │
│ HTTP 抓取、浏览器自动化、搜索引擎聚合 │
├─────────────────────────────────────────────────┤
│ Configuration Layer (配置层) │
│ config.py, core/engine-config/*.json │
│ 全局运行参数、引擎配置 │
├─────────────────────────────────────────────────┤
│ Validation Layer (验证层) │
│ wr doctor, ir-lint, safe-mode │
│ 环境检查、IR 语法验证、安全模式 │
└─────────────────────────────────────────────────┘
这个设计的精妙之处在于:
- CLI 是一等接口,MCP 只是适配层。很多 MCP 项目本末倒置,把 MCP 当成主入口,CLI 当成调试工具。Web-Rooter 反其道而行——CLI 是核心,MCP 只是让 Claude/Cursor 能调用 CLI 的适配器。这意味着即使 MCP 协议变了,核心功能不受影响。
- 配置层支持热扩展。通过环境变量可以动态加载:
WEB_ROOTER_CHALLENGE_PROFILE_DIR:Cloudflare 挑战配置文件WEB_ROOTER_AUTH_PROFILE_DIR:登录态配置文件WEB_ROOTER_POSTPROCESSORS:抓取后处理扩展
四、28 个 MCP 工具:覆盖 AI 联网的全场景
截至本文编写,最新的 Web-Rooter 版本是 v0.2.2 ,该版本目前暴露了 28 个 MCP 工具,这是目前 MCP 生态中工具最丰富的项目之一:
4.1 基础工具
| 工具 | 用途 |
|---|---|
web_fetch | HTTP 网页访问 |
web_fetch_js | 浏览器网页访问(JS 渲染) |
web_search | 在已访问内容中检索 |
parse_html | HTML 解析 |
get_links | 链接提取 |
4.2 搜索工具(核心)
| 工具 | 用途 |
|---|---|
web_search_internet | 多引擎互联网搜索 |
web_deep_search | 深度并行搜索(多引擎 + 多查询) |
web_search_combined | 搜索 + 抓取组合 |
web_research | 主题深度研究 |
4.3 垂直领域工具(差异化优势)
| 工具 | 用途 |
|---|---|
web_search_academic | 学术搜索(arXiv, Google Scholar, PubMed, IEEE, CNKI 等 10 源) |
web_search_social | 社交媒体搜索(小红书、知乎、抖音、B 站、微博、Reddit、Twitter) |
web_search_commerce | 电商/本地生活平台搜索(淘宝、京东、拼多多、美团) |
web_search_tech | 技术社区搜索 |
web_mindsearch | MindSearch 图研究 |
4.4 运维工具(生产级思维)
| 工具 | 用途 |
|---|---|
web_budget_telemetry | 运行时预算遥测快照(health/pressure/utilization/alerts) |
web_workflow_schema | 声明式 workflow schema(供 AI 自主编排) |
web_workflow_run | 运行 workflow 任务流 |
web_auth_hint | 指定 URL 的登录态匹配与提示 |
web_context_snapshot | 全局深度抓取上下文快照 |
使用建议(摘自 MCP_TOOLS.md):
web_workflow_schema(先拿能力边界)web_workflow_template(生成本地模板并按任务修改)web_workflow_run(一次执行可组合流程)- 细粒度调试时再用
web_search_internet/web_fetch/web_extract/web_crawl
五、CLI 命令全集:按场景分层设计
5.1 核心命令
wr help
wr --version
wr doctor
wr do<任务>[--skill=name][--dry-run][--strict][--js][--top=N][--crawl-assist][--crawl-pages=N][--command-timeout-sec=N][--html-first|--no-html-first]
wr do-plan <任务>[--skill=name][--strict][--js][--top=N][--crawl-assist][--crawl-pages=N][--html-first|--no-html-first]
wr do-submit <任务>[--skill=name][--strict][--js][--top=N][--crawl-assist][--crawl-pages=N][--timeout-sec=N][--html-first|--no-html-first]
5.2 作业管理
wr jobs[--limit=N][--status=queued|running|completed|failed]
wr jobs-clean [--keep=N][--days=N][--all]
wr job-status <job_id>[--with-result]
wr job-result <job_id>
5.3 快速查询
wr quick <查询>[--js][--top=N][--crawl-pages=N][--strict][--command-timeout-sec=N]
wr visit <URL>[--js]
wr html <URL>[--js][--max-chars=N][--no-fallback]
5.4 搜索与研究
wr web <查询>[--no-crawl][--crawl-pages=N][--num-results=N][--engine=name|a,b]
wr deep <查询>[--en][--crawl=N][--num-results=N][--variants=N][--engine=name|a,b][--news][--platforms][--commerce][--channel=x,y]
wr mindsearch <查询>[--turns=N][--branches=N][--num-results=N][--crawl=N][--planner=name][--strict-expand][--channel=x,y]
5.5 垂直领域
wr social [--platform=xiaohongshu|zhihu|tieba|douyin|bilibili|weibo|reddit|twitter]
wr shopping [--platform=taobao|jd|pinduoduo|meituan]
wr academic [--papers-only|--with-code][--no-abstracts][--num-results=N][--source=xxx]
wr crawl <URL>[pages][depth][--pattern=REGEX][--allow-external][--no-subdomains]
5.6 工作流与扩展
wr workflow-schema
wr workflow-template [path][--scenario=social_comments|academic_relations][--force]
wr workflow <path>[--var key=value][--set key=value][--strict][--dry-run]
wr processors [--load=module:object][--force]
wr planners [--load=module:object][--force]
wr challenge-profiles
wr auth-profiles
wr auth-hint
wr auth-template [path][--force]
5.7 运维观测
wr context [--limit=N][--event=type]
wr telemetry [--no-refresh]
wr pressure [--no-refresh]
wr events [--limit=N][--event=type][--source=name][--since=seq]
wr artifact [--nodes=N][--edges=N][--kind=page|url|domain|request|session]
wr safe-mode [status|on|off][--policy=strict]
wr skills [--resolve "<目标>"][--compact|--full]
wr ir-lint <IR/JSON>
六、总结:Web-Rooter 代表了一种正确的方向
在 AI 生成内容泛滥的 2026 年,"可追溯、可审计"正在成为生产环境的刚需。Web-Rooter 用一套简洁的 wr 命令,给出了一个优雅的答案:
- 不是让 AI"看起来答对",而是让 AI"有执行链路、有引用、可审计"
- 不是堆砌功能,而是按 AI 的实际使用场景分层设计
- 不是玩具项目,而是有超时护栏、作业系统、预算控制的生产级工具
当然,Web-Rooter 也有局限:项目成熟度还在提升中(v0.2.2),社区规模有限。但这些不是致命问题,而是成长中的烦恼。
如果你正在寻找一个轻量级的 AI 联网执行工具,并且重视"可追溯、可审计",Web-Rooter 值得尝试。它可能不是最成熟的,但它代表了一种正确的方向——让 AI 的联网行为变得透明、可验证。


