Skip to main content

Otto

A terminal AI agent that works on a codebase, a container, a browser or a desktop, uses what it built, and judges its own work against criteria it wrote before it started. One agent loop with modes over four model vendors, a rubric-first evaluator, tiered memory, six benchmark harnesses, and 1,685 tests that need no API key. It embeds: agent.embed is the surface an app with Otto's Python inside it depends on.

One minute of otto tui

Install

pip install "otto-cli-agent[local-embeddings]"
otto doctor
otto tui

The local-embeddings extra is the on-device embedding model; without it recall uses a Gemini key when there is one, and recency otherwise. [serve] adds otto serve, the agent behind a WebSocket for the phone app.

Put keys in a .env in the directory you run it from. INCEPTION_API_KEY is required (it alone serves the fill-in-the-middle and edit endpoints); OPENAI_API_KEY, ANTHROPIC_API_KEY and GEMINI_API_KEY are optional and each unlocks the seats routed to that vendor. otto tui opens its setup screen on first start when nothing is configured. Python 3.12 or newer.

What it does

  • One agent loop with four modes that swap the model underneath without losing the conversation; routing that learns from outcomes, per-model cooldowns and a per-provider circuit breaker.
  • A rubric written from the task before any attempt, shared by the loop and the judge, so the judge never grades against the actor's own output.
  • Once-only holds before an irreversible action, before finishing on unrun code, and before finishing without using what was built.
  • 18 tools: shell and Python, files, code_map, a browser, exercise (walk through a page, a served app, a CLI, an API, a terminal program or a device app and report each step as the machine saw it), a desktop, web search, workspace search and memory recall.
  • Tiered memory with type-aware compaction and two-stage semantic recall (96% on LoCoMo), a lesson bank, and sessions that survive the process.
  • A Textual TUI with a setup screen, live progress, a token and dollar ledger; a REPL with the same pipeline.
  • Six benchmark harnesses: a golden set, SWE-bench Verified, Claw-Eval, LoCoMo, a compaction bench and Humanity's Last Exam.

MIT licensed.

Metadata

Release files for otto-cli-agent 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for otto-cli-agent 0.1.4
File Size Uploaded
otto_cli_agent-0.1.4.tar.gz 6.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for otto-cli-agent 0.1.4
File Interpreter ABI Platform
otto_cli_agent-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 MB

Release files / otto_cli_agent-0.1.4.tar.gz

Download URL otto_cli_agent-0.1.4.tar.gz
Size 6.1 MB
Tags Source
SHA-256 checksum
How to use checksums
fc932ce1db28de7942b9125a0d346206a09c9d8958d8cdb833c6a9e3b97269c6
BLAKE2b-256 checksum
How to use checksums
951393741f8473fa66ac28df056442596fdc5c56d00ec0567a57b040e6f57d6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / otto_cli_agent-0.1.4-py3-none-any.whl

Download URL otto_cli_agent-0.1.4-py3-none-any.whl
Size 660.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
844e93ce0d09f0f2e4b56adcf810281b384920e42cd46a459bbe6f69da89fcd4
BLAKE2b-256 checksum
How to use checksums
b14b4488ea3d3be66565eb2f89769c2a0399029fa46bf60691f22a4432e87ca5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page