SuperAPI AI 工具集

touch-browser

touch-browser 是一个面向 AI 智能体的网页证据核验层,可将网页转换为可追溯、可引用的证据。它不仅抓取页面或把 HTML 转为 Markdown,而是打开页面、编译结构化快照,并判断当前页面是支持、反驳某项主张,还是需要继续浏览。它适用于需要来源指向证据、置信区间、策略门控浏览和多页研究会话的场景,但最终真值判断仍交由更高层模型或人类完成。

访问官网

工具介绍

用途

touch-browser 是 AI 智能体的证据核验层。它的工作从页面获取之后开始,面向需要判断某条主张是否被网页所支持、反驳或仍需更多浏览的场景。产品定位是“证据优先,而非事实终局”:帮助 AI 收集页面局部证据并追踪其来源,跨页面或更广范围的真值判断仍由更高层模型或人类完成。

它明确不是通用真值预言机、通用爬虫替代品,也不保证每个不受支持的主张都是假的。

主要能力

  • 主张核验:extract 针对当前页面核验主张,返回结构化的 claimOutcome,包含四种判定:evidence-supported(当前页面提供可用支持)、contradicted(当前页面提供冲突证据)、insufficient-evidence(当前页面直接支持不足)、needs-more-browsing(当前页面还不够具体,需要另一页)。
  • 可选预测表面:输出 confidenceBand、reviewRecommended、supportSnippets、verdictExplanation、matchSignals,让 agent 决定下一步,而不是盲信首个匹配。当 reviewRecommended 为 true 时,不应在无人工或二次校验的情况下复用该主张。
  • 分组与合成:evidenceSupportedClaims、contradictedClaims、insufficientEvidenceClaims、needsMoreBrowsingClaims 是同一抽取结果的状态分组视图;session-synthesize 将会话中已打开标签页的分组视图聚合为带引用的 JSON 或 Markdown。
  • 支撑读取面:read-view 为人审或校验模型提供可读 Markdown;compact-view 为 agent 循环提供低 token 语义状态;search 在打开候选页前进行结构化发现。
  • 安全与审计面:policy 将页面与动作分类为 allow、review 或 block;serve 通过 stdio JSON-RPC 暴露运行时,供 MCP 或 agent 集成。
  • 可选预测路由层:作为 verifier 友好的路由层使用。

使用方式

60 秒验证:首次浏览器支持运行前,先检查本地运行时。quickstart 展示安全的本地首次使用流程、成功信号与常见陷阱;doctor 校验已安装的可执行文件、运行时资源、数据根、Node 运行时、Playwright Chromium、MCP 桥接入口点和语义模型就绪情况。若报告 attention-required,先修复本地依赖再判断浏览器行为。

安装后可运行一条命令体验与原始抓取的区别。判定输出路径为:检查顶层 status → 检查 summary.reusableClaims 与 reuseSummary.allClaimsReusable → 检查每个 claimOutcomes[].verdict → 检查 claimOutcomes[].reviewRecommended → 需要一条证据行时引用 claimOutcomes[].primarySupportSnippet → 将证据交给其他系统时使用 claimOutcomes[].citation.url 与 citation.retrievedAt。

读取 claimOutcome 的决策树:首次使用者先忽略大部分字段,按此顺序:若 reviewRecommended 为 true,勿在无人工或二次校验下复用;需要一条引用式证据行时用 primarySupportSnippet;需要判定原因时读 verdictExplanation;若判定不足以回答,跟随 nextActionHint;仅在调试或比较证据质量时使用 matchSignals。

MCP 路径:主本地主机 MCP 路径为 npm 包 @nangman-infra/touch-browser-mcp,范围为公开文档与研究类网页,契约为 headless-only、自动选择搜索引擎、遇到 challenge/auth/MFA 时交接人工监督恢复。首次启动时,包会从 GitHub Releases 下载匹配的独立运行时包,校验已发布的 .sha256,安装到 ~/.touch-browser/npm-mcp/versions/,然后启动 touch-browser mcp。适合 Claude Desktop、Cursor、Codex 等本地 MCP 主机直接接入。

MCP 推荐循环:tb_search -> tb_search_open_top -> tb_read_view -> tb_extract。tb_session_create 接受可选的调用方提供的 sessionId 用于外部关联;tb_open 无状态使用时需要 target,带有 sessionId 时可省略 target 以重新打开活动标签页 URL;tb_read_view、tb_extract、tb_policy 在 sessionId 指向已打开活动标签页时可省略 target;tb_extract 始终需要 claims;tb_session_synthesize 需要 sessionId 和至少一个已打开标签页。长时间运行的 MCP 调用在主机提供 _meta.progressToken 时发出 notifications/progress;tb_cancel 可重置守护进程;进行中的请求用 MCP notifications/cancelled。engine 与 headed 不通过 MCP 暴露。

独立包:带标签的 v* 推送会在 Standalone Release 工作流中构建 macOS 与 Linux 独立包,包含 bin/touch-browser、runtime/touch-browser-bin 下的 Rust 二进制、捆绑的 Node 运行时与 Playwright 适配器、默认语义运行脚本(惰性下载语义/NLI 模型)。浏览器动作默认以 Playwright 适配器为零配置兼容默认;新 CLI 部署推荐 Rust CDP 路径,CDP 适配器将浏览器支持的捕获报告为 sourceType: "cdp-rust",复用持久浏览器上下文目录,对搜索结果捕获应用搜索身份配置,且覆盖 follow、click、type、submit、分页、expand、iframe、shadow DOM、SPA 更新、下载点击、持久会话动作、跨域嵌套 shadow 交互等一致性夹具与 CLI E2E 验证。仍需 Chrome 或 Chromium;非标准位置时设置 TOUCH_BROWSER_CDP_BROWSER=/absolute/path/to/chrome。

默认发布 profile 为 slim,包含 Playwright Chromium 以零配置浏览器动作、跳过语义模型缓存、首次使用时惰性下载语义/NLI 模型。离线包需包含热模型缓存时使用 full profile。安装器执行受管安装:版本位于 ~/.touch-browser/install/versions/<bundle-name>,活动版本为 ~/.touch-browser/install/current,PATH 命令指向 ~/.touch-browser/install/current/bin/touch-browser,touch-browser update 将 current 换成新校验的发布包,touch-browser uninstall --purge-all --yes 移除受管安装及所有存储数据。

已安装搜索默认保留引擎级持久信任配置:Google 位于 ~/.touch-browser/browser-search/profiles/google-default,Brave 位于 ~/.touch-browser/browser-search/profiles/brave-default,配置文件状态元数据为 ~/.touch-browser/browser-search/<engine>.profile-state.json。

从源码构建:前置条件为 rustup、Node.js 18+、pnpm。源码检出为贡献者工作流;发布与运维文档仍假设使用独立包中已安装的 touch-browser 命令。bootstrap-local.sh 将默认语义模型安装到 ~/.touch-browser/models/evidence/embedding 与 ~/.touch-browser/models/evidence/nli。仅在需要覆盖默认位置时使用 TOUCH_BROWSER_EVIDENCE_EMBEDDING_MODEL_PATH 或 TOUCH_BROWSER_EVIDENCE_NLI_MODEL_PATH。

适用场景

  • 需要来源指向证据而非原始 HTML 转储的 AI agent 流程。
  • 需要支持片段与判定解释,供 agent 在回答前检查。
  • 对边界主张需要安全未决路径而非胡编。
  • 需要策略门控浏览而非盲目自动化。
  • 需要可重放、可审计的多页研究会话。

限制

  • 证据优先,非事实终局;跨页面或更广范围的真值由更高层模型或人类决定。
  • 不保证每个不受支持的主张都是假的。
  • MCP 包范围窄于完整 CLI,仅限公开文档与研究类网页。
  • 页面出现 challenge、auth、MFA 或其他需监督恢复时,应停止并交接人工,而非用不同浏览器设置重试。
  • 最新本地基准重跑信号来自 2026-05-05,并非对未来每个公开页面的承诺。

许可

本仓库采用 MPL-2.0,允许商业与非商业使用;若分发修改过的 MPL 覆盖文件,这些文件仍受 MPL-2.0 约束;更大作品中的独立文件可采用不同条款。完整法律文本见 LICENSE,通俗政策见 LICENSE-POLICY.md。