The Oda web interface

DataMind Oda can serve its interface to a browser on your computer, as the web mode. This page is the reference for starting it, the addresses it prints and how a browser signs in; for the walkthrough, see Oda in the browser, and to work in a chat there, see Chat with Oda.

Start the web mode

  1. Open a terminal on the computer where Oda runs.

  2. Start the web mode:

    sh
    oda --profile web
  3. Oda serves the interface, prints its address, and opens that address in your default browser. The interface runs until you stop it.

Add options to the start command:

OptionWhat it does
--host <host>Binds the interface to this host. Oda refuses to bind all network interfaces.
--port <port>Listens on this port; --port 0 lets the system pick a free one.
--trusted-host <authority>Accepts an extra host, or host and port, for the interface's browser checks; repeat the option for more than one.
--no-openStarts without opening a browser.

When you leave the options out, Oda binds 127.0.0.1, listens on port 3080, opens your default browser, and trusts no extra hosts.

Oda profiles and launchers covers profiles in general, and Command line and flags covers how a flag wins over the configuration.

What Oda prints

Where the interface can be reached

How a browser signs in

How Oda sees the browser session

While the interface serves a chat, Oda is told: You are interacting with the user through the DataMind Oda Web GUI at <address>.

Questions, answered

What does Oda print when the web interface starts?

The address line, oda web: <address>, with a (LAN: <address>) part when the start has a local-network address; both carry the sign-in token. When it hands off to your browser, it notes oda web: opening the default browser; pass --no-open to disable. The address prints once the interface is ready to serve.

What is the (LAN: ...) address?

A second address for the same interface over the local network, printed when the start has one. Oda reads the computer's network addresses once, when it starts, so restart the interface if they change.

Why did --host 0.0.0.0 fail?

Oda refuses to bind all network interfaces. The start stops with error: --host 0.0.0.0 is intentionally not supported yet for safety: it would expose remote code execution to the network; use 127.0.0.1 instead. Keep the local address, and add any other hostname you reach the interface under with --trusted-host.

Which defaults apply when I add no options?

Host 127.0.0.1, port 3080, the default browser opens, and no extra hosts are trusted. To let the system pick a free port, pass --port 0.

Does the printed address change between starts?

The host and port stay as set, but each start mints a fresh sign-in token. To sign a new browser in, use the address from the latest start; a browser that has already signed in keeps working from the plain address.

How does a browser sign in the first time?

Opening the exact printed address once exchanges its one-time token for a signed cookie kept by that browser, and the page reloads without the token. After that the browser opens the interface directly. The Oda web app covers the sign-in page itself.

Does Oda know it is talking to me through a browser?

Yes. Oda is told it is interacting with you through the DataMind Oda Web GUI at its address, that "this page", "this GUI" and "this app" mean this interface, and that "The browser provides no implicit DOM, route, or screenshot context." It works from the chat and its tools, not from what you see on the page.