mcpField
D
Devicely

Devicely

ローカル
devicely-ai.vercel.app開発ツール1今日更新

Devicely について

Devicelyは、QAチームやAIエージェントがiOS・Androidの実機群をローカルで操作するためのツールです。操作を複数端末に同期し、再利用できるFlowとして記録できます。手動操作と自然言語による指示に対応します。

主な機能

  1. 01複数端末へのジェスチャーの同時送信
  2. 02ロケーターを使ったFlowの記録と再生
  3. 03自然言語や音声による端末操作
  4. 04UI要素の確認とセレクターの出力
  5. 05実機とシミュレーターの管理

活用シーン

  1. 01端末群でテストフローを繰り返す
  2. 02モバイルアプリの問題を調査・再現する
  3. 03実機でスモークテストを行う
  4. 04記録した手順をテストフレームワーク向けに出力する

MCP 対応

MCPサーバーを内蔵し、コーディングエージェントから接続済みの実機を確認・操作できます。エージェントが計画と結果確認を担い、Devicelyは独自のAIを呼び出さずに端末操作を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sureshkumarm8-devicely": {
"command": "npx",
"args": [
"-y",
"devicely"
],
"env": {
"DEVICELY_URL": "<DEVICELY_URL>"
}
}
}
}
起動コマンドnpx -y devicely
設定が必要な環境変数
DEVICELY_URLURL of the local Devicely server. Defaults to http://127.0.0.1:3001; the server is auto-started if it isn't running.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdevicely2.4.7

ツール

30

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
includeStoppedbooleanいいえ停止中のエミュレーターとシミュレーターを一覧に含めるかどうか

詳細

Devicely

1 回タップするだけ。すべての iPhone、iPad、Android が連動します。

1 つの画面から、実機の iOS および Android デバイスのフリートを、手動、平易な英語、または MCP 経由の AI エージェントで操作できます。操作を Flow として保存し、コードを書かずにすべてのデバイスで再生できます。お使いのマシン上でローカルに動作し、お手元のデバイスを操作します。

npm version npm downloads Platforms MCP License

5 台の iPhone、iPad、Android が、Devicely の 1 つの画面から一斉にダークモードへ切り替わる様子

▶ すべてのデモ · クイックスタート · 最初のデバイス · QA チーム向け · Flows · AI エージェント向け · CLI · 対応プラットフォーム · プライバシー


クイックスタート

macOS または Linux、Node.js 20.9 以降が必要です。 Windows はまだサポートされていません。

npm install -g devicely
devicely doctor      # checks Node, adb, Xcode and iOS tools; prints the install command for anything missing
devicely start       # starts Devicely and opens the Command Center

グローバルインストールできませんか? 管理者権限がない、グローバルインストールがブロックされている、インストールスクリプトが無効になっているなど、制限のある職場のマシンでは、代わりに npx で Devicely を実行してください。グローバルには何もインストールされず、すべてのコマンドを同じように使用できます。

npx devicely@latest doctor
npx devicely@latest start

初回の実行では約 185 MB をダウンロードします。2 回目以降は npm キャッシュから起動します。チームではバージョンを固定して(npx [email protected] start)、全員が同じバージョンを実行できます。会社で npm をプライベートレジストリ(Artifactory、Nexus、Verdaccio)経由にしている場合は、IT 部門に devicely パッケージの利用許可を依頼してください。npx と npm install はどちらもそのレジストリを使用します。

コマンドセンターは devicely-ai.vercel.app で開き、お使いのマシン上のサーバーと通信します。デバイスが接続されていない場合は 最初のデバイスを追加 の画面が開き、Android、iPhone、シミュレーター/エミュレーターの USB または Wi-Fi のセットアップを案内します。

手元にスマートフォンがありませんか? サーバーと一緒に Android エミュレーターまたは iOS シミュレーターを起動できます。

devicely emulators list            # shows installed AVDs and simulators
devicely start --launch <name>     # starts Devicely and boots that virtual device

要件: macOS または Linux 上の Node.js 20.9 以降。Android では adb(platform-tools)が PATH に含まれている必要があります。iOS および iPadOS デバイスには Xcode を搭載した Mac が必要です。詳しくは iOS のセットアップをご覧ください。

AI エージェントをお使いですか? devicely mcp install <client> で Claude Code、Cursor、VS Code などをセットアップできます。詳しくは AI エージェント向けをご覧ください。


数分で最初のデバイスを接続

  1. devicely doctor は、プラットフォームごとにチェック項目をまとめ、各項目の状態を ✓ / ! / ✗ で表示します。また、✗ を解消するコマンドも表示します。利用可能なものが何もインストールされていない場合は、終了コード 1 で終了します(スクリプトでは --json を使用してください)。
  2. devicely start はローカルサーバーの URL を表示し、Command Center を開きます。
  3. ブラウザーで「最初のデバイスを追加」の手順に従ってください。デバイスを接続し、許可 または 信頼 をタップしてデバイスがオンラインになると、チェックリストがリアルタイムで更新されます。
お使いのデバイス所要時間の目安必要なもの
Android スマートフォンまたはタブレット約 2 分adb、開発者向けオプションと USB デバッグが有効になっていること。Wi-Fi ペアリングには Android 11 以降が必要です。Android ガイド
iPhone または iPad初回は約 15 分Xcode がインストールされた Mac、Apple ID(無料のものでも使用できます)、Xcode で一度署名した WebDriverAgent。iOS ガイド
デバイスなしXcode または Android Studio のインストール後、数分iOS シミュレーター(Xcode + WebDriverAgent、署名不要)または Android エミュレーター(Android Studio の AVD)
トラブルシューティング
問題解決方法
Android に waiting for permission(unauthorized)と表示されるスマートフォンのロックを解除し、Allow USB debugging? の確認画面で 許可 をタップします(常に許可 にチェックを入れてください)。確認画面が表示されない場合は、開発者向けオプションで USB デバッグの承認を取り消してから、再接続してください。詳細
デバイスが見つからない充電専用ではなくデータ転送対応のケーブルを使い、adb devices / idevice_id -l を確認してください。不足しているツールは devicely doctor で確認できます。Linux で no permissions と表示される場合は、udev ルールが設定されていません:修正方法
ブラウザーからローカルサーバーに接続できないdevicely start がまだ実行中であることを確認し、表示されたリンクをそのまま開いてください。ページに Devicely is running, but this page can't talk to it と表示される場合、ブラウザーが HTTPS サイトから http://127.0.0.1 への接続をブロックしています。Chrome または Edge ではサイト設定で devicely-ai.vercel.app の ローカルネットワークへのアクセス を許可し、Brave ではそのサイトの Shields を下げてください。Safari の場合は Chrome、Edge、または Firefox を使用してください。ブラウザーが 30 秒以内に接続しない場合、devicely start はヒントも表示します。
npm install -g が EACCES または permission denied で失敗する、あるいは職場でブロックされるnpx devicely@latest start(および npx devicely@latest doctor)を使用してください。グローバルインストールも管理者権限も不要です。プライベートレジストリを使用している場合は、IT 部門に devicely パッケージを許可するよう依頼してください。sudo npm install -g は使用しないでください。
ポートがすでに使用されているdevicely start -p 3002 を実行してください。デフォルト以外のポートを使う場合、devicely start は開くべきリンク全体を表示します。例:https://devicely-ai.vercel.app/?api=http://127.0.0.1:3002
iPhone:WebDriverAgent の署名に失敗するDevicely は原因(署名チームがない、プロビジョニング、Developer Mode がオフ、未信頼の開発元、デバイスがロック中、タイムアウト)を示し、iOS ガイドの解決方法にリンクします。
Wi-Fi ペアリングに失敗するゲスト用、ホテル、企業の Wi-Fi では通常、デバイス間通信と mDNS がブロックされ、VPN によって通信経路が変更されます。自宅のネットワークまたはホットスポットを使うか、最初に USB でペアリングしてください。詳細

まだ解決しない場合は、devicely doctor --bundle を実行すると、サポート用の情報をまとめたファイルが(アップロードされることなく)ディスクに保存されます。このファイルを課題に添付できます。トラブルシューティングもご覧ください。


Devicely を選ぶ理由

1 つのフローを 10 台のデバイスでテストするには、通常、手作業で 10 回実行するか、分単位で課金されるクラウドデバイスを借りるか、デバイスごとのスクリプトを保守する必要があります。Devicely は異なるアプローチを採用しています。1 台のデバイスを操作するだけで、残りのデバイスも同じことを同時に実行します。

Devicelyクラウドデバイスラボスクリプトフレームワーク(Appium、Maestro、Detox)画面ミラーリング(scrcpy、Vysor)
ライブで 1 対多数のジェスチャー操作(1 回のタップ → すべてのデバイス)✅❌❌❌
1 回のライブセッションで iOS と Android を混在して使用✅❌❌❌
自分のマシンで、自分のデバイスを使用✅❌✅✅
コード不要(UI、音声、平易な英語)✅一部対応❌✅(1 台)
Flow として 1 回記録し、すべてのデバイスで再生✅一部対応❌(コードの記述が必要)❌
AI エージェント向け MCP サーバーを内蔵✅サービスにより異なるサービスにより異なる❌
Flow とロケーターをテストコードにエクスポート✅—✅❌

Devicely はテストフレームワークに取って代わるものではありません。探索、複数のデバイスでのバグ再現、ビルドのスモークテスト、テストで使用するロケーターの特定など、時間のかかる周辺作業を短縮します。


QA チーム向け

Commander Mode — 1 対多数の操作
  • コマンダーデバイスのライブミラーに、すべてのフォロワーを並べて表示します。
  • すべてのジェスチャーをブロードキャストします。タップ、長押し、スワイプ(速度を維持)、入力テキストを、すべてのフォロワーに一斉に送信します。
  • ピクセルだけに頼らず、要素を認識します。 フォロワーは、コマンダーがタッチした要素を、アクセシビリティ ID、ラベル、タイプ、UI ツリー上の位置から特定します。そのため、レイアウトが異なる場合でも、iPhone でのタップが iPad や Pixel の同じボタンに届きます。
  • セッションを再起動せずに、ミラーのドロップダウンからコマンダーを切り替えられます。
  • クリック 1 回で、個々のフォロワーを参加または除外できます。
  • WebDriverAgent MJPEG による高速な iOS ミラーリング。フレームあたり約 170 KB で、スクリーンショットをポーリングする場合の約 5.8 MB と比べて小容量です。複数の iPhone が競合しないよう、iOS デバイスごとに独自の WDA ポートを割り当てます。
  • 実機のような操作感:指先カーソルと、タッチした位置に波紋を表示します。これらはコマンダーのみに表示されます。
  • アクションバーのスワイプ操作を、対象となるすべてのデバイスに一斉に送信します。
  • 没入感のある全画面表示。画面下部にコマンドバーが重ねて表示されるため、ミラーから離れる必要はありません。
Flows — ノーコード自動化

手動で 1 回実行するだけで、Devicely が再生可能な Flow として保存します。1 台のデバイスまたはデバイス群全体で再生でき、必要になったらテストコードとしてエクスポートできます。

  • ステップは生の座標ではなく、ロケーター(accessibilityId、resourceId、テキスト、タイプ、境界)として記録されます。
  • 自動待機:再生時、各ステップは要素が表示されるまで最大 10 秒待機するため、アニメーションや低速なネットワークが実行を妨げません。
  • 座標フォールバック:要素が見つからない場合、代わりにスケーリングした位置をタップし、ステップに fallback とマークします。これにより、位置がずれた箇所を確認できます。
  • 1 台のデバイスまたはデバイス群全体で並行して再生できます。
  • Flow を Maestro、Appium(Python または Java)、WebdriverIO 用にエクスポートできます。AI を使わずにそのまま CI で利用できます。
  • リスト表示またはグリッド表示で、検索やタグフィルターを使って Flow を管理できます。詳細ドロワーでは各ステップのロケーター、タイミング、結果を確認でき、エディターではステップの追加、編集、並べ替え、削除ができます。
平易な英語と音声

*「設定を起動して、下にスクロールし、カメラを開く」*と入力するか、話しかけてください。Devicely が各プラットフォームに合ったアクションに変換します。たとえば、iOS では com.apple.Preferences、Android では com.android.settings を使い、選択したすべてのデバイスで同時に実行します。音声入力は実行前に2秒間の無音を待つため、自然に話せます。

  • 実際の画面に基づいて動作します。 計画を立てる前に、AI がデバイスの画面を読み取るため、推測するのではなく、実際に表示されているボタンをタップします。
  • 実行前に確認できます。 計画はカードとして表示され、確認、編集、キャンセルができます。信頼できるようになったら、コマンドパレット(⌘K)から確認をオフにできます。
  • デフォルトで安全です。 AI の計画は最初のステップが失敗した時点で停止し、固定の待ち時間に頼らず、各要素が表示されるまで待ちます。

Settings → AI Configで AI プロバイダーを選び、Test connectionを使って実際のリクエストでキーとモデルを確認します。

プロバイダーメモ
Ollamaローカルで実行します。API キーは不要で、プロンプトがデバイスの外に送信されることもありません。
Google Gemini、Groq無料プランがあり、手軽に始められます。
OpenAI、Anthropic Claudeご自身の API キーをご利用ください。
GitHub CopilotCopilot のサブスクリプションを使用します。

各プロバイダーの現在のモデルは、設定画面に一覧表示されます。Devicely は選択したプロバイダーのみを使用し、ユーザーに知らせずに別のプロバイダーへ切り替えることはありません。

クイックアクション、インスペクター、コードのエクスポート
  • コマンドパレット(⌘K):数文字入力するだけで、任意のアクションの実行、対象デバイスの選択、コマンダーの切り替え、任意の場所への移動ができます。
  • クイックアクションパネル:テキストの送信、名前または x,y による要素のタップ、オートコンプリートを使ったアプリの起動ができます。上矢印キーと下矢印キーで、以前に入力した内容を切り替えられます。
  • UI インスペクター:任意の要素にカーソルを合わせると、アクセシビリティ ID、リソース ID、XPath、境界ボックスを確認できます。
  • セレクターを Devicely コマンド、WebdriverIO、Appium Python、Appium Javaのコードとしてワンクリックでエクスポートできます。
接続を維持するデバイス
  • ワイヤレスペアリング(Android 11+):Command Center から QR コードをスキャンするか、6桁のペアリングコードを入力します。IP アドレスを入力する必要はありません。ペアリングに失敗した場合、Devicely はネットワークがデバイス検出(mDNS)をブロックしているかを確認し、その結果を知らせます。ターミナルからは、devicely wifi pair <ip:port> <code>、続けて devicely wifi connect <ip:port>を実行します。
  • デバイスの状態を明確に表示:Android デバイスで Allow のタップを待っている場合、消えてしまうのではなく、waiting for permissionと表示されます。
  • ヘルスモニタリング:ケーブルの取り外し、再起動、ドライバーの障害を数秒以内に検出し、セッションをクリーンアップします。
  • 自動再接続:デバイスが USB または Wi-Fi で再び検出されると、すぐに再接続します。デフォルトで有効です。無効にするには、DEVICELY_AUTO_RECONNECT=0を設定します。
  • 仮想デバイス:物理デバイスの横にある UI または CLI から、Android エミュレーターと iOS シミュレーターを起動、停止できます。

AI エージェント向け(MCP サーバー)

Devicely にはModel Context Protocolサーバーが含まれており、コーディングエージェントが実際のデバイスを確認して操作できます。

エージェントが頭脳で、Devicely が手です。 MCP 経由で Devicely が独自の AI を呼び出すことはありません。エージェントが画面を読み取り、判断し、操作して、結果を確認します。2つ目のモデルも、追加の API キーも不要で、Devicely の AI 設定を行う必要もありません。

devicely mcp install claude-code      # prints the `claude mcp add` command to run
devicely mcp install cursor           # also: vscode, windsurf, gemini, claude-desktop
devicely mcp doctor                   # checks the backend, token and transports

または、Claude Code 内から Claude Code プラグインをインストールします。

/plugin marketplace add sureshkumarm8/Devicely
/plugin install devicely@devicely

または、手動で Claude Code に追加します。

claude mcp add devicely -- npx -y devicely mcp

トランスポートは2種類あります。stdio(devicely mcpを実行すると、バックエンドが起動していない場合は起動します)と、Bearer トークンで保護されたStreamable HTTPです。devicely mcp doctorを実行すると、HTTP エンドポイントを確認できます。

30 個のツール
グループツール
観察devicely_snapshot、devicely_find_elements、devicely_wait_for、devicely_get_device_logs、devicely_get_action_log
操作devicely_tap、devicely_long_press、devicely_swipe、devicely_type_text、devicely_press_key、devicely_open_url
アプリdevicely_launch_app、devicely_close_app、devicely_list_apps、devicely_install_app、devicely_uninstall_app
デバイスdevicely_list_devices、devicely_connect_device、devicely_disconnect_device、devicely_restart_device、devicely_set_passcode、devicely_doctor
フリートとフローdevicely_commander、devicely_run_commands、devicely_export_test
仮想デバイスdevicely_launch_virtual_device、devicely_stop_virtual_device
フローdevicely_save_recording、devicely_list_recordings、devicely_replay_recording

一般的なタスク向けのプロンプト:smoke_test、reproduce_bug、write_test。 ライブコンテキストを提供するリソース:devicely://devices、devicely://apps、devicely://docs/command-language、devicely://docs/agent-guide。

安全制御

設定 → AI Agents で設定します(~/.devicely/mcp.json に保存されます)。

  • 破壊的なツールはデフォルトで無効です:install_app、uninstall_app、restart_device、stop_virtual_device。有効にした場合、確認を必須にすることもできます。set_passcode はデフォルトで許可されています。ブロックするには、~/.devicely/mcp.json の disabledTools に追加してください。
  • エージェントが操作できるデバイスを限定(allowedDevices)したり、個別のツールを無効にしたり、出力から機密情報を秘匿したりできます。
  • エージェントのすべての操作は監査証跡に記録されます。
REST API

同じ機能を、同じ Bearer トークンを使って /api/v1 経由の HTTP でも利用できます。CI パイプラインやカスタムハーネスで便利です。devicely mcp token [--rotate] でトークンを表示またはローテーションできます。トークンは ~/.devicely/mcp-token に保存されます。

例

「Pixel のスナップショットを撮り、Login ボタンが表示されていることを確認して、タップし、ウェルカム画面が表示されることを確認してください。」

エージェントは devicely_snapshot と devicely_find_elements を呼び出し、devicely_tap でタップして、devicely_wait_for で結果を確認します。


CLI リファレンス

コマンド説明
devicely startサーバーを起動し(ループバック 127.0.0.1 にバインド)、Command Center を開きます
devicely start --host <addr>特定のインターフェースにバインドします(例:LAN アクセスには --host 0.0.0.0)
devicely start -p <port>別のポートを使用します(例:3001 が使用中の場合)。そのポート用の ?api= を含む Command Center の完全なリンクを表示します
devicely start --no-browserブラウザーを開きません(CI、ヘッドレスマシン向け)。表示されたリンクを自分で開いてください
devicely start --usb-only / --wifi-onlyUSB 上のデバイスのみ、または Wi-Fi 上のデバイスのみを検出します
devicely start --launch <name>サーバーの起動時に仮想デバイスを起動します
devicely start --debugデバッグログを有効にします
devicely start --https --ssl-key <key.pem> --ssl-cert <cert.pem>HTTPS/WSS で配信します(または DEVICELY_HTTPS=true、DEVICELY_SSL_KEY、DEVICELY_SSL_CERT を設定します)。証明書を読み込めない場合は起動を拒否します。ローカルで信頼されている証明書を使用してください(例:mkcert localhost 127.0.0.1)。ブラウザーは自己署名証明書を通知なしにブロックします
devicely list [--verbose]接続されている iOS および Android デバイスを一覧表示します
devicely exec "<command>" [-d <name>]すべてのデバイスでコマンドを実行します。-d を指定すると、1 台のデバイスで実行します
devicely doctorNode、adb、Xcode、iOS ツールを確認し、各問題に対する修正コマンドを提示します。利用可能なものが何もインストールされていない場合は 1 で終了します
devicely doctor --jsonスクリプトや CI 向けに、同じ確認結果を JSON 形式で表示します
devicely doctor --bundle編集済みのサポートバンドルをディスクに書き込みます(アップロードは行われません)
devicely wifi pair <ip:port> <code>ワイヤレスデバッグ › ペア設定コードでデバイスをペア設定 に表示されるコードを使って、Android 11 以降のデバイスをペア設定します
devicely wifi connect <ip:port>ワイヤレスデバッグ に表示されるアドレスを使って、ペア設定済みの Android デバイスに Wi-Fi 経由で接続します
devicely telemetry status|enable|disableオプトイン方式のセットアップ診断設定を表示または変更します(詳細)
devicely emulators listAndroid エミュレーターと iOS シミュレーターを一覧表示します(エイリアス:devicely virtual)
devicely emulators start <name> [--headless]仮想デバイスを起動します
devicely emulators stop <name>仮想デバイスをシャットダウンします
devicely mcp [--url <url>] [--no-autostart]MCP stdio サーバーを実行します
devicely mcp doctorMCP の準備状況を確認します
devicely mcp token [--rotate]エージェントトークンを表示またはローテーションします
devicely mcp install <client>claude-code、claude-desktop、cursor、vscode、windsurf、または gemini を設定します
正規コマンドセット(DSL)

Devicely は、iOS と Android で決定論的な複数行またはセミコロン区切りのコマンド DSL を実行します。

動詞構文プラットフォーム説明
launchlaunch <app|package>iOS, Androidプリセット名またはバンドル/パッケージ ID を指定してアプリケーションを起動します
killkill <app|package>iOS, Androidアプリケーションを強制停止/終了します
clickclick <text|x,y>iOS, Androidテキスト、アクセシビリティ ID、または座標の組を指定して要素をタップします
longpresslongpress <text|x,y>iOS, Android要素または座標を長押しします
swipeswipe <up|down|left|right>iOS, Android指でスワイプします(注:scroll down は swipe up に対応します)
typetype <text>iOS, Android現在フォーカスされている入力フィールドにテキストを入力します
enterenterAndroidEnter/送信キーを押します(iOS では type が Return キーを押します)
homehomeiOS, Androidホーム画面に移動します
backbackiOS, Android前の画面に戻ります
screenshotscreenshotiOS, Androidデバイスの画面をキャプチャします
lock / unlocklock, unlockiOS, Androidデバイスの画面をロックまたは起動/ロック解除します
urlurl <https://...>iOS, Androidデフォルトのブラウザーで URL を開きます
WAITWAIT <ms>iOS, Android指定したミリ秒数だけ実行を一時停止します
notificationsnotificationsiOS, Android通知センター/通知シェードを開きます
quicksettingsquicksettingsiOS, Androidコントロールセンター/クイック設定を開きます
recentrecentiOS, Androidアプリスイッチャーを開きます
rotaterotateiOS画面を回転します
volumevolume <up|down>Android音量を変更します
getLocatorsgetLocatorsAndroid現在の画面の UI アクセシビリティツリーをダンプします
install / clearinstall <apk>, clear <package>AndroidAPK をインストールするか、アプリのデータを消去します
uninstalluninstall <app|package>iOS, Androidアプリケーションを削除します
restart / shutdownrestart, shutdowniOS, Androidデバイスを再起動または電源オフします

exec のコマンド例:

devicely exec "launch settings"
devicely exec "launch settings; swipe up; launch camera"
devicely exec "url https://github.com" -d "Pixel 8"

対応プラットフォーム

対応
ホストマシンmacOS と Linux、Node.js 20.9 以降。Windows はまだサポートされていません。
AndroidADB と UIAutomator2 を使用するスマートフォン、タブレット、エミュレーター。ワイヤレスデバッグには Android 11 以降が必要です。
iOS / iPadOSWebDriverAgent を使用する iOS/iPadOS 17 以降の iPhone、iPad、シミュレーター。Xcode を搭載した Mac が必要です。実機では開発者モードを有効にする必要があります。
iOS のセットアップ

iPhone、iPad、シミュレーターは、Appium のオープンソーステストランナーである WebDriverAgent(WDA)を通じて操作します。Add your first device からワンクリックで取得するか、Devicely のデータフォルダーに自分でクローンしてください。

git clone https://github.com/appium/WebDriverAgent ~/.devicely/WebDriverAgent

(DEVICELY_DATA_DIR を設定している場合は $DEVICELY_DATA_DIR/WebDriverAgent を使用します。WDA_PATH を設定すると、別の場所にあるチェックアウトを Devicely に指定できます。)シミュレーターにはそれ以上の準備は必要ありません。

実機では、Apple ID を使って Xcode で WDA に一度署名する必要もあります。無料の Apple ID でも使用できますが、署名は 7 日後に期限切れになります。アプリ内ガイドでは、コンピューターの信頼、開発者モードの有効化、署名の手順を説明します。また、接続に失敗した場合は理由(署名チームなし、プロビジョニング、開発者モードがオフ、信頼されていない開発者、デバイスがロック中、タイムアウト)と修正方法へのリンクが表示されます。詳しい手順:iOS device guide。Android デバイスでは署名は必要ありません。


プライバシーとセキュリティ

  • ローカルで実行されます。 Devicely サーバーはお使いのマシン上で実行され、デバイスと直接通信します。アプリ、スクリーンショット、テストデータがどこかにアップロードされることはありません。
  • デフォルトではループバックにバインドします。 サーバーはデフォルトで 127.0.0.1 にバインドし、意図しないローカルネットワークへの公開からホストマシンを保護します。
  • Origin と Host のガード。 REST API と WebSocket エンドポイントへのリクエストは、信頼されていない Host ヘッダーと Origin ヘッダーから保護され、DNS リバインディングやクロスオリジン攻撃を防ぎます。
  • ローカル AI も選択できます。 Ollama を使えば、プロンプトと画面データをお使いのマシン上に保持できます。クラウド AI プロバイダーを使う場合、コマンドはご自身の API キーでそのプロバイダーに送信されます。
  • API キーはお使いのマシンに保存されます。 設定で追加した AI キーは ~/.devicely/.env(または $DEVICELY_DATA_DIR/.env)に保存され、ご本人のみが読み取れます(0600)。選択した AI プロバイダーにのみ送信されます。
  • エージェントにはトークンが必要です。 HTTP 経由の MCP と REST API には、32 バイトの Bearer トークンが必要です。
  • **アナリティクス:**ローカルサーバーはテレメトリーを送信しません。ホスト型ダッシュボード devicely-ai.vercel.app は匿名の Vercel ページビューアナリティクスを使用し、ローカルサーバーに接続します。デバイスデータが Vercel に送信されることはありません。
  • セットアップ診断はオプトインです。 Command Center では、匿名のセットアップイベント(例:「doctor check failed: adb missing」や「first device action succeeded」)の共有について、確認が一度だけ表示されます。送信されるのは固定コードのみです。シリアル番号、IP アドレス、デバイス名やアプリ名、ファイルパスは含まれません。許可しない限り何も送信されず、DO_NOT_TRACK=1 または DEVICELY_TELEMETRY_DISABLED=1 を設定すると無効になります。devicely telemetry status|enable|disable で確認または変更できます。すべてのイベントとフィールドは TELEMETRY.md に記載されています。

詳細はこちら:Devicely が確認できること、できないこと。脆弱性を見つけた場合は、公開 issue を作成する代わりに [email protected] までメールでご連絡ください。


バージョン 2.4.0 の新機能

  • **Flows:**記録機能が Flows になりました。一度記録すればすべてのデバイスで再生でき、Maestro、Appium、WebdriverIO にエクスポートできます。
  • **根拠に基づいた AI コマンド:**AI は計画を立てる前に画面を読み取り、確認用に計画を表示し、最初のステップが失敗した時点で停止します。また、固定の待機時間ではなく、要素が表示されるまで待機します。
  • **Command Center を再設計:**コンパクトなコマンドバー、⌘K コマンドパレット、全デバイスを対象にしたスワイプ操作、没入型の全画面表示、実機のタッチフィードバックを追加しました。
  • **MCP を簡素化:**エージェントが各ステップを自ら計画するようになりました。Devicely が MCP 経由で独自の AI を呼び出すことはなくなりました。
  • **AI プロバイダー:**最新の Gemini モデルと Groq モデル、実際に接続を確認する「Test connection」、サイレントフォールバックなし。Cohere と Mistral は削除されました。
  • **iOS 26 の修正:**ロックとロック解除が再び機能するようになり、新しいバージョン向けの iOS トンネルサポートも追加されました。
  • **セキュリティ:**既知の依存関係の脆弱性をすべて修正しました。Node.js 20.9 以降が必須になりました。

ライセンス

無料で使用できます。ソースコードは非公開です。 Devicely は、ご自身での使用にも、会社内での使用にも、無料でインストールして利用できます。このソフトウェアはプロプライエタリです。コピー、変更、リバースエンジニアリング、再配布、ホスト型サービスとしての提供、AI モデルのトレーニングへの使用は禁止されています。Devicely Free Use License をご覧ください。

Devicely が時間の節約に役立ったら、GitHub でスターを付けてください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。