OAra Labs | Docs

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.

Generated This page is produced by running 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.

FlagWhat it does
--versionshow program's version number and exit
--config CONFIGPath to prometheus.yaml config file
--once QUERYRun a single query then exit (non-interactive)
--model MODELOverride model name from config
--provider PROVIDEROverride provider (llama_cpp, ollama, anthropic)
--debugEnable debug logging
-v, --verboseShow 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-telemetryDelete telemetry.db and exit
--reset-dataDelete all user data (telemetry, memory, LCM, audit, evals, wiki, sentinel, skills/auto) and exit
--voiceStart 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)

FlagWhat it does
--fastFast path: probe local servers, write yaml + env template, done (skips identity generation and the smoke test)
--noninteractiveNo prompts (implies --fast): first detected server, CLI gateway
--gateway-onlyOnly 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

FlagWhat it does
--config CONFIGPath to prometheus.yaml (default: standard search order)
--no-scanSkip the deep anatomy scan (faster; extended checks only)
--timeout TIMEOUTProbe timeout in seconds (default 5)

oara config

Inspect Prometheus configuration

FlagWhat it does
--show-defaultsPrint the shipped config template (every documented key, with comments) to stdout

oara token

Show or rotate the web API token (PROMETHEUS_API_TOKEN)

SubcommandWhat it does
oara token showPrint the current web API token
oara token rotateGenerate a new token and persist it to the env file

oara daemon

Start always-on daemon

FlagWhat it does
--telegram-onlyOnly start Telegram adapter

oara install-service

Install the systemd user unit (daemon-reload + enable)

FlagWhat it does
--forceOverwrite an existing prometheus.service (backs it up first)
--nowAlso start the service immediately after enabling
--systemd-dir SYSTEMD_DIRTarget 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)

FlagWhat it does
--showPrint current SOUL.md
--regenerateRegenerate 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

FlagWhat it does
--from {hermes,openclaw}Source agent to migrate from
--dry-runPreview migration without writing files
--source SOURCE_PATHCustom source directory path
--overwriteOverwrite 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, -ySkip confirmation prompt

oara retention

Purge tombstoned sessions past their retention window (dry run unless --apply)

FlagWhat it does
--applyActually purge. Without this, prints the plan and exits.
--machine-days MACHINE_DAYSWindow for smoke:/bakeoff:/eval:/gym:/coding: (default 7)
--conversation-days CONVERSATION_DAYSWindow for forgotten user chats (default 90)
--db DBLCM 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)

FlagWhat it does
--applyrewrite in place (default: dry run, counts only)
--telemetry TELEMETRY—
--training TRAINING—
--trajectories TRAJECTORIES—
--lcm LCMan LCM database; repeat for more (default: the data-dir lcm.db and the legacy config-root one)
--memory MEMORYthe memory store (facts)

oara export-traces

Export golden tool-call traces to a JSONL file

FlagWhat it does
--limit LIMITMaximum number of traces to export (default: 100)
--output OUTPUTOutput directory (default: ~/.prometheus/trajectories/)
--tool TOOLFilter 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)

FlagWhat it does
--repo REPOPath to the target git repository (cloned, never touched)
--task TASK_DESCRIPTIONWhat to do, in plain language
--acceptance ACCEPTANCE_COMMANDCommand that must exit 0 for the task to count as done
--task-id TASK_IDTask id (default: generated; names the branch coding/<id>)
--max-rounds MAX_ROUNDSModel-round cap across the whole run (default: coding.max_iterations, else 30)
--max-wall-seconds MAX_WALL_SECONDSWall-clock cap for the run (default: coding.max_task_duration_minutes, else 7200)
--sandbox-parent SANDBOX_PARENTWhere the dedicated clone lives (default: ~/.prometheus/coding)
--control-dir CONTROL_DIRPer-run dir for the mid-run control file (pause/inject/resume). Absent → the control channel is OFF (default, byte-identical un-supervised behavior).
--suppress-thinkingRun 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

FlagWhat it does
--model MODELVision model override
--provider PROVIDERProvider type override
--base-url BASE_URLVision endpoint override
--fps FPSFrame extraction rate
--no-audioSkip narration transcription
--work-dir WORK_DIRSession directory (reuse to resume a crashed digest)
--forceRun 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)

FlagWhat it does
--corpus CORPUSCorpus root containing videos and a ground_truth/ dir (e.g. ~/projects/skillforge)
--model MODELVision model name (registry entry)
--provider PROVIDERProvider type for the vision model (default: llama_cpp)
--base-url BASE_URLVision model endpoint (default: http://localhost:8080)
--limit LIMITMax videos to score (0 = all)
--fps FPSFrame extraction rate
--no-audioSkip audio transcription
--forceRun even if model_registry.yaml says the model lacks vision support
--threshold THRESHOLDMean accuracy required for a PASS verdict (default: 0.75)
--output OUTPUTWrite a JSON report to this path

oara gepa

Review GEPA's skill proposals (no skill changes until you promote one)

SubcommandWhat it does
oara gepa proposalsList proposals (pending by default)
oara gepa showScores, evidence counts and the diff of one proposal
oara gepa promoteReplace the live skill with the proposal (archives the old version)
oara gepa rejectClose a proposal without changing any skill
oara gepa dry-runWhat a GEPA cycle would do now, as counts (no model calls, no writes)