Aico's default control mechanism: USB HID for input, HDMI for screen observation. The host sees a keyboard and a mouse.
But if you're running a task that needs to open an app, check a calendar, or read a contact — you don't want to navigate there visually. There's a faster path.
Here's how Phone Bridge routes actions:
Incoming agent action
│
▼
Is a software fast path available?
│
┌───┴───┐
YES NO
│ │
▼ ▼
Companion Hardware path
app API HDMI + HID
What the companion app exposes
software_fast_paths = [
"launch_app",
"clipboard_read",
"clipboard_write",
"calendar_read",
"contacts_read",
"notifications_read",
]
If the companion app is installed and supports the operation, the agent uses that path. Otherwise, full hardware fallback.
iOS-specific routing
- Dynamic Island / Live Activity → task state (fetched over USB ECM, no cloud)
- PiP → agent stays active when app backgrounded
- BLE Wake → bring idle device up for agent use
Android-specific routing
- Foreground service → agent continuity in background
- Companion app → same operations as iOS
- Hardware fallback → same conditions as iOS
Why the hybrid matters for reliability
A pure visual-control agent navigates every step — including trivial ones. Each step is a potential failure point: loading states, unexpected modals, UI updates breaking the visual model.
If the agent can get a calendar event through the companion app, the navigation step doesn't exist. Nothing to break.
This means the hardware path is reserved for operations that genuinely need visual context — where there's no software shortcut and screen observation provides real value.
The tradeoff
Phone Bridge is best with the companion app installed. That's one extra install step the original USB-only design eliminated.
For users who skip the companion app, Aico falls back to full hardware control. It still works. The companion is an upgrade, not a requirement.
Top comments (0)