DataMind Oda can work without the app window: a script can give it one task and read the answer, a program of yours can drive chats over standard input and output, and an automation client can manage sessions of its own. Use this page to pick the entry point and see what each one needs; the linked pages hold the full detail.
| What you have | Use | Full detail |
|---|---|---|
| A terminal or a script and one task | A one-off run | Headless runs |
| A program that should drive chats | The Oda SDK and its local protocol | Oda SDK overview |
| A tool that already speaks the Agent Client Protocol | The automation profile (acp) | Automation with ACP |
| GitHub deliveries that should start work | Webhook rules | Webhook sessions |
A one-off run (the headless mode) answers a single task and exits.
session "<id>" does not exist; omit --session-id to start a new Session.The Oda SDK serves a program of yours: a client starts an Oda runtime and talks to it over standard input and output with newline-delimited JSON-RPC messages. One runtime serves one client, from the first message until the client disconnects.
initialize with the working folder and the model route: provider, model, and, optionally, a reasoning effort and a token cap. Prompts are refused until the handshake completes.session/ prompt; the message is queued and the reply is a receipt, not an answer.session. event notifications, and session. status reports the whole agent as running until it is idle, which means the turn has settled.shutdown; the runtime flushes what it wrote and exits.sdk-minimal runtime serves an SDK client with one model adapter and a single shell tool, and it runs with full access to the computer: use it only with an isolated workspace. Automation clients covers it.The automation profile (acp) serves a client that speaks the Agent Client Protocol. One process serves one client, runs until the client disconnects, and keeps standard output for protocol messages only.
end_turn, a cancelled run as cancelled, and a run cut off at its token limit as max_tokens.A verified GitHub delivery can open a chat by itself, through the rules you set up. The chat is an ordinary chat in the folder the rule names; nothing is queued or retried behind a delivery. Webhook sessions covers what a delivery creates and its limits.
Match the entry point to what you already have. For one task from a terminal or a script, use a one-off run. For a program that should drive chats itself, use the Oda SDK. For a tool that already speaks the Agent Client Protocol, use the automation profile. All of them run Oda as its own process, and none needs the app window.
One-off runs (the headless mode), the SDK profile (sdk) with its small standalone sibling (sdk-minimal), and the automation profile (acp) for Agent Client Protocol clients. The profiles and how they are started are on Command line and flags.
Yes. Oda needs a model credential: sign in to your DataMind server, or provide a key through Settings > Models (Set up models and providers). Until a credential resolves, model requests fail.
No. A serving mode works with one client per process, and it runs until that client disconnects; give each client its own process. The same holds for an SDK runtime.
The options the connection advertises: the model selector lists the routes the deployment keeps visible, and a reasoning effort selector appears when the model declares reasoning levels. Automation with ACP covers how a change applies.
The request settles as cancelled and nothing is granted; an unknown choice never grants access either, and a failure on the client's side fails closed. The next request asks again, because no decision is remembered.
The Oda SDK protocol has no cancel and no per-session close, and an automation client cannot fork or delete sessions. Standard output must carry only protocol messages in every serving mode. Each linked page lists its own limits and unsupported surfaces.
A one-off run streams its working notes to standard error, and it can emit a JSON event stream instead of the final answer. An SDK client reads session. notifications and the running and idle statuses. An automation client receives session/ messages while the session works. The linked pages list each event vocabulary.