DEV Community

Nat
Nat

Posted on Originally published at aidenai.io

Aiden Extends Phone Bridge to Remote Mobile Agent Benchmarks

PRs #636, #643, #655, and #656 extend Aiden's environment bridge mode so it can proxy Phone Bridge traffic between a bridge Agent and a remote Agent, giving benchmark daemons a direct relay route instead of requiring the benchmark layer to act as the final device-control endpoint.

The architecture

The bridge Agent stays the endpoint your Aiden App connects to. When an environment bridge endpoint is configured, the bridge Agent can proxy eligible traffic to a remote Agent through that route.

Foreground traffic uses bidirectional WebSocket forwarding, active communication flows both directions, and the proxy reports remote connection status. Background traffic takes a different path: commands go through the configured bridge's HTTP queue, where they're queued, polled, and routed toward the remote device environment, with results returning through the same route.

What changed in command handling

Empty command polls now return an empty array, a defined no-command response rather than an ambiguous one. Clipboard writes validate text before queueing, input validation added to the background relay path, though that doesn't confirm the write completed on the target device. Input routing (iOS keyboard actions, enter_text) skips local USB HID isolation and goes through the remote path, but only when an environment bridge endpoint is actually configured, not a general change to local HID behavior.

Benchmark daemons can now relay Phone Bridge commands through the device environment Agent, giving a benchmark a route through the device environment instead of requiring it to be the final control endpoint itself.

The distinction that matters most

Command handling states stay explicitly separate. A queued acknowledgement means the queue accepted the request. A routed command means transport directed it through the configured bridge. Neither proves the remote Agent executed it or the target device completed the action. Confirmed device-side outcome requires actual returned evidence.

Validation covered Go tests plus a manual clipboard_read round trip through benchmark relay mode, confirming one clipboard-read path was exercised and returned correctly, not universal coverage.

The boundary

Merged code with reviewed validation, not confirmation of deployment to every device, benchmark environment, or app installation, and not a claim of complete benchmark coverage or universal iOS/Android compatibility.

PRs: #636, #643, #655, #656

FAQ

What's routed through this path? App-related interactions, URL capabilities, clipboard operations, calendar commands, contact commands, and local-notification capabilities.

Does a routed command mean it executed? No — routing confirms transport, not execution. Confirmed outcome needs explicit returned evidence.

Is this a general USB HID behavior change? No — the remote-path input routing only applies when an environment bridge endpoint is configured.

Top comments (0)