An agent you can actually build on. OpenFrame pairs open smart glasses with an orchestration layer you shape — your tools, your model, your stack.



How the agent sees.

How the agent hears.

How the agent speaks. Only you hear it.

The brain your agent ships with.
The camera is its eyes. The mics are its ears. The bone-conduction speaker is its voice — private by physics. The orchestration layer ties it together: perception in, reasoning across your tools, action out. Connect the capabilities you want. Run the model you like.
Ray-Ban Meta gives you their assistant. OpenFrame gives you yours.
The same API that powers our agent, opened up. M08 today, every form factor tomorrow.
One interface across styles and manufacturers. Write once, run on every frame we ship.
Give the agent new capabilities. Register tools, wire perception to action, ship your own use case.
Camera, mics, speaker, sensors — clean, documented streams. No reverse engineering.
A clean SDK that gets out of your way. Connect, stream, build — on any device we make.
import openframe
# Connect to the glasses, open every sensor
device = openframe.connect("m08-001")
# Camera and mics, one call
device.stream(sensors=["camera", "mic"])# Teach the agent a new capability
@agent.tool
def remember_this():
"""Capture what I'm looking at and file it."""
frame = device.camera.capture()
notes.save(frame, caption=agent.ask("Describe this"))# Same code, every form factor we ship
for device in openframe.discover(capability="camera"):
device.camera.on("capture", callback=on_frame)Join the waitlist for early M08 units and the agent that comes with them.