アップデート一覧に戻る
New releaseJul 26, 2026

kuri v0.4.14

ブラウザ自動化、Webクローリング、iOSおよびAndroidデバイス制御をAIエージェント向けに提供。Zigネイティブ、トークン効率の良いCDPスナップショット、HAR記録、ネイティブなadbワイヤープロトコルクライアント、そしてスタンドアロンフェッチャー。

共有

Kuri

Kuri 🌰

Stable release License Zig node_modules status

インストール

curl -fsSL https://kuri.trilok.ai/download | sh

macOS arm64/x86_64 および Linux x86_64/arm64。単一バイナリ、ランタイム依存なし。

直接ダウンロード: macOS arm64 · macOS x86_64 · Linux x86_64 · Linux arm64


AI エージェント向けのブラウザ自動化と Web クローリング。Zig で書かれています。Node.js は不要。

CDP 自動化 · A11y スナップショット · HAR 記録 · スタンドアロンフェッチャー · インタラクティブ端末ブラウザ · エージェント CLI · セキュリティテスト · iOS + Android デバイス制御

クイックスタート · ベンチマーク · kuri-agent · セキュリティテスト · API · スキル · 変更履歴

チームが Kuri に乗り換える理由: 現在の Apple Silicon ReleaseFast ビルドはバイナリあたり 2 MB 未満に収まり、2026-04-23 に再実行した Google Flights の計測では、完全な kuri-agent ループ(go→snap→click→snap→eval)で 3,392 トークンでした。ツール間の差分をパーセンテージで引用する前に、同じ環境で再実行してください。


エージェントにとって Kuri が優れている理由

ほとんどのブラウザツールは QA エンジニア向けに作られています。Kuri はエージェントループ向けに作られています。ページを読み、トークンコストを低く抑え、安定した参照に対して操作し、次へ進みます。

  • 135 個の HTTP エンドポイント — React の検査から Core Web Vitals まで、agent-browser および browser-use と完全な同等性。
  • 実際のページで agent-browser より 7~12% 少ないトークン。@eN 参照形式とゼロプレフィックスレンダリングのおかげです。
  • 同じ Google Flights ページで、/page/state(48 トークン)は完全スナップショット(2,124 トークン)より 44 倍軽量な観測。
  • バッチ実行 — POST /batch は N 個のコマンドを 1 回の HTTP 呼び出しで送信し、N-1 回のラウンドトリップと N-1 回の LLM ターンを排除します。
  • React 互換 — 信頼された CDP マウスイベントと文字単位のキーイベントが React 18/19 の onClick と onChange を発火させます。

スナップショットトークン: Google Flights SIN → TPE

このワークスペースで 2026-05-24 に再実行し、wc -c と chars/4 近似で計測。

ツール / モード文字数~トークン備考
kuri snap(完全)8,4992,124全ノード + インタラクティブ参照
kuri snap(インタラクティブのみ)~3,000~750エージェントループに最適
kuri /page/state19048軽量な観測(url、title、scroll%、カウント)
agent-browser snap(推定)~9,183~2,295[ref=e0] 形式のオーバーヘッド

トークン効率: kuri vs agent-browser

ページkuri トークンagent-browser トークン削減
example.com4035-13%(些細なページ、agent-browser はルートをスキップ)
Hacker News386~44012% 削減
Google Flights SIN→TPE2,124~2,2957% 削減

削減は kuri のコンパクトな形式によるものです:

  • @e0 参照(3 文字)vs [ref=e0](9 文字)
  • 行ごとの - プレフィックスなし(2 文字 × 行数を節約)
  • 同じインデント、同じノードフィルタリング

完全なワークフローコスト: go → snap → click → snap → eval

ツールサイクルあたりのトークン
kuri-agent~3,400
2 回目の snap の代わりに /page/state を使用~1,700
POST /batch を使用(すべて 1 回の呼び出し)~1,700(同じトークン、5 回ではなく 1 回の HTTP 呼び出し)

kuri vs libretto

libretto(Playwright + Node)は、ステップあたりのトークンコストにおいて最も近い競合です。2026-07-04 に直接比較計測 — 同じ Chrome、同じタブ、実際の tiktoken o200k_base カウント(完全な方法論と再現手順: benchmarks/libretto_comparison.md)。正直な内訳:

軸勝者詳細
呼び出しあたりのレイテンシkuri4~117 ms vs 1,344~1,500 ms(13~376 倍高速 — 永続サーバー vs コマンドごとの Node)
スナップショットトークン、典型的なページkuriシンプル 61 vs 151(2.5 倍)、記事 265 vs 363(1.37 倍) — より簡潔な文法
スナップショットトークン、大きなリスト分割kuri デフォルト 4,424 vs 813 — kuri は 259 個の参照をすべて出力、libretto はデフォルトで切り捨て。limit=5 では kuri は 555 トークン(libretto より 1.46 倍少ない)、34 個の参照 + … +45 more マーカー
トラジェクトリ(フィード、9 クリック)kuri、わずかに898 vs 939 トークン(limit=5 ベース + diff ループ vs exec ループ) — 同等からわずかな優位。朝の 5.1 倍の損失は切り捨てなしのベースでした
繰り返し実行librettoトラジェクトリを Playwright スクリプトにコンパイル → 0 トークンのリプレイ。kuri は毎回ループを再支払い

libretto の研究から kuri が得たもの(すべて今回のリリースで出荷): diff 優先ループ(take_snapshot_diff、~38 トークン/ステップ)。ナビゲーション時に ! page replaced ヘッダー付きで完全スナップショットにフォールバックする適応型 diff。ID のみの削除行。ディスクに書き込まれるスクリーンショット(パスが返され、バイトはコンテキストに入らない)。MCP 上の get_page_state。そして — parseA11yNodes を真の DFS ツリーウォークとして書き直した後 — オプトインのリスト切り捨て(/snapshot?limit=N、上限付き実行ごとに 1 行の … +K more)、スコープ付き再キャプチャ(scope=@ref)、階層インデント。これらは MCP take_snapshot の uid/limit としても公開されています。素朴な完全再スナップショットで 44,285 トークンを要した 9 クリックのフィードトラジェクトリは、切り捨てベース + diff で 898 トークン — 49 倍安く、libretto の 939 を上回ります。

上記の古い表は chars/4 トークン近似を使用しています。libretto 比較は実際の tiktoken カウントを使用しています。パーセンテージを引用する前に、自分の環境でツール間の数値を再実行してください。

バイナリサイズとメモリ

Apple M4 Pro、macOS 26.4.1 で計測。現在のバイナリは -Doptimize=ReleaseFast でビルドされています。

バイナリ現在のサイズ
kuri1,093,840 B (1.04 MiB)
kuri-agent629,904 B (615 KiB)
kuri-browse1,089,120 B (1.04 MiB)
kuri-fetch2,063,488 B (1.97 MiB)

RSS は Zig 0.16 移行を通じて横ばいを維持

現在の v0.4.3 ReleaseFast ビルドに対して /usr/bin/time -l で計測。

コマンドv0.4.3 平均最大 RSS
kuri-fetch --version~2.45 MiB
kuri-browse --version~2.45 MiB
kuri-fetch --quiet --dump markdown http://example.com/~9.17 MiB

問題

すべてのブラウザ自動化ツールは Playwright(~300 MB)、Node.js ランタイム、そして npm 依存関係の連鎖を引きずり込みます。あなたの AI エージェントはただページを読み、ボタンをクリックして、次へ進みたいだけです。 Kuri は単一の Zig バイナリです。 4 つのモード、ランタイムゼロ:

kuri           →  CDP server (Chrome automation, a11y snapshots, HAR)
kuri-fetch     →  standalone fetcher (no Chrome, QuickJS for JS, ~2 MB)
kuri-browse    →  interactive terminal browser (navigate, follow links, search)
kuri-agent     →  agentic CLI (scriptable Chrome automation + security testing)

📦 インストール

ワンラインインストール (macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/justrach/kuri/release-channel/stable/install.sh | sh

プラットフォームを検出し、適切なバイナリをダウンロードして ~/.local/bin にインストールします。 ダウンロードは Kuri が自己管理する release-channel ブランチから行われます。macOS バイナリは Developer ID 証明書でローカル署名されています。GitHub Release のアセットはこれらの同一の tarball をミラーしています。

bun / npm

bun install -g kuri-agent
# or: npm install -g kuri-agent

インストール時に、お使いのプラットフォームに適したネイティブバイナリをダウンロードします。

リリースチャネル

Kuri の安定版バイナリは release-channel ブランチにあり、GitHub の raw URL から直接配信されています。

  • 安定版インストーラー: https://raw.githubusercontent.com/justrach/kuri/release-channel/stable/install.sh
  • 安定版マニフェスト: https://raw.githubusercontent.com/justrach/kuri/release-channel/stable/latest.json
  • ブランチ表示: https://github.com/justrach/kuri/tree/release-channel/stable
  • 直接ダウンロードのパターン: https://raw.githubusercontent.com/justrach/kuri/release-channel/stable/<version>/kuri-<version>-<target>.tar.gz

手動

安定版リリースマニフェスト または GitHub Releases ページ からお使いのプラットフォーム用の tarball をダウンロードし、$PATH に展開してください。

安定版インストール URL:

curl -fsSL https://raw.githubusercontent.com/justrach/kuri/release-channel/stable/install.sh | sh

マニフェストには、aarch64-linux、x86_64-linux、aarch64-macos、x86_64-macos の正確なアセットURLとSHA-256チェックサムが含まれています。

プラットフォームサポート

カテゴリ