Repository navigation
v0.1.0
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 withcamera_capture(returns the jpeg to the model),camera_connect,camera_switch,camera_torch,camera_zoom,camera_list,camera_statusambivalencecli:pair,capture,torch,switch,zoom,cameras,status, plushub(with--tunnelfor 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 --tunnelprints - 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.