awizemann/harness

AI-driven user testing for iOS Simulator, macOS apps, and web apps. Write a goal in plain language; an LLM agent drives the UI and reports friction. macOS 14+, Swift 6.

解決する課題

Harnessは、従来のスクリプトベースのUIテストをAI駆動のユーザー動作シミュレーションに置き換えます。UI要素の位置が変わると壊れてしまう堅牢なテストスクリプトを書く代わりに、開発者は自然言語で目的とユーザーの人物像を定義し、AIエージェントがアプリをナビゲートして現実世界のUXの問題点、行き詰まり、応答しないコントロールを特定できます。

動作方法

Harnessは、スクリーンショットを読み取り、ターゲットアプリケーションと「Set-of-Mark」システム(インタラクティブ要素上の番号付きオーバーレイ)を通じて対話するLLMエージェントを使用しています。エージェントはアプリの視覚的状態に基づいて、クリック、入力、スクロールなどの操作を実行します。以下の3つのターゲット環境をサポートしています:

  • iOS Simulator: xcodebuild と WebDriverAgent によって駆動。
  • macOS Apps: AXアクションと CGEvent による入力制御、CGWindowListCreateImage によるウィンドウのキャプチャ。
  • Web Apps: JS合成イベントとスナップショットを使用した埋め込み WKWebView による駆動。

このシステムは、クラウドベースのLLM(Anthropic、OpenAI、Google)と、Ollama(例:Qwen3-VL、Llama 3.2 Vision)によるローカル推論の両方に対応しています。

対象ユーザー

iOS、macOS、またはWebアプリケーションに対して、手動のテストスクリプトを書かずに自動ユーザーテストやUX監査を実施したいmacOS開発者向けに設計されています。

特徴

  • マルチプラットフォーム対応: iOSシミュレータ、ネイティブmacOSアプリ、Webアプリすべてで動作。
  • Set-of-Markターゲティング: エージェントはピクセルではなくIDでクリックするため、信頼性が向上。
  • ローカル&クラウドAI: Ollamaによるローカルビジョンモデルと主要クラウドプロバイダーの両方に対応。
  • MCP Server統合: 外部エージェントが自律的な実行やステップ単位のUIセッションを制御できるようにします。
  • セッション状態管理: 認証済みセッションに対応するため、Webセッション状態(クッキー/localStorage)のインジェクションとエクスポートをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト