Skip to main content
Glama

touch-browser

Terminal-Demo

Lizenz: MPL-2.0 Status: pilot-ready

Stellen Sie eine Behauptung auf. Erhalten Sie seitenbasierte Beweise, Urteile und Zitate.

touch-browser ist eine Ebene zur Beweisverifizierung für KI-Agenten. Er tut mehr, als nur eine Seite abzurufen oder HTML in Markdown umzuwandeln. Er öffnet eine Seite, erstellt einen strukturierten Schnappschuss und teilt Ihnen mit, ob die aktuelle Seite eine Behauptung stützt, ihr widerspricht oder ob noch weitere Recherchen erforderlich sind.

Verwenden Sie ihn, wenn Sie Folgendes benötigen:

  • quellenverknüpfte Beweise anstelle von rohen HTML-Dumps

  • unterstützende Snippets und Urteilserklärungen, die ein Agent vor der Antwort prüfen kann

  • einen sicheren, nicht aufgelösten Pfad für Grenzfälle anstelle von Bluffen

  • richtlinienbasiertes Browsing anstelle von blinder Automatisierung

  • wiederholbare, prüfbare Multi-Page-Recherchesitzungen

Evidenz zuerst, nicht Fakten-Endgültigkeit:

  • touch-browser hilft einer KI, seitenlokale Beweise zu sammeln und deren Herkunft nachzuverfolgen

  • ein übergeordnetes Modell oder ein Mensch entscheidet weiterhin, was über Seiten oder die weitere Welt hinweg wahr ist

Was extract zurückgibt

Abgekürzte claimOutcome-Form vom aktuellen Extraktor:

{
  "statement": "The Starter plan costs $29 per month.",
  "verdict": "evidence-supported",
  "confidenceBand": "high",
  "reviewRecommended": false,
  "supportSnippets": [
    {
      "blockId": "b4",
      "stableRef": "rmain:table:plan-monthly-price-snapshots-starter-29-10-000-t",
      "snippet": "Starter | $29 | 10,000"
    }
  ],
  "verdictExplanation": "Matched direct support in 3 page block(s). Review the attached snippets before reusing the claim."
}

Der Extraktor gibt vier Urteile zurück:

  • evidence-supported: die aktuelle Seite lieferte verwertbare Unterstützung

  • contradicted: die aktuelle Seite lieferte widersprüchliche Beweise

  • insufficient-evidence: die aktuelle Seite lieferte nicht genügend direkte Unterstützung

  • needs-more-browsing: die aktuelle Seite ist noch nicht spezifisch genug, daher ist der nächste Schritt eine weitere Seite

confidenceBand, reviewRecommended, supportSnippets, verdictExplanation und matchSignals sind vorhanden, damit ein Agent entscheiden kann, was als Nächstes zu tun ist, ohne blind dem ersten Treffer zu vertrauen.

MCP-Paket

Primärer lokaler MCP-Pfad:

  • npm-Paket: @nangman-infra/touch-browser-mcp

  • Geltungsbereich: öffentliche Dokumente und Web-Recherche

  • MCP-Vertrag: nur Headless, automatische Suchmaschinenauswahl, überwachte Wiederherstellungsübergabe für Challenge/Auth/MFA

Empfohlene Host-Konfiguration:

{
  "mcpServers": {
    "touch-browser": {
      "command": "npx",
      "args": ["-y", "@nangman-infra/touch-browser-mcp"]
    }
  }
}

Beim ersten Start lädt das Paket das passende eigenständige Runtime-Bundle von GitHub Releases herunter, verifiziert die veröffentlichte .sha256, installiert es unter ~/.touch-browser/npm-mcp/versions/ und startet dann touch-browser mcp.

Verwenden Sie dieses Paket, wenn Sie möchten, dass ein lokaler MCP-Host wie Claude Desktop, Cursor oder Codex eine Verbindung herstellt, ohne eine separate manuelle Runtime-Installation durchzuführen.

Eigenständiges Bundle

Mit v* getaggte Pushes erstellen jetzt eigenständige macOS- und Linux-Bundles im Standalone Release-Workflow. Jedes Bundle enthält:

  • bin/touch-browser

  • die optimierte Rust-Binärdatei unter runtime/touch-browser-bin

  • eine gebündelte Node-Runtime und Playwright-Adapter

  • die standardmäßigen semantischen Runner-Skripte und den Modell-Cache

Wenn ein getaggtes Release veröffentlicht wird, laden Sie das passende Tarball von GitHub Releases herunter, entpacken Sie es und führen Sie Folgendes aus:

./touch-browser-<version>-<platform>-<arch>/install.sh
touch-browser telemetry-summary
touch-browser update --check

Um dasselbe portable Bundle lokal zu erstellen:

pnpm install --frozen-lockfile
pnpm run build:standalone-bundle -- v0.1.0-rc1

# Then install the bundled command into PATH
./dist/standalone/touch-browser-v0.1.0-rc1-<platform>-<arch>/install.sh
touch-browser telemetry-summary
touch-browser update --check

Der eigenständige Pfad ist weiterhin der offizielle CLI-, Betriebs-, Offline- und Fallback-Installationspfad:

  1. Entpacken eines eigenständigen Bundles

  2. Ausführen von install.sh

  3. Verwenden des installierten touch-browser-Befehls für jeden CLI- und Serve-Vorgang

Das Installationsprogramm führt jetzt eine verwaltete Installation durch:

  • verwaltete Versionen befinden sich unter ~/.touch-browser/install/versions/<bundle-name>

  • die aktive Version ist ~/.touch-browser/install/current

  • der PATH-Befehl zeigt auf ~/.touch-browser/install/current/bin/touch-browser

  • touch-browser update tauscht current gegen ein neu verifiziertes Release-Bundle aus

  • touch-browser uninstall --purge-all --yes entfernt die verwaltete Installation und alle gespeicherten Daten

Erster Lauf

Dies ist der befehlsbasierte Proof-Pfad, der der installierten Benutzererfahrung entspricht:

touch-browser open https://www.iana.org/help/example-domains --browser --session-file /tmp/tb-first-run.json
touch-browser session-read --session-file /tmp/tb-first-run.json --main-only
touch-browser session-extract --session-file /tmp/tb-first-run.json \
  --claim "As described in RFC 2606 and RFC 6761, a number of domains such as example.com and example.org are maintained for documentation purposes."
touch-browser session-synthesize --session-file /tmp/tb-first-run.json --format markdown
touch-browser session-close --session-file /tmp/tb-first-run.json

Die installierte Suche behält standardmäßig ein Trust-Profil auf Engine-Ebene bei:

  • Google: ~/.touch-browser/browser-search/profiles/google-default

  • Brave: ~/.touch-browser/browser-search/profiles/brave-default

  • Profil-Status-Metadaten: ~/.touch-browser/browser-search/<engine>.profile-state.json

Mitwirkenden-Build aus dem Quellcode

Voraussetzungen: rustup, Node.js 18+, pnpm.

bash scripts/bootstrap-local.sh
cargo build --release -p touch-browser-cli
pnpm run build:standalone-bundle -- local-dev
./dist/standalone/touch-browser-local-dev-<platform>-<arch>/install.sh

Der Quellcode-Checkout ist ein Workflow für Mitwirkende. Release- und Betriebsdokumente setzen weiterhin den installierten touch-browser-Befehl aus dem eigenständigen Bundle voraus.

bootstrap-local.sh installiert die standardmäßigen semantischen Modelle unter:

  • ~/.touch-browser/models/evidence/embedding

  • ~/.touch-browser/models/evidence/nli

Verwenden Sie TOUCH_BROWSER_EVIDENCE_EMBEDDING_MODEL_PATH oder TOUCH_BROWSER_EVIDENCE_NLI_MODEL_PATH nur, wenn Sie diese Standardspeicherorte überschreiben müssen.

Warum nicht nur Markdown?

touch-browser versucht nicht, jeden Crawler oder jedes Browser-Tool zu ersetzen. Seine Aufgabe beginnt nach der Seitenerfassung.

Bedarf

Nur-Markdown-Abruf

touch-browser

Seite lesen

ja

ja

Quellenverknüpfte Block-Referenzen behalten

teilweise

ja

Beurteilen, ob die Seite eine Behauptung stützt

nein

ja

Widersprüchliche und nicht aufgelöste Zustände zurückgeben

nein

ja

Unterstützungssnippets und Urteilserklärungen geben

nein

ja

Dem Agenten sagen, er solle eskalieren, anstatt zu antworten

nein

ja

Produktoberfläche

Primäre Oberfläche:

  • extract: Behauptungen gegen die aktuelle Seite verifizieren und strukturierte Behauptungsergebnisse zurückgeben

Unterstützende Leseoberflächen:

  • read-view: lesbares Markdown für einen menschlichen Prüfer oder ein Verifizierermodell

  • compact-view: semantischer Zustand mit geringem Token-Verbrauch für Agenten-Schleifen

  • search: strukturierte Entdeckung vor dem Öffnen von Kandidatenseiten

Sicherheits- und Audit-Oberflächen:

  • policy: Seiten und A

Install Server
A
security – no known vulnerabilities
A
license - permissive license
B
quality - B tier

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nangman-infra/touch-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server