touch-browser
touch-browser

主張を投げかけ、ページに基づいたエビデンス、判定、引用を取得しましょう。
touch-browserは、AIエージェントのためのエビデンス検証レイヤーです。単にページを取得したりHTMLをMarkdownに変換したりするだけではありません。ページを開き、構造化されたスナップショットをコンパイルし、現在のページがその主張を裏付けているか、矛盾しているか、あるいはさらなるブラウジングが必要かを判断します。
以下のような場合に利用してください:
生のHTMLダンプではなく、ソースにリンクされたエビデンスが必要な場合
エージェントが回答前に確認できるサポートスニペットや判定の解説が必要な場合
曖昧な主張に対して、ブラフではなく安全な未解決パスが必要な場合
盲目的な自動化ではなく、ポリシーで制御されたブラウジングが必要な場合
再生可能で監査可能な複数ページのリサーチセッションが必要な場合
事実の最終決定ではなく、エビデンスを優先:
touch-browserは、AIがページ固有のエビデンスを収集し、その出所を追跡するのを支援しますページ間やより広い世界全体で何が真実であるかを決定するのは、依然として上位モデルや人間です
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."
}エクストラクターは4つの判定を返します:
evidence-supported: 現在のページが利用可能な裏付けを提示したcontradicted: 現在のページが矛盾するエビデンスを提示したinsufficient-evidence: 現在のページが十分な直接的裏付けを提供しなかったneeds-more-browsing: 現在のページはまだ十分に具体的ではないため、次のステップとして別のページが必要
confidenceBand、reviewRecommended、supportSnippets、verdictExplanation、matchSignals が含まれているため、エージェントは最初のマッチを盲目的に信頼することなく、次に何をすべきかを決定できます。
MCP パッケージ
主要なローカルホストMCPパス:
npm パッケージ:
@nangman-infra/touch-browser-mcpスコープ: 公開ドキュメントおよびリサーチWeb
MCPコントラクト: ヘッドレスのみ、自動検索エンジン選択、チャレンジ/認証/MFAのための監視付きリカバリハンドオフ
推奨されるホスト設定:
{
"mcpServers": {
"touch-browser": {
"command": "npx",
"args": ["-y", "@nangman-infra/touch-browser-mcp"]
}
}
}初回起動時、パッケージはGitHub Releasesから一致するスタンドアロンランタイムバンドルをダウンロードし、公開されている .sha256 を検証し、~/.touch-browser/npm-mcp/versions/ 配下にインストールしてから touch-browser mcp を開始します。
Claude Desktop、Cursor、CodexなどのローカルMCPホストに、手動でのランタイムインストールなしで接続させたい場合にこのパッケージを使用してください。
スタンドアロンバンドル
タグ付けされた v* プッシュは、現在 Standalone Release ワークフローでスタンドアロンのmacOSおよびLinuxバンドルをビルドします。各バンドルには以下が含まれます:
bin/touch-browserruntime/touch-browser-bin配下の最適化されたRustバイナリバンドルされたNodeランタイムとPlaywrightアダプター
デフォルトのセマンティックランナースクリプトとモデルキャッシュ
タグ付けされたリリースが公開されたら、GitHub Releasesから一致するtarballをダウンロードし、解凍して以下を実行します:
./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を実行するすべてのCLIおよびサーバー操作にインストールされた
touch-browserコマンドを使用する
インストーラーは現在、管理されたインストールを実行します:
管理されたバージョンは
~/.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-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: 人間のレビュアーや検証モデルのための読みやすいMarkdowncompact-view: エージェントループのための低トークンセマンティック状態search: 候補ページを開く前の構造化された発見
安全性と監査サーフェス:
policy: ページとアクションを許可、レビュー、またはブロックに分類するsession-synthesize: 複数ページのセッションを引用付きのJSONまたはMarkdownに変換するserve: MCPまたはエージェント統合のためにstdio JSON-RPC経由でランタイムを公開する
touch-browser とは
エビデンス優先のエクストラクター
選択的な予測サーフェス
検証者フレンドリーなルーティングレイヤー
touch-browser ではないもの
普遍的な真実のオラクル
汎用的なクローラーの代替品
裏付けのないすべての主張が誤りであるという保証
MCP の例
ローカルホスト向けの推奨MCP設定:
{
"mcpServers": {
"touch-browser": {
"command": "npx",
"args": ["-y", "@nangman-infra/touch-browser-mcp"]
}
}
}MCPパッケージは、完全なCLIよりも意図的に狭い範囲に絞られています:
スコープは公開ドキュメントとリサーチWeb
推奨されるループは
tb_search -> tb_search_open_top -> tb_read_view -> tb_extractengineは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ドキュメントと証明
クイックスタートと運用: doc/INSTALL_AND_OPERATIONS.md
コマンドサーフェス: doc/CLI_SURFACE_SPEC.md
エビデンス運用モデル: doc/EVIDENCE_OPERATING_MODEL.md
npm MCPパッケージ: packages/mcp/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