Reference
CLI reference
Every subcommand and flag, read back out of the parser rather than typed by hand — so this page cannot quietly fall behind the code.
oara <command> --help for every command the parser reports and rendering the result. Regenerate it with python3 gen-cli.py > docs-src/cli.body.html. If a subcommand is added and nobody files it under a heading, the generator aborts rather than dropping it.
Captured from Prometheus 0.9.5. The binary is also installed as prometheus; the two are the same entry point and oara is the name that is going to stay.
Global options
These sit before the subcommand and apply to the whole run.
| Flag | What it does |
|---|---|
--version | show program's version number and exit |
--config CONFIG | Path to prometheus.yaml config file |
--once QUERY | Run a single query then exit (non-interactive) |
--model MODEL | Override model name from config |
--provider PROVIDER | Override provider (llama_cpp, ollama, anthropic) |
--debug | Enable debug logging |
-v, --verbose | Show INFO logs on the console in chat/--once mode (they always land in ~/.prometheus/logs/cli.log; the console default is WARNING so the reply isn't buried in operator logging) |
--setup | [alias for `oara setup`] Run first-time setup wizard |
--setup-gateway-only | [alias for `oara setup --gateway-only`] Add or change gateway only |
--reset-telemetry | Delete telemetry.db and exit |
--reset-data | Delete all user data (telemetry, memory, LCM, audit, evals, wiki, sentinel, skills/auto) and exit |
--voice | Start interactive mode with voice in/out enabled (push-to-talk via Enter). |
Everyday
The six you will actually type.
oara setup
First-run setup wizard (the one canonical path)
| Flag | What it does |
|---|---|
--fast | Fast path: probe local servers, write yaml + env template, done (skips identity generation and the smoke test) |
--noninteractive | No prompts (implies --fast): first detected server, CLI gateway |
--gateway-only | Only add or change a messaging gateway (rich wizard) |
--target-dir TARGET_DIR | [fast path] config directory override (default: standard location) |
--timeout TIMEOUT | [fast path] per-server probe timeout in seconds (default 1.0) |
--provider NAME | [fast path, implies --noninteractive] use THIS cloud provider (anthropic, deepseek, glm, kimi, mimo, openai, qwen) instead of a local server. Its API key must already be in your environment or in the env file — never on the command line. |
--api-key-env VAR | [fast path] read the cloud key from $VAR instead of the provider's default variable |
--model MODEL | [fast path] model name for --provider (default: the provider's preset) |
--probe-url URL | [fast path] probe THIS inference-server URL instead of the four well-known localhost ports — for servers on non-standard ports, remote boxes, and CI stubs (FIRSTLIGHT harness). Both known API shapes (OpenAI-compatible and Ollama) are tried at the URL. |
oara doctor
Diagnose the install: config, server, model, web, token, dirs
| Flag | What it does |
|---|---|
--config CONFIG | Path to prometheus.yaml (default: standard search order) |
--no-scan | Skip the deep anatomy scan (faster; extended checks only) |
--timeout TIMEOUT | Probe timeout in seconds (default 5) |
oara config
Inspect Prometheus configuration
| Flag | What it does |
|---|---|
--show-defaults | Print the shipped config template (every documented key, with comments) to stdout |
oara token
Show or rotate the web API token (PROMETHEUS_API_TOKEN)
| Subcommand | What it does |
|---|---|
oara token show | Print the current web API token |
oara token rotate | Generate a new token and persist it to the env file |
oara daemon
Start always-on daemon
| Flag | What it does |
|---|---|
--telegram-only | Only start Telegram adapter |
oara install-service
Install the systemd user unit (daemon-reload + enable)
| Flag | What it does |
|---|---|
--force | Overwrite an existing prometheus.service (backs it up first) |
--now | Also start the service immediately after enabling |
--systemd-dir SYSTEMD_DIR | Target directory (default: ~/.config/systemd/user) |
Data and identity
Things that touch what Prometheus has stored about you.
oara identity
Manage identity files (SOUL.md, AGENTS.md)
| Flag | What it does |
|---|---|
--show | Print current SOUL.md |
--regenerate | Regenerate SOUL.md and AGENTS.md interactively |
oara vault
Inspect or adopt the brain vault's format marker
No options beyond -h.
oara migrate
Import data from Hermes Agent or OpenClaw
| Flag | What it does |
|---|---|
--from {hermes,openclaw} | Source agent to migrate from |
--dry-run | Preview migration without writing files |
--source SOURCE_PATH | Custom source directory path |
--overwrite | Overwrite existing Prometheus files (archives originals) |
--preset {user-data,full} | Migration preset (default: user-data, excludes secrets) |
--skill-conflict {skip,overwrite,rename} | How to handle skill name collisions |
--yes, -y | Skip confirmation prompt |
oara retention
Purge tombstoned sessions past their retention window (dry run unless --apply)
| Flag | What it does |
|---|---|
--apply | Actually purge. Without this, prints the plan and exits. |
--machine-days MACHINE_DAYS | Window for smoke:/bakeoff:/eval:/gym:/coding: (default 7) |
--conversation-days CONVERSATION_DAYS | Window for forgotten user chats (default 90) |
--db DB | LCM database path (defaults to the configured one) |
oara scrub
Redact secrets already kept in telemetry, training, trajectory, LCM and memory stores (dry run unless --apply)
| Flag | What it does |
|---|---|
--apply | rewrite in place (default: dry run, counts only) |
--telemetry TELEMETRY | — |
--training TRAINING | — |
--trajectories TRAJECTORIES | — |
--lcm LCM | an LCM database; repeat for more (default: the data-dir lcm.db and the legacy config-root one) |
--memory MEMORY | the memory store (facts) |
oara export-traces
Export golden tool-call traces to a JSONL file
| Flag | What it does |
|---|---|
--limit LIMIT | Maximum number of traces to export (default: 100) |
--output OUTPUT | Output directory (default: ~/.prometheus/trajectories/) |
--tool TOOL | Filter by tool name (default: all tools) |
Specialised
Narrow tools. Each is a whole workflow behind one verb.
oara code
Run a coding task in a sandboxed clone (iterate-to-green)
| Flag | What it does |
|---|---|
--repo REPO | Path to the target git repository (cloned, never touched) |
--task TASK_DESCRIPTION | What to do, in plain language |
--acceptance ACCEPTANCE_COMMAND | Command that must exit 0 for the task to count as done |
--task-id TASK_ID | Task id (default: generated; names the branch coding/<id>) |
--max-rounds MAX_ROUNDS | Model-round cap across the whole run (default: coding.max_iterations, else 30) |
--max-wall-seconds MAX_WALL_SECONDS | Wall-clock cap for the run (default: coding.max_task_duration_minutes, else 7200) |
--sandbox-parent SANDBOX_PARENT | Where the dedicated clone lives (default: ~/.prometheus/coding) |
--control-dir CONTROL_DIR | Per-run dir for the mid-run control file (pause/inject/resume). Absent → the control channel is OFF (default, byte-identical un-supervised behavior). |
--suppress-thinking | Run with thinking suppressed (default: coding turns THINK — the addendum's highest-leverage lever) |
oara ingest-video
Turn a screen recording or YouTube URL into a skill draft for review in Beacon
| Flag | What it does |
|---|---|
--model MODEL | Vision model override |
--provider PROVIDER | Provider type override |
--base-url BASE_URL | Vision endpoint override |
--fps FPS | Frame extraction rate |
--no-audio | Skip narration transcription |
--work-dir WORK_DIR | Session directory (reuse to resume a crashed digest) |
--force | Run even if model_registry.yaml says the model lacks vision support |
oara bakeoff-vlm
Score a vision model against the annotated skill corpus (golden-SKILL.md diff, hallucination-penalized)
| Flag | What it does |
|---|---|
--corpus CORPUS | Corpus root containing videos and a ground_truth/ dir (e.g. ~/projects/skillforge) |
--model MODEL | Vision model name (registry entry) |
--provider PROVIDER | Provider type for the vision model (default: llama_cpp) |
--base-url BASE_URL | Vision model endpoint (default: http://localhost:8080) |
--limit LIMIT | Max videos to score (0 = all) |
--fps FPS | Frame extraction rate |
--no-audio | Skip audio transcription |
--force | Run even if model_registry.yaml says the model lacks vision support |
--threshold THRESHOLD | Mean accuracy required for a PASS verdict (default: 0.75) |
--output OUTPUT | Write a JSON report to this path |
oara gepa
Review GEPA's skill proposals (no skill changes until you promote one)
| Subcommand | What it does |
|---|---|
oara gepa proposals | List proposals (pending by default) |
oara gepa show | Scores, evidence counts and the diff of one proposal |
oara gepa promote | Replace the live skill with the proposal (archives the old version) |
oara gepa reject | Close a proposal without changing any skill |
oara gepa dry-run | What a GEPA cycle would do now, as counts (no model calls, no writes) |