touch-browser
touch-browser

Задайте утверждение. Получите доказательства, основанные на страницах, вердикты и цитаты.
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, операций, офлайн-режима и резервного копирования:
распакуйте автономный пакет
запустите
install.shиспользуйте установленную команду
touch-browserдля всех операций CLI и обслуживания
Установщик теперь выполняет управляемую установку:
управляемые версии находятся в
~/.touch-browser/install/versions/<bundle-name>активная версия находится в
~/.touch-browser/install/currentкоманда в PATH указывает на
~/.touch-browser/install/current/bin/touch-browsertouch-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-defaultBrave:
~/.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_extractengineне предоставляется через MCPheadedне предоставляется через 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Документация и доказательства
быстрое начало и операции: doc/INSTALL_AND_OPERATIONS.md
поверхность команд: doc/CLI_SURFACE_SPEC.md
операционная модель доказательств: doc/EVIDENCE_OPERATING_MODEL.md
npm-пакет MCP: packages/mcp/README.md
примеры: examples/README.md
интеграции: integrations/README.md
бенчмарки и позиционирование: doc/README.md
пакет для пилотного запуска и операций: doc/PILOT_PACKAGE_SPEC.md, doc/OPERATIONS_SECURITY_PACKAGE_SPEC.md
Лицензия
Этот репозиторий теперь использует MPL-2.0.
разрешено коммерческое и некоммерческое использование
если вы распространяете измененные файлы, покрытые MPL, эти файлы остаются под
MPL-2.0отдельные файлы в составе более крупной работы могут использовать другие условия
полный юридический текст: LICENSE
политика на простом языке: LICENSE-POLICY.md
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