SuperAPI AI 工具集

unbrowser

unbrowser 是一个面向 AI 智能体的原生浏览器与 MCP 服务器,用单个原生二进制文件实现轻量、无需 Chrome 的网页访问。它介于 curl/WebFetch 与完整浏览器之间:保持会话状态与 Cookie、返回可查询的元素引用、处理链接与 HTML 表单、检测挑战与 SPA 信号,并在需要时运行受约束的 QuickJS 页面脚本。默认导航为快速静态/SSR 抓取,返回低 token 的结构化 BlockMap,供智能体规划与操作。

访问官网

工具介绍

unbrowser 是一个面向智能体的有状态、非可视 Web 运行时,定位是「智能体的廉价浏览器通道」。它用一个原生二进制文件运行,无需 Chrome,介于简单的 curl/WebFetch 与完整浏览器之间:在纯 HTTP 太笨、完整浏览器又太贵时使用它;当页面确实需要 Chrome 时,输出会建议智能体升级,而不是假装具备并不存在的兼容性。官方 MCP 注册标识为 mcp-name: io.github.protostatis/unbrowser。

主要能力 navigate 返回一个 BlockMap:包含页面标题、地标(landmarks)、标题、可交互元素、密度信号和 ASCII 大纲。其大小取决于页面,结构面向规划而非固定 token 承诺。 稳定的元素引用(如 e:142):查询一次元素后,即可对其 click、type 或 submit,无需重新解析 HTML。 有状态的 Cookie 与表单:Cookie jar、GET 与 URL 编码的 POST 表单提交、链接与重定向在会话内保持。 页面与挑战信号:density.likely_js_filled、thin_shell 和 challenge.provider 可提示智能体是否运行脚本、检查嵌入数据、停止或升级到授权浏览器会话。 结果中的路由辅助:micro_hint(下一步具体动作)、next_tools(排序候选)、avoid(无可操作对象的工具),以及稳定的升级分类法(challenge、thin_shell、partial_result 等),附 retryable/severity/evidence,建议永不与 avoid 矛盾。 结构化助手:路由发现、卡片提取、表格规范化、text_main 和选择器调试,覆盖常见抽取工作流。

使用方式 默认 navigate 是快速的静态/SSR 通道;仅在需要受约束的 QuickJS 执行时设置 exec_scripts: true。脚本模式下,内联与外部脚本在 QuickJS 中运行并受看门狗约束,可以物化轻量水合与抓取可见数据,但它不是 V8,也不是渲染引擎;重度 React/Vue/Ember 应用仍可能只剩空壳。 安装方面:Docker 镜像支持 Linux amd64/arm64,拉取约 13 MiB,采用 distroless 且以非 root 运行(无 shell、包管理器或持久状态),生产环境应固定 :vX.Y.Z 或镜像摘要。在 macOS 上 /usr/bin/python3 为 3.9 无法安装 wheel,应使用 pipx 或 Homebrew Python;PyPI 发行包名为 pyunbrowser,导入与可执行文件仍为 unbrowser。最小接口可加 "--mcp-profile", "minimal",只暴露 navigate / query / extract / help,让智能体通过 help(topic) 发现其余功能;Python 包装器提供 3 工具智能服务器(search / open / help),控制台脚本名为 unbrowser-smart。更多安装与接口细节(Cargo、发布归档、源码构建、持久 shell 会话、原始 JSON-RPC 及全部 MCP 选项)见其安装与接口参考。

适用场景与限制 适用于受权限允许的站点、账号与数据,做轻量网页发现与抽取。不适用于重度 SPA、像素级渲染、V8 保真、浏览器扩展和交互式反爬挑战——这些属于真正的 Chrome 层级,应升级到 unchainedsky-cli 或 Unchained。当用户在 Chrome 中已建立授权会话时,cookies_set 可在本地导入所需会话 Cookie 直至过期,但这不构成绕过站点控制的许可。挑战检测与 Cookie 导入不授予绕过访问控制或站点条款的权限;会话 Cookie 应视为凭据,保持本地、限定于授权任务,绝不发送到公共演示。安装前可先试用公开在线演示,它只接受页面上列出的固定公开来源集,请勿通过它发送私有数据、Cookie 或需认证的任务;公共冒烟测试可使用共享 Streamable HTTP MCP 端点 https://unchainedsky.com/unbrowser-mcp,生产会话应使用本地安装。项目采用 Apache-2.0 许可。