Skip to content

v0.1.0

Choose a tag to compare

@Microck Microck released this 18 Oct 20:00
· 14 commits to main since this release

first release. your coding agent gets a camera: your phone.

https://github.com/Microck/ambivalence/raw/main/.github/assets/demo.mp4

what's in it

  • ambivalence mcp: mcp server with camera_capture (returns the jpeg to the model), camera_connect, camera_switch, camera_torch, camera_zoom, camera_list, camera_status
  • ambivalence cli: pair, capture, torch, switch, zoom, cameras, status, plus hub (with --tunnel for phones off your network)
  • android app (ambivalence.apk), ios app (ambivalence-unsigned.ipa, sign it with your own team to sideload) and a browser host served by the hub

how it behaves

  • pair once: the phone shows a code, you give it to the agent, both sides show the same confirmation code, you tap confirm. after that the agent reaches the phone by itself, through app restarts and network drops
  • the app finds the hub on your wi-fi over mdns, nothing to type. on networks that block that, scan the qr code ambivalence hub --tunnel prints
  • hubs are untrusted relays. pairing is a p-256 key exchange checked by the confirmation codes, and every request, reply and frame after it is aes-256-gcm sealed in strict order, so a rogue hub can't see frames, inject requests or forge images

install

grab the binary for your platform below, or go install github.com/Microck/ambivalence/cmd/ambivalence@latest. check downloads against checksums.txt.

the apk is a debug-signed build. the browser host trusts the hub that serves it, so only use it through a hub you run.