Skip to content

Otto 0.1.2

Choose a tag to compare

@siddharth23P siddharth23P released this 16 Sep 12:17
· 56 commits to 1cd1693983f337f29ec68887a4b2e98669636fa9 since this release

Otto as a library, and the phone as a place to work (#12, #13, #14).

Added

  • Embedding API (agent/embed.py, API_VERSION = 1): configure(home, environ=...) with a keystore mode that never writes a key file, Runtime, sessions whose run streams JSON events, and answer / cancel from another thread. OTTO_HOME / OTTO_ENV_FILE move otto's state.
  • Phone tools (agent/phone/): a device-agnostic backend protocol, a bounded screen digest that never shows a password field, and tools of which only phone_install and phone_commit change anything. Used by the Otto Android app.
  • A money guard that judges the whole page (rules v3): secure, payment, checkout and cart pages are scored from the page's structure, not from single words, with a page corpus shared with the app. Explicit pay controls are never tapped, and PIN/OTP/CVV/password fields are never typed into.
  • otto serve: the same runtime behind a token-protected WebSocket.

Changed

  • fastembed and langgraph-cli are optional extras; a missing vendor SDK disables that vendor, not the router.
  • numpy>=1.26.2, so otto installs on Android CPython 3.13.
  • A connection error names its root cause, and a failed provider check logs its whole exception chain.
  • A provider that answers with a credits or quota 429 is cooled down for an hour.