DataMind Oda usually runs as the desktop app, and it can also run from a command line. Use the command line to start Oda in a named profile: serve its interface in a browser, answer one task and exit, or host a client of your own.
A command-line Oda runs in a profile: a named setup of Oda that decides how that run works. Each profile keeps its own folder under the Oda home folder, and starting the same name again reuses that setup.
Start one from a terminal:
oda --profile web
Oda ships five profiles:
| Profile | What it starts |
|---|---|
web | The Oda interface in a browser on this computer. |
headless | Answers one task and exits. |
sdk | A runtime for Oda SDK clients. |
sdk-minimal | A small standalone runtime for SDK clients. |
acp | A server for automation clients that speak the Agent Client Protocol. |
The serving profiles and their clients are described on Automation clients.
--from-default-profile <template>, for example oda rescue --from-default-profile web, then start oda rescue. A name that is already shipped or already exists is refused.profile "<name>" does not exist and points to the command that adds a package to that name.desktop; starting it, inspecting it or managing its packages from a command line is refused, because the app manages that profile.select a profile only once.--patch <path> lays one of your own files over the profile; it needs a path, or Oda stops with error: --patch needs a path.-- argument needs the doubled form -- --.How a profile stacks its layers, and what the other flags do, are on Oda profiles and launchers and Command line and flags.
The headless profile answers one task and exits, without opening the app:
oda --profile headless "summarise the latest changes"
- reads standard input too.The full contract, including the JSON event stream: Headless runs.
Name an earlier chat with --session-id, plus the new task:
oda --profile headless --session-id <id> "carry on with the task"
The refusals in full are on Headless runs.
A profile's packages are managed by the plugin command:
oda plugin --profile <name> add <package>
add, remove and update work the same way.The same command is walked through on Oda profiles and launchers.
Oda can show what a profile will run, without starting anything:
--dump-config prints the settings as Oda composes them, with a comment on each row naming the layer it came from and any overlay that changed it.--dump-default-config prints only what Oda ships, without your own layers.--dump-config-schema prints the declared schemas instead of values. Nothing starts and no expressions are evaluated, but the output can still contain sensitive defaults: Review output before sharing.oda --profile web serves the Oda interface to a browser on this computer, prints its address, and opens that address in your default browser. Started over a remote connection, Oda prints the address and skips the handoff.
--no-open starts it without opening a browser; the address still prints.127. 0. 0. 1, and binding every network interface is refused for safety.--host, --port, --trusted-host change the bound host, the port, and any extra hostname you reach the interface under.Starting it and signing in: The Oda web interface; working in the browser: Oda in the browser.
oda --help prints the launcher's own help and exits without starting anything.oda --profile web --help prints that mode's help instead and starts nothing; the flags after a profile name belong to the mode you start.-V, --version prints the release version.Press Ctrl+C to ask Oda to stop: it gets up to five seconds to settle, then stops. If it has not stopped yet, press Ctrl+C again to end it at once; an end you ask for this way reports exit code 130.
A named setup of Oda that decides how a run works: which layers Oda stacks and which of your own settings apply. Each profile lives in its own folder under the Oda home folder, and starting the same name again reuses the same setup.
Oda sets it up from the template it ships and then starts it, so you do not prepare the five shipped names by hand. Any other name is not created by itself: the start stops and points to the command that adds a package to that name.
--profile?Yes, when the profile name is the first word: oda web means oda --profile web. One word is special: plugin in the first position is the plugin command, so a profile named plugin needs the full form, oda --profile plugin.
desktop refused?That name belongs to the desktop app's own profile, and the app manages it. Starting it, inspecting its configuration or managing its packages from a command line is refused, so pick another name for a profile of your own.
Press Ctrl+C. Oda gets up to five seconds to settle and then stops; a second Ctrl+C ends it at once. An end you ask for this way reports exit code 130.
Some packages build while they are installed, and the package manager blocks that build until you allow it. The command prints the exact setting to add to the settings file inside the profile's folder; add it, then run the command again.
select a profile only once mean?Oda reads the command line once, and it selects a profile only once: a second --profile is refused with that message. A --patch without a path is refused the same way: error: --patch needs a path. Fix the line and start again.
Yes: add --no-open. Oda still prints the interface's address, so you can open it yourself or copy it to a browser. The Oda web interface covers the printed address.