Agent Interface GitHub
Research previewBuilt for computer-use agents

Models think.Keep the worldmoving.

A local execution layer between the model and the computer.

Designed to turn model guidance into reusable GUI skills and guarded local feedback loops. Bring the model back when the next step needs judgment.

View source

Open research · Linux/X11 evidence
Experimental. Not production-stable.

Desktop workflowVERIFIED RUN · 2× EVIDENCE PLAYBACK
6/6 exact · cold/reuse/reuse/repair/reuse/reuse · median input acknowledgement to observation 101.276 msOpen the retained report
Recording details

One fresh persistent-only run, shown at labelled 2× playback from 137 exact retained observations over 47.472 seconds. Unchanged intervals hold the latest observation. The run used 26,531 input tokens, made three model generations, admitted zero stale pointers, and verified 57/57 terminal input releases. This is one successful run, not a baseline comparison.

Not every action
needs another thought.

Let the model handle intent and uncertainty. Let the runtime handle bounded execution, fresh observations, and checks before the next action.

A serial model loop

ModelActCaptureModel

Return to the model for each next step.

With Agent Interface

ModelRuntimeObserve · act · verify

Continue locally within guards. Escalate when needed.

Simplified architecture, not a live trace or a performance comparison.

01 / COMPILE

Keep useful work.

Represent grounded targets and bounded steps as reusable skills, rather than starting over.

02 / EXECUTE

Close the local loop.

Observe, act, and check the result locally within an admitted program.

03 / REVALIDATE

Check before acting.

Recheck bindings and guards. Refuse a stale route rather than blindly replaying it.

04 / ESCALATE

Know when to stop.

Return evidence to the model when the local path is uncertain or no longer valid.

The world keeps moving
while the model thinks.

Freedoom is the stress test for the part that remains unresolved: bounded local control while slower model decisions are still pending.

The retained Astra-low attempt below ended in death without a MAP01 exit. It stays visible as failure evidence; later renewal and guard experiments are measured separately.

Inspect the failed run & limitations
Real-time showcase / FreedoomFAILED RUN · 2× PLAYBACK
Retained Astra-low attempt. Death, no MAP01 exit. Not a live demo.Inspect the run & limitations
Recording details

One frozen Astra-low attempt, shown in full at labelled 2× playback: 149.911 seconds, 13 decisions, one kill, then death without a MAP01 exit. The clock advanced at 35.016 tics/s. Fixed cover expired before seven model returns; later renewal work is measured separately.

A research preview.
Not a finished platform.

The code, experiments, and limitations belong together. Explore the work as it stands, including the attempts that did not work.

Available now

Source, a pinned setup path, retained desktop evidence, and a labelled failed real-time recording. Current real-app evidence is Linux/X11.

In progress

Bounded live threat exposure, fresh local policy guards, and a continuously advancing Freedoom MAP01 clear.

Outside the claim

Production reliability, universal GUI support, and general speed or cost savings. APIs and behavior may change.

A better interface starts
with a harder question.

Building agents that use computers? Bring a workflow. Challenge an assumption.

Propose an idea