英語の原文: https://argusic.com/subject/rustwright

rustwright

Playwright の API を Rust 製 CDP エンジン上で実装。Python と Node 向けの Chromium ブラウザ自動化で、ドライバーのサブプロセスは不要です。(Alpha)

動作するソース: GitHubPythonMITコミット fca14389e997

Python、MIT ライセンス. プロジェクト自身の表記: browser automation、cdp、chrome devtools protocol、chromium、napi rs、nodejs、playwright、pyo3.

rustwright は動作します。Argusic のエージェントが GPU のないクリーンなマシンで 20 分でインストールし、6 件のエラーに遭遇してすべてを自力で修正し、セッション全体が記録されました。

Built from source with Rust 1.99 and Python 3.12; Chromium 155 installed and launchable; Python quickstart prints 'Rustwright works', 18-test CI subset passes, Node smoke and 19 Node tests pass, rustwright CLI (0.3.0) and native rustwright-cli (0.1.0) open/snapshot/close real browser sessions, MCP server answers initialize; 30 sync_api tests fail against real Chromium and the full-file suite has flaky hangs.

クリーンなマシンでエージェントが最終的に得た結果 (エージェント自身の言葉)。 計測方法

Argusic が毎回新しいマシンで計測しています。 すべての数値はその証拠にリンクしています。 Argusic スコア 100 点中 100 点 (このプロジェクトの実行スコアの平均)。

概要

判定
動作する
Argusic スコア
100 / 100
検証した実行のコスト
0.34 USD (実測)
記録された実行
1
最終テスト
スター
939
フォーク
66
未解決の Issue
16
ウォッチャー
5
サイズ
15 MB
作成日
最終プッシュ

プロジェクトのデータは GitHub から取得 (このページの冒頭にリンクあり)、更新日 。テストデータは Argusic によるもので (CC BY 4.0)、すべての数値は、完全なログ、録画、それらの sha256 ハッシュを含む実行ページにリンクしています。

計測した内容

この判定を決めた実行から取得しています。 各行は記録された値であり、推定値ではありません。

rustwright のテスト中に各失敗で失われた時間 (記録された実行から作成)
各バーはエージェントが記録した失敗と、それにかかった時間です。この実行のデータのみから描いています。

うまくいかなかった点 (エージェント自身の言葉)

エージェント自身の言葉を、深刻なものから順に掲載しています。助言に書き換えることはありません。

  • 30 tests in tests/test_rustwright_sync_api.py fail against real Chromium: connect_over_cdp remote-cookie sync (empty cookie set), page.requests() window (20 kept, expected 100), HAR route_fulfill FileNotFoundError leak, navigation-mid-wait 'Execution context was destroyed' races, sandbox=true launch (no usable sandbox in this container), internal __rustwright_dispatch__ shim visibility; CI fast subset stays green45 分
  • Full test_rustwright_sync_api.py run (1639 tests) hangs ~45% in batch mode (flaky Chromium race tests)10 分
  • Linker error 'unable to find library -lpython3.12' (libpython3.12.so absent; no root/apt)8 分
  • Node build failed on Node v18.19.1: '@inquirer/core' requires node:util.styleText (Node >=20.13)6 分
  • No Rust toolchain in container (cargo/rustc missing)2 分
  • Chromium failed to start: posix_spawn chrome_crashpad_handler: Permission denied (13); installer delivered browser helpers without exec bits1 分
インストール時間
20 分
クリーンなマシンから完了まで
68 分
遭遇したエラーと修正したエラー
6 件に遭遇、6 件を人の手を借りずに修正
結果の証明方法
cargo check --locked exit 0; cargo test --locked 399 passed 0 failed; maturin develop --release installed rustwright 0.3.0; examples/quickstart.py printed 'Rustwright works'; pytest fast CI subset 18 passed; npm run smoke OK and npm test 19/19 passed; rustwright --version = 0.3.0; rustwright open/snapshot --json/--allow-eval eval/close all returned real results over live Chromium; native rustwright-cli 0.1.0 open/snapshot/close OK; rustwright-mcp answered JSON-RPC initialize with serverInfo rustwright-mcp 0.1.0; mcp crate cargo test 34 passed
使用したモデルのトークン
1,055,766
テストした正確なコミット
fca14389e997
コンテナイメージ
sha256:cdd920bce783

計測していない内容

残りの半分です。この証拠がどこまでを示すのかを正確に確認できます。欠けている部分は欠けているものとして表示し、埋めることはありません。

GPU メモリのピーク
CPU マシンで実行したため、サンプリングする GPU がありませんでした
長時間の実行での振る舞い
各試行はドキュメントにある最小の設定と決まった時間予算を使うため、計測しているのは動作するかどうかであり、負荷のもとでどう持ちこたえるかではありません

録画の最後

この判定を決めたターミナルセッションの最後の行を、記録されたとおりに表示しています。

- MCP: `cargo test mcp` 34 passed; MCP `initialize` JSON-RPC response OK
**Errors fixed:**
1. No Rust toolchain → installed rustup stable 1.99 (2 min)
2. `libpython3.12.so` missing → extracted from Ubuntu `.deb` locally, `LIBRARY_PATH`/`LD_LIBRARY_PA…
3. Chromium `chrome_crashpad_handler` not executable (installer dropped exec bits) → `chmod +x` (1 …
4. Node build failed on Node 18 (`node:util.styleText` unsupported) → installed Node 20.20.2 locall…
**Unfixed failures (30 tests in `test_rustwright_sync_api.py`):** connect-over-CDP remote-cookie sy…
FINISH
All tasks complete. Final report:
tokens used
1,055,766
All tasks complete. Final report:

セッション全体を再生 (クリーンなマシンからこの時点までのすべてのコマンド)。

テスト方法

1 つのエージェント、1 つのコンテナで、人の手は借りません。エージェントはプロジェクト自身のドキュメントに書かれた方法でインストールし、実行し、壊れた部分を修正します。以下はすべて、実際に起きたとおりに記録されています: ターミナルセッション、ログ、そして正確なコミットです。 評価方法の全文.

強みと限界

意見ではなく、計測された事実です。コンテンツの作成方法.

うまくいった点

  • クリーンなマシンで実行状態に達し、セッションが記録されました。
  • 6 件のエラーすべてから、人の介入なしに回復しました。失敗が解決できる程度にはドキュメント化されていることを示しています。
  • GPU なしで動作したため、起動に GPU は必要ありません。
  • ホストの報告によると、ライセンスは MIT です。

うまくいかなかった点、または不明な点

  • インストールに 20 分かかり、Argusic が計測した比較可能な 11 件のプロジェクトの中央値より遅い結果です。
  • これまでの計測は 1 回です。1 回の試行は動作し得ることを示すだけで、安定して動作することは示しません。

Argusic がインストールして時間を計測した browser-automation のプロジェクト 12 件のうち、rustwright は実行状態に達するまでの速さが 12 番目で、12 件中 11 件がそもそも実行状態に達しました。

適している用途

  • ノートパソコンや小さなサーバーで試す場合: GPU なしで実行状態に達しました。

同じ分野でテストしたプロジェクト

ここに挙げたものはすべて、Argusic がクリーンなマシンにインストールして実行しました。テストしていないものは表示されません。

実行履歴

テスト担当試行結果スコアコスト (USD)日時
Argusic Runner1/3動作した100.000.34

トピック (出典: GitHub)

browser-automationcdpchrome-devtools-protocolchromiumnapi-rsnodejsplaywrightpyo3pythonrust

バッジを埋め込む

プロジェクトの README に貼る Markdown です。バッジはこのページにリンクします。利用条件: 利用規約ページ.

[![Tested by Argusic](https://argusic.com/badge/rustwright.svg)](https://argusic.com/subject/rustwright)

質問

rustwright は動作しますか?
はい。rustwright は動作します. Argusic はクリーンなマシンで 20 分でインストールして起動し、途中で 6 件のエラーに遭遇し、セッションを記録しました。
Argusic は rustwright をどのようにテストしましたか?
新しい使い捨てのマシンで、すべてのコマンドを記録しながらテストしました (リポジトリはコミット fca14389e997 に固定)。記録された試行は 1 回で、手順の全体は評価方法のページに掲載しています。
rustwright のテストにはいくらかかりましたか?
この判定を出した実行のコストは 0.34 USD です: 100 万トークンあたりの定価ではなく、実際の計算資源とモデルのコストです。その実行のページに記録されています。
rustwright のインストールにはどのくらい時間がかかりますか?
この判定を決めた実行では、クリーンなマシンから実行状態まで 20 分でした。これは 1 回の計測された試行であり、平均ではありません。
rustwright には GPU が必要ですか?
起動には必要ありません。Argusic は GPU のないマシンで実行状態に達しました。
rustwright のインストールでは何がうまくいきませんか?
記録された実行では 6 件の問題が発生しました。そのうち 6 件は人の手を借りずに修正されました。それぞれの問題と、かかった時間をこのページに掲載しています。
rustwright は代替のプロジェクトと比べてどうですか?
Argusic がインストールして時間を計測した browser-automation のプロジェクト 12 件のうち、rustwright は実行状態に達するまでの速さが 12 番目で、12 件中 11 件がそもそも実行状態に達しました。
rustwright の証拠はどこにありますか?
記録された実行をこのページに掲載しており、それぞれが完全なログとターミナル録画にリンクしています。録画は sha256 フィンガープリントとともに保存されているため、こっそり改変することはできません。

Discussion