Skip to main content
The product · app.openeng.ai

The console runs in your browser.
The work runs in a sandbox on your machine.

A thin React client that streams your own engine's work over an encrypted channel — while your open-weight models run isolated in a sandbox on your machine. Nothing to install for the interface: sign in, start your engine, and it connects on its own. The browser never holds a model, a memory, or a secret.

Open the Web Console

Start your engine

openeng serve
On-device models No telemetry End-to-end encrypted Origin-locked

How it works

Three steps. No native install for the interface.

The browser console is just a renderer. Your engine does the work locally — and the two find each other on their own.

step 1 · once

Sign in once

Open app.openeng.ai and sign in with your OpenEng account. One-click browser sign-in — no password to type, no install.

step 2 · local

Start your engine

Run one command on your machine. The engine comes up holding every model, secret, and thread on-device — and dials out to OpenEng's broker so your browser can reach it.
openeng serve

step 3 · zero-click

It connects itself

The console attaches through OpenEng's broker the instant your engine comes online. Nothing to copy, paste, or configure.

The product

Chat with your agent. Watch it plan and ship.

One streaming workspace: your prompt in, a live multi-step plan and rendered output back — driven entirely by your local engine over a sealed channel.

app.openeng.ai
Migrate the users table to Postgres and update the data layer.
Planning · 4 steps
  • Map the current schema
  • Write the migration
  • Update the data-access layer
  • Update tests + docs
Ask anything…complexity 84% · planned

Zero-click connect

Sign in once, run openeng serve, and the console attaches the moment your engine comes online — through OpenEng's broker, so there's no host, port, or token to paste.

No modes — just type

The engine scores each request's complexity and self-routes plan-vs-execute. You never pick 'chat vs goal vs coding' — simple asks answer instantly, complex ones get a real multi-step plan.

Engine-owned threads

Threads live in your engine, not the browser — so the same history follows you across the Web Console, the CLI, and Desktop. One account, one timeline.

What's in the console

A focused surface: Chat to work, Settings to verify.

The Web Console is deliberately small. Chat is where you do everything; Settings is a read-only mirror so you can see exactly what your engine is running — nothing more to learn.

Chat — the product

The single workspace where you talk to your agent, watch it plan, approve permission prompts in-browser, and read streamed replies. Engine-owned threads in the rail keep your work organized.
  • Streaming replies + live plans
  • In-browser permission prompts
  • Complexity-routed, no mode picker

Settings — a transparency mirror

A read-only view of the config your engine resolved: the models, agents, and policy it's actually running. Author and change configuration in the Console — Settings just shows you the truth.
  • Read-only — mirror, not source
  • See the exact resolved config
  • Edit configuration in the Console

Security

A browser surface that can't leak — by construction.

The console talks to your engine over an end-to-end-encrypted channel, with short-lived credentials and a strict origin-locked policy. The browser never receives a model or a secret, so it can't disclose one.

  • Encrypted end-to-end

    The browser-to-engine channel is encrypted end-to-end — even the broker that relays it only ever sees ciphertext, even on your own machine.

  • Short-lived credentials

    Access credentials are scoped to the calling surface and short-lived — silently re-minted, so a captured one expires fast and can't be replayed elsewhere.

  • Origin-locked by policy

    The console is locked to a single origin — app.openeng.ai. The thin client holds no model and no secret, so it cannot leak what it was never built to hold.

The control plane

One config drives everything the console runs.

The console only renders what your engine resolves — and your engine resolves the versioned config you publish in the Console. Author it once; every surface you sign in to runs the exact same setup.

Author in the Console

Compose models, agents, execution flow, schedulers, templates, cells, plugins, and policy in the browser — Build, Connect, Govern, Deploy, one place.

Publish a version

Freeze your setup into an immutable id@version with strictly-higher SemVer. The Web Console's Settings mirrors exactly what will run — no drift.

Secrets stay local

The control plane stores ${ENV} references only — your real secrets resolve from your machine's environment, never the cloud.

One account, everywhere

The browser is one surface. Your engine has many.

The Web Console, the CLI, and Desktop are all thin clients for the same local engine and the same OpenEng account — pick whichever fits the moment; the threads and config follow you.

Web Console

Sign in at app.openeng.ai and drive your engine from any browser — nothing to install for the interface.

The engine / CLI

The same openeng binary is your engine and your terminal client — start it with openeng serve.

Desktop

A native desktop client for the same engine and account — the same engine-owned threads, in a window of their own.

Open the console. Start your engine. They meet in the middle.

Sign in, run openeng serve, and your browser console connects over a sealed channel. Everything stays on your machine.

Install the engine

curl -fsSL https://openeng.ai/engine/install.sh | bash