Image to make: The agent loop. Diagram of one turn: camera frame and new events (speech, skill feedback, inputs) go into the Innate agent, which sends them with the agent’s prompt and skills to the model, then acts by running a skill, speaking, or waiting. Show the agent file feeding prompt, skills, and inputs into the loop. Replaces the old system diagram, which still says “B.A.S.I.C.” and has “TKTK” labels.
One turn at a time
The agent works in turns, one at a time:- Look. Take the latest camera frame and everything new since the last turn: what you said, what a skill reported, what an input sent.
- Think. Send that to the model with the agent’s prompt, and its skills described as tools.
- Act. Run a skill, say something, or wait.
execute() signature becomes the parameters and guidelines() becomes the description. A few tools are always there:
Watch it think
The web app’s Brain page shows every turn: the frames it saw, what it decided, and how long it took. Click INSPECT TURN to see the full request. It’s the fastest way to learn why the robot did something.
Which model runs it
The loop uses Gemini (gemini-3.6-flash by default, set in config/settings.yaml). Choose how to reach it in ~/innate-os/.env:

