omi --help for the live version):
Command inventory
omi auth — Manage authentication: login, logout, status.
omi config — View and modify CLI configuration / profiles.
omi memory — Memories — facts and learnings about the user.
omi conversation — Conversations — captured & processed audio + text.
omi action-item — Action items — tasks and follow-ups.
omi goal — Goals — tracked progress metrics.
omi local — Local Omi Desktop API tools.
omi app — Build and test Omi apps: webhook events, samples, local receiver.
Global flags
Global flags must come before the subcommand
(
omi --json memory list, not omi memory list --json). This is a Click
framework constraint; you’ll get a friendly usage message if you put them
in the wrong place.omi auth
OAuth ID tokens are auto-refreshed before each request when the cached token
is past (or near) its expiry. You should rarely need to call
refresh by
hand. The refresh token rotates if Firebase decides to.
omi config
omi memory
Categories:
core, hobbies, lifestyle, interests, habits, work,
skills, learnings, other, system.
Visibility: public or private.
omi conversation
The
--text flag accepts - to read from stdin:
omi action-item
omi goal
Use
omi goal update ID --unit liters to set a unit label or
omi goal update ID --clear-unit to remove it. These options are mutually
exclusive. Omitting both leaves the unit unchanged.
Goal types: boolean, scale, numeric. Up to 3 active goals per user;
the oldest is deactivated automatically when you create a fourth.
omi app
Build and test an Omi app without a device. Every event is a POST to the URL
the user configures in Developer Settings; these commands replay the same
request locally and receive it locally.
Events:
memory_created, realtime_transcript, day_summary, audio_bytes,
button_event.
send exits non-zero when the receiver does not answer 2xx, so it works as a
check in CI. It also reports what Omi would do next: whether the delivery would
be retried or dropped, and for realtime_transcript whether your reply was
long enough to reach the user as a notification.
verify posts every event to one URL and prints a report card: whether Omi’s
delivery client would accept the URL at all, the status and latency per event,
whether a failure would be retried or dropped, and whether a
realtime_transcript reply would reach the user. A private or loopback host, a
redirect, or a response slower than 30 seconds all fail, because the backend
refuses the first, never follows the second, and gives up on the third. It
exits non-zero when any check fails. The events it posts are real deliveries,
so point it at staging if your app writes somewhere on receipt.