| Requirement | Details |
|---|---|
| Mac | macOS 14+ with Xcode 15+ |
| iPhone | iOS 17.0+, iPhone 12 or later recommended |
| Gemini API Key | From Google AI Studio |
| OpenClaw | Gateway running on a Mac on the same LAN |
| Meta Ray-Ban | Optional — iPhone camera works as fallback |
- Go to Google AI Studio
- Create or select a project
- Generate an API key
- Keep it safe — you'll enter it in the app
Note: The Multimodal Live API requires a Gemini model that supports real-time streaming (e.g.,
gemini-2.0-flash-live). Check the docs for current model availability.
OpenClaw Gateway needs to be running on a Mac on the same Wi-Fi network as your iPhone.
# Check if OpenClaw is running
openclaw gateway status
# Start it if needed
openclaw gateway startThe gateway runs at http://<your-mac>.local:18789 by default. Note your Mac's hostname — you'll need it for the app configuration.
Find your hostname:
hostname
# e.g., mikes-macbook.localOpenGlass supports three connection modes for reaching the OpenClaw Gateway:
| Mode | Description |
|---|---|
| LAN | Direct connection via local network (e.g. http://macbook.local:18789). Fastest, but requires same Wi-Fi. |
| Tunnel | Via Cloudflare Tunnel (e.g. https://kai.darlington.dev). Works from anywhere, slightly higher latency. |
| Auto (default) | Tries LAN first (2s timeout), falls back to tunnel if unreachable. Best of both worlds. |
- Set up a Cloudflare Tunnel pointing to your OpenClaw Gateway (port 18789)
- Add your tunnel domain to
Secrets.swift:static let openClawTunnelHost = "https://your-tunnel.example.com"
- In the app, go to Settings → OpenClaw Connection Mode and choose your preferred mode
- Auto mode is recommended — it uses LAN when available and falls back to the tunnel when you're away from home
In Auto mode, the app:
- Attempts to reach the LAN host with a 2-second timeout
- If reachable, caches the LAN endpoint for the session
- If unreachable, falls back to the tunnel endpoint
- If a cached endpoint fails during a request, retries with the alternate endpoint
The resolved endpoint is shown in Settings ("Connected via: LAN" or "Connected via: Tunnel").
git clone https://github.com/DarlingtonDeveloper/OpenGlass.git
cd OpenGlass
open OpenGlass.xcodeprojIn Xcode:
- Select your iPhone as the build target
- Set your development team in Signing & Capabilities
- Build and run (⌘R)
On first launch:
- Settings → Gemini: Enter your API key
- Settings → OpenClaw: Enter your Mac's gateway URL (e.g.,
http://mikes-macbook.local:18789) - Grant permissions: Camera and microphone access when prompted
If you have Meta Ray-Ban glasses:
- Ensure glasses are paired with your iPhone via the Meta View app
- In OpenGlass, go to the Glasses Connection screen
- The app will detect the glasses via the DAT SDK
- Once connected, video and audio will route through the glasses
Without glasses, the app uses the iPhone's rear camera and microphone.
- Tap Connect to start a Gemini Live session
- The default mode is Assistant — just talk naturally
- Switch modes via the mode picker or say "switch to translator mode"
- View the live transcript on screen
| Issue | Solution |
|---|---|
| Can't connect to Gemini | Check API key, check internet connection |
| Can't reach OpenClaw | Ensure gateway is running, same Wi-Fi network, check URL |
| No camera feed | Grant camera permission in Settings → OpenGlass |
| No audio | Grant microphone permission, check audio route |
| Glasses not detected | Ensure paired in Meta View app, Bluetooth enabled |