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.3

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.3
File Size Uploaded
otto_cli_agent-0.1.3.tar.gz 6.1 MB Details

Built distribution (wheel)

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

Total release size: 6.7 MB

Release files / otto_cli_agent-0.1.3.tar.gz

Download URL otto_cli_agent-0.1.3.tar.gz
Size 6.1 MB
Tags Source
SHA-256 checksum
How to use checksums
e49b27ae85b20f136e5d68ea49daec7f94ec6a2b5f7894b3d8a2be59b98edfdd
BLAKE2b-256 checksum
How to use checksums
fac91e9af60ee5bc9ac927c2901e53912efd537d53eedeee5462e8d061da97c9
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.3-py3-none-any.whl

Download URL otto_cli_agent-0.1.3-py3-none-any.whl
Size 648.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc0a670cb0a12c0247c2e36ed0eda4a7689256ff6c934ac21fb5e7d59e2e21b1
BLAKE2b-256 checksum
How to use checksums
37cf8157a46fb12fdb11c74d5f5fa63f83237c530fd914258093b337813dddb7
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

0.1.4

2 release files

This release

0.1.3 This release

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