five46 について
five46は、開発者が自然言語でブラウザ操作やAPIを検証し、合否を確認できるローカル実行型AIエージェントです。成功した実行から単独で使えるPlaywrightまたは`node:test`のテストを生成し、CI、GitHub Action、MCPにも対応します。
主な機能
- 01自然言語によるブラウザ・API検証
- 02失敗仮説を含む結果レポート
- 03単独実行可能なPlaywrightまたは`node:test`テスト
- 04API検証は標準で読み取り専用
- 05CIとGitHub Actionへの対応
- 06アサーション検証と反復実行
活用シーン
- 01テスト作成前の機能確認
- 02PRのプレビュー環境で受け入れ条件を検証
- 03成功した検証を回帰テストに変換
MCP 対応
IDEアシスタントがMCPツールとしてfive46の検証を実行できるMCPサーバーを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y five46FIVE46_LLM_PROVIDERLLM provider to use: openai, anthropic, gemini, groq, or bedrockFIVE46_LLM_API_KEYシークレットYour own API key for the chosen provider (for bedrock, your AWS region instead)FIVE46_MCP_ALLOW_WRITESSet to 1 to unlock POST/PUT/PATCH for the five46_api tool (read-only by default)FIVE46_MCP_ALLOW_DELETESSet to 1 to unlock DELETE (five46_api) and destructive-looking browser clicks (five46_test)FIVE46_MCP_CONCURRENCYMax concurrent scenarios for story mode (default: 2 for five46_test, 3 for five46_api; hard-capped at 5)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | テストする稼働中の http(s) または file:// URL |
| goal | string | いいえ | エージェントが達成する内容。`goal`/`story` のいずれか一方だけを指定してください。目標が曖昧だと、焦点の定まらない実行に実際の BYOK コストが発生します。 |
| story | string | いいえ | 生のユーザーストーリー/受け入れ基準テキスト。複数のシナリオを含む場合があり、独立した目標に分割して、上限付きの並行実行を行います(`concurrency` の説明を参照。サーバー上で FIVE46_MCP_CONCURRENCY により設定し、呼び出しごとの引数にはできません)。`goal` とは相互排他的です。どちらか一方だけを指定してください。 |
| headed | boolean | いいえ | ヘッドレスではなく、実際に表示されるブラウザーを操作する様子を確認します(デフォルトは false)。 |
| maxSteps | integer | いいえ | ステップ数の予算(デフォルトは 15。指定値にかかわらず、上限は 50 です)。 |
| storageStatePath | string | いいえ | 設定済みプロジェクトルートを基準とする相対パス。以前 `five46 login` で取得したセッションファイルを指定します。ブラウザーは認証済みの状態で起動します。 |
詳細
five46
動作してほしいことを、普通の英語で伝えてください。AI エージェントが、あなた自身のLLMキーを使って実際のアプリまたはAPIを確認し、実際に使えるPlaywrightテストを作成します。

何かを作ったばかりで、テストを書く前に本当に動くかどうかを確かめたいとします。five46に、*「ログインしてダッシュボードが読み込まれることを確認する」や「POSTでユーザーを作成し、GETで確認する」*といった目標を伝えます。LLM(OpenAI、Anthropic、Gemini、Groq、AWS Bedrockに対応し、ご自身のキーを使用)が、実際のアプリまたはAPIを一つずつ操作します。目標を達成できたかどうかを率直に伝え、達成できなかった場合は根本原因の仮説も提示します。成功した実行は、単独で動作するPlaywright(またはnode:test)のspecとして保存されるため、今日の確認が明日の回帰テストになり、実行にfive46もLLMも必要ありません。
クイックスタート
npm install -g five46
npx playwright install chromium # one-time browser download
five46 config # pick a provider and paste a key (Gemini's is free)
five46 doctor # confirms the key works
five46 test http://localhost:3000 --goal "log in as [email protected] and confirm the dashboard says Welcome back"
合否(対応する終了コードも含む)、スクリーンショット付きのレポート、失敗時の根本原因の仮説に加えて、npx playwright testでコミットして実行できるfive46-agent-*.spec.tsが作成されます。APIをテストする場合は、five46 api <base-url> --goal "..."を使用してください。--allow-writesを指定しない限り、読み取り専用です。
ステータス: 開発初期段階で、活発に開発されています。実際の数十のWebサイトとAPIで、エンドツーエンドの動作を検証済みです。
すべてのプルリクエストをチェック
five46 GitHub Actionは、プルリクエストの説明にある受け入れ基準セクションを読み取り、各項目をPRのプレビュー環境で確認します。基準ごとの判定、失敗した理由、合格した基準ごとのコミット可能なspecを記載したPRコメントを常に最新の状態に保ちます。
on: deployment_status # Vercel, Netlify and other preview deploys
jobs:
five46:
if: github.event.deployment_status.state == 'success'
runs-on: ubuntu-latest
permissions: { contents: read, pull-requests: write }
steps:
- uses: sekharsdet/five46-action@v1
with:
url: ${{ github.event.deployment_status.target_url }}
api-key: ${{ secrets.FIVE46_API_KEY }}
比較
| five46 | Playwright Test Agents | playwright codegen | クラウドAIテストプラットフォーム | |
|---|---|---|---|---|
| ユーザーが指定するもの | 普通の英語による目標または受け入れ基準 | AIコーディングツール内のシードテストと依頼 | 自分自身のクリック操作 | そのアプリ内のテスト説明 |
| 実行場所 | CLI、CI、GitHub Action、またはMCPツール | VS CodeなどのAIコーディングツール内 | クリック操作中にローカルで | そのクラウド |
| アプリの合否判定を目的としている | はい。根本原因の仮説も提示 | 主な目的ではありません。テストの生成と修復を行います | いいえ | はい |
| APIテスト | はい(node:test出力) | ブラウザー中心 | いいえ | サービスによって異なります |
| アサーションが失敗を検出することを実証 | はい(--verifyによるミューテーションチェック) | 組み込みのチェックはありません | いいえ | サービスによって異なります |
| LLMと費用 | ご自身のキー、5つのプロバイダーから選択 | コーディングエージェントのモデル | なし | サブスクリプション |
| アプリのデータの送信先 | ご自身が選んだLLMプロバイダーのみ | コーディングエージェントのプロバイダー | 送信されません | そのプラットフォーム |
| 出力 | プレーンなPlaywrightまたはnode:testファイル | プレーンなPlaywrightファイル | プレーンなPlaywrightファイル | 通常は専用のランナー |
すでにAIコーディングツールを使っていて、そこでPlaywrightテストスイートを拡充していますか?Playwright独自のエージェントは最適な選択肢で、特に既存テストを正常に保つヒーラーが役立ちます。five46は合否を判定するためのものです。ブラウザーフローでもAPIでも、CIやPRで、すでに利用している任意のLLMを使って、機能が今動作しているかを確認します。詳しくはWhy five46をご覧ください。
主な特長
- デフォルトで安全です。 書き込みを許可しない限り、API の実行は読み取り専用です。 「アカウントを削除」のような破壊的に見えるクリックは、許可されない限りブロックされます。
- ログイン認証情報が LLM に渡ることはありません。 LLM にはプレースホルダーが表示され、 実際の値はローカルで入力されます。一度ログインすれば、以降はセッションを再利用できます。
- 受け入れ条件を入力し、判定結果を取得できます。
--storyはユーザーストーリー またはチケットを独立したシナリオに分割し、条件ごとに合否を報告します。 - 信頼できる仕様を作成できます。
--verify-clean-sessionは仕様を初期状態で再実行します。--verifyはアサーションを変更し、失敗することを確認します。 - 現在利用できるあらゆるキーで動作します。 プロバイダーがモデルの提供を終了した場合、five46 は
お使いのキーで利用できる現行モデルを見つけます。
FIVE46_LLM_MODELを使って モデルを指定することもできます。 - お使いのツールに適合します。 CI に適した終了コード、ダッシュボード向けの
--reportJSON、 不安定な実行の検出(--repeat)、動画の記録、IDE アシスタント向けの MCP サーバーを備えています。
ドキュメント
- 設定:プロバイダー、キーの取得方法、
five46 doctor、モデルの選択 - CLI リファレンス:すべてのコマンドとフラグ、ログインセッション、API テスト、ストーリーモード、検証、レポート
- MCP サーバー:IDE に組み込まれた AI アシスタントから five46 を使用する方法
- セキュリティモデル:マシンの外部に送信される情報、five46 が保護する内容、お客様が判断する内容
- five46 について:設計上の選択、全機能の一覧、比較
- 変更履歴
既知の制限事項
- 閉じたシャドウ DOM は走査できません。
mode: "closed"のシャドウルート内の要素は、エージェントのページスナップショットからは見えません(閉じたシャドウ ルートは一般に外部ツールから意図的にアクセスできないためであり、five46 に限った制約では ありません)。実際のウェブコンポーネントの大半を占める 開いた シャドウルートは問題なく動作し、<iframe>と<frame>のコンテンツも同様に扱えます。 - ブラウザーモードは Chromium のみです。 Firefox と WebKit にはまだ対応していません。
- 実行自体は決定論的ではありません。 同じページに同じ目標を指定しても、次回は異なる経路をたどる 場合があります。生成された仕様は固定され、繰り返し実行できる成果物です。
コントリビューション
Issue とプルリクエストを歓迎します。CONTRIBUTING.md をご覧ください。
git clone https://github.com/sekharsdet/five46.git
cd five46
npm install
npm run build
node dist/cli.js test <url> --goal "..."
npm test
five46 が役に立った場合は、GitHub で ⭐ を付けていただけると、ほかの人にも見つけてもらいやすくなります。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。