Skip to main content
Glama

touch-browser

Демонстрация в терминале

Лицензия: MPL-2.0 Статус: готов к пилотному запуску

Задайте утверждение. Получите доказательства, основанные на страницах, вердикты и цитаты.

touch-browser — это уровень верификации доказательств для ИИ-агентов. Он делает больше, чем просто загрузка страницы или преобразование HTML в Markdown. Он открывает страницу, компилирует структурированный снимок и сообщает вам, подтверждает ли текущая страница утверждение, опровергает его или требует дальнейшего поиска.

Используйте его, когда вам нужно:

  • доказательства со ссылками на источники вместо «сырых» дампов HTML

  • фрагменты поддержки и пояснения к вердиктам, которые агент может изучить перед ответом

  • безопасный путь для неразрешенных или спорных утверждений вместо попыток угадать

  • поиск, ограниченный политиками, вместо слепой автоматизации

  • воспроизводимые и проверяемые исследовательские сессии по нескольким страницам

Сначала доказательства, а не окончательные факты:

  • touch-browser помогает ИИ собирать локальные доказательства со страниц и отслеживать их происхождение

  • модель более высокого уровня или человек по-прежнему решает, что является истиной на основе нескольких страниц или в более широком контексте

Что возвращает extract

Сокращенная форма claimOutcome от текущего экстрактора:

{
  "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."
}

Экстрактор возвращает четыре вердикта:

  • evidence-supported: текущая страница предоставила полезное подтверждение

  • contradicted: текущая страница предоставила противоречивые доказательства

  • insufficient-evidence: текущая страница не предоставила достаточно прямых доказательств

  • needs-more-browsing: текущая страница недостаточно специфична, поэтому следующим шагом должен быть переход на другую страницу

confidenceBand, reviewRecommended, supportSnippets, verdictExplanation и matchSignals включены для того, чтобы агент мог решить, что делать дальше, не доверяя слепо первому совпадению.

Пакет MCP

Основной путь MCP для локального хоста:

  • npm-пакет: @nangman-infra/touch-browser-mcp

  • область применения: публичная документация и веб-исследования

  • контракт MCP: только headless-режим, автоматический выбор поисковой системы, передача управления человеку для прохождения проверок/авторизации/MFA

Рекомендуемая конфигурация хоста:

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

При первом запуске пакет загружает соответствующий автономный исполняемый файл из GitHub Releases, проверяет .sha256, устанавливает его в ~/.touch-browser/npm-mcp/versions/, а затем запускает touch-browser mcp.

Используйте этот пакет, если хотите, чтобы локальный хост MCP, такой как Claude Desktop, Cursor или Codex, подключился без отдельной ручной установки среды выполнения.

Автономный пакет (Standalone Bundle)

Публикации с тегом v* теперь собирают автономные пакеты для macOS и Linux в рабочем процессе Standalone Release. Каждый пакет включает:

  • bin/touch-browser

  • оптимизированный бинарный файл Rust в runtime/touch-browser-bin

  • встроенную среду выполнения Node и адаптер Playwright

  • стандартные скрипты семантического запуска и кэш моделей

Когда публикуется релиз с тегом, загрузите соответствующий архив из GitHub Releases, распакуйте его и запустите:

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

Чтобы собрать такой же портативный пакет локально:

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

Автономный путь по-прежнему является официальным способом установки для CLI, операций, офлайн-режима и резервного копирования:

  1. распакуйте автономный пакет

  2. запустите install.sh

  3. используйте установленную команду touch-browser для всех операций CLI и обслуживания

Установщик теперь выполняет управляемую установку:

  • управляемые версии находятся в ~/.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 удаляет управляемую установку и все сохраненные данные

Первый запуск

Это путь проверки только через командную строку, который соответствует установленному пользовательскому опыту:

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

Установленный поиск теперь по умолчанию поддерживает профиль доверия на уровне движка:

  • 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.

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

Клонирование исходного кода — это рабочий процесс для контрибьюторов. Документация по релизам и операциям по-прежнему предполагает использование установленной команды 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 только в том случае, если вам нужно переопределить эти стандартные пути.

Почему не просто Markdown?

touch-browser не пытается заменить каждый инструмент для обхода или браузер. Его работа начинается после получения страницы.

Потребность

Загрузка только Markdown

touch-browser

Прочитать страницу

да

да

Сохранить ссылки на блоки источников

частично

да

Оценить, подтверждает ли страница утверждение

нет

да

Вернуть состояния противоречия и неразрешенности

нет

да

Предоставить фрагменты поддержки и пояснения

нет

да

Посоветовать агенту эскалировать вместо ответа

нет

да

Поверхность продукта

Основная поверхность:

  • extract: проверка утверждений на соответствие текущей странице и возврат структурированных результатов

Вспомогательные поверхности чтения:

  • read-view: читаемый Markdown для человека-рецензента или модели-верификатора

  • compact-view: семантическое состояние с низким потреблением токенов для циклов агента

  • search: структурированное обнаружение перед открытием страниц-кандидатов

Поверхности безопасности и аудита:

  • policy: классификация страниц и действий как разрешенные, требующие проверки или заблокированные

  • session-synthesize: превращение сессии из нескольких страниц в JSON или Markdown с цитатами

  • serve: предоставление среды выполнения через stdio JSON-RPC для интеграции с MCP или агентами

Что такое touch-browser

  • экстрактор, ориентированный на доказательства

  • поверхность для селективного прогнозирования

  • уровень маршрутизации, удобный для верификаторов

Чем touch-browser НЕ является

  • оракулом универсальной истины

  • заменой универсального краулера

  • гарантией того, что каждое неподтвержденное утверждение является ложным

Пример MCP

Рекомендуемая настройка MCP для локальных хостов:

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

Пакет MCP намеренно более узкий, чем полный CLI:

  • область применения — публичная документация и веб-исследования

  • рекомендуемый цикл: tb_search -> tb_search_open_top -> tb_read_view -> tb_extract

  • engine не предоставляется через MCP

  • headed не предоставляется через MCP

  • если страница указывает на необходимость проверки, авторизации, MFA или другого вмешательства, остановитесь и передайте управление человеку, вместо того чтобы повторять попытку с другими настройками браузера

Альтернативная настройка моста MCP для установленной автономной команды:

{
  "mcpServers": {
    "touch-browser": {
      "command": "touch-browser",
      "args": ["mcp"]
    }
  }
}

Мост запускает touch-browser serve в фоновом режиме и предоставляет такие инструменты, как tb_search, tb_search_open_top, tb_open, tb_read_view, tb_extract, tb_tab_open и tb_session_synthesize.

Актив интеграции с репозиторием:

{
  "mcpServers": {
    "touch-browser": {
      "command": "node",
      "args": ["integrations/mcp/bridge/index.mjs"]
    }
  }
}

Автономный пакет поставляется с touch-browser mcp и touch-browser serve. Встроенный загрузчик Node остается активом интеграции репозитория для клонированных репозиториев или контейнерных образов.

По умолчанию мост предпочитает явную команду TOUCH_BROWSER_SERVE_COMMAND, затем явный путь к бинарному файлу, затем установленный или упакованный бинарный файл touch-browser, затем локальные бинарные файлы target/{release,debug}. Если ничего из этого недоступно, он быстро завершается с инструкцией по установке/сборке, вместо того чтобы возвращаться к cargo run.

Используйте TOUCH_BROWSER_SERVE_COMMAND, если хотите принудительно использовать конкретный собранный бинарный файл или команду-обертку.

Архитектура

Query / URL / fixture / browser tab
  -> browser-first search result parsing
  -> Acquisition
  -> Observation compiler
  -> read-view / compact-view
  -> extract (evidence + citations + optional verifier)
  -> policy
  -> session synthesis / replay
  -> CLI / JSON-RPC serve / MCP

Документация и доказательства

Лицензия

Этот репозиторий теперь использует MPL-2.0.

  • разрешено коммерческое и некоммерческое использование

  • если вы распространяете измененные файлы, покрытые MPL, эти файлы остаются под MPL-2.0

  • отдельные файлы в составе более крупной работы могут использовать другие условия

  • полный юридический текст: LICENSE

  • политика на простом языке: LICENSE-POLICY.md

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