console.openeng.app is where you configure OpenEng AI centrally: define it once, publish a version, and every engine started with one of your keys can run that configuration. No more copying setups between machines. Sign in with the same OpenEng account as everywhere else — authentication runs through auth.openeng.app (Quickstart).
Status on September 25, 2026: OpenEng AI isn't live yet
The Console and Web Console interfaces load, but the OpenEng AI API routes and the Broker aren't deployed. Nothing can be saved or published, and no AI engine can register or connect. Pro, Enterprise and pay-as-you-go launch in Q4 2026 and can't be purchased yet. This page describes OpenEng AI as it works once those services are live (status).
The idea: author → publish → resolve
- Author — build your blocks (models, agents, templates and the rest) on their pages and press Save in each editor's header. Then select them into a config in the guided config builder. Nothing changes for your engines yet.
- Publish — publish a frozen semver version of the config, after a validation gate and a human-readable diff (Configs).
- Resolve — the engine on your machine runs the version you pick for each session in the Web Console at app.openeng.app, and requests that name no config get your default config (How the engine picks up what you publish).
Because versions are frozen, you publish confidently — a client can follow
the latest or pin a known-good <id>@<version>. Until you publish your first config, no engine serves
anything.
Every page, and where its guide lives
The left nav has two pages on top, then four groups, then the Account area. Pages marked Pro explain what Pro unlocks in place of their content while your plan doesn't include them; Schedulers, Storage points, API keys and Sandboxes also carry a lock badge in the nav.
| Page | What it does | Guide |
|---|---|---|
| Overview | Your working dashboard: a first-run checklist, your configs and their publish state, building-block counts, plan meters, recent activity, and the Deploy strip | Quickstart |
| Configs | Create configs, build each one in the guided config builder (including its execution flow), publish versions, browse the version timeline | Configs |
| Building blocks | ||
| Library | Preset bundles of agents, models, skills, templates and cells; importing one adds its items to your lists and selects them on a config you choose | Library |
| Models | The one place models are created: My models (embedded, Hugging Face, Ollama, ONNX, network and provider models) and the Embedded catalog | Models & role defaults |
| Agents | Browse the agent catalog, adopt or customize, or author your own: system prompts, model bindings, delegator trees, caps, tool grants | Agents |
| Skills | Browse the skill catalog and adopt skills; configs select the ones you adopted (adopt-only for now) | Skills |
| Templates | The block composer — compose, version, and publish prompt blueprints | Templates |
| Loops | Browse the loop catalog and adopt global loops; configs select the ones you adopted (adopt-only for now). Iteration strategies are set per config, in its Settings step | Loops |
| Schedulers | Scheduled prompts meant for headless machines (Pro; the engine doesn't fire schedules yet) | Schedulers |
| Connect | ||
| MCP servers | Central MCP definitions (HTTP or stdio) with ${ENV} credentials | MCP servers |
| Cells | The cell catalog + registering read/write deployments in your cloud | Cells |
| Connectors | The connector marketplace (GitHub, GitLab, Jira, Canva, ElevenLabs and more): remote integrations, each with a declared sandbox tier, that you attach to a config (their calls don't work yet). Not the same as the engineering apps' connectors | Integrations |
| Storage points | Delivery destinations for run results (GitHub/S3/GCS/Drive/WebDAV) (Pro; nothing delivers to them yet) | Storage points |
| Govern | ||
| Token limits | Per-model / per-role / per-day budgets; a config's own per-component caps live in its builder | Limits & guardrails |
| Directories | Directory paths + trust defaults | Limits & guardrails |
| Defaults | Account settings: role-model defaults and resource caps (not a config) | Limits & guardrails |
| Gateway | Guardrail policies on top of the always-on platform floor | Limits & guardrails |
| Plugins | Gateway guards: adopt from the plugin catalog or author your own (gate, transform, observe or enrich) on the Model, Cell or Connector gateway. Built-in modules are free; external endpoints need Pro or Enterprise | Plugins |
| Roles | Behavioral rule sets from the roles catalog, with your own overlay rules on top (Pro). Not the model roles on the Models page | Behavioral roles |
| Human-in-the-Loop | Pause a run for a person at any boundary; rules, contacts and the approval queue (Pro) | Human-in-the-Loop |
| Deploy | ||
| API keys | Issue (return-once), bind, and revoke keys (scopes are recorded but not enforced yet); a key is also the OpenEng key an engine starts with (Pro) | API keys & sandboxes |
| Sandboxes | Your fleet of sandbox-mode nodes — activation, allocation, run history (Pro; no node can register yet) | API keys & sandboxes |
| Account | ||
| Plan & billing · Preferences | Your plan and a link to billing.openeng.app, the Light/Dark theme, and Sign out | Plans & billing |
The execution flow has no page of its own: you design it inside each config, in the builder's Execution flow step.
The command palette — press ⌘+K (Ctrl+K on Linux and Windows) anywhere, or click Search or jump to… in the header. It jumps to any page and carries the creation actions (New model, New agent, Register cell deployment, New config and more) plus Publish a config and Import a library.
House rules the whole Console obeys
- Secrets are placeholders — always. Anywhere a credential appears
(models, cells, MCP servers, storage points, connectors, plugins), the Console stores only an
environment-variable placeholder like
$— never the value. Pasting a raw secret is rejected outright, client-side and server-side (Security & privacy). Each engine machine supplies the values: from its environment, or from the Web Console's Placeholder values screen; the environment wins.{PROD_ CELL_ KEY} - No execution, ever. The Console never runs, tests, or pings anything. Connectivity is verified on the machine that will actually do the work — the engine.
- Honesty badges. Fields the engine does not consume yet are labeled "Not yet consumed by the engine" right in the editor — the Console never silently promises behavior the runtime doesn't have.
- Saving is explicit — with one exception. The block editors (models, agents, templates, schedulers, cell registrations) never write to the server on their own. Each has a Save button in its header: disabled with the reason while the document is invalid or unchanged, a spinner while the save is in flight, and a success/failure toast when it lands. An "Unsaved changes" chip shows the moment you diverge from the saved state, and navigating away warns you. Your in-progress edits still mirror to the browser's local storage on every keystroke (crash/navigation safety) — reopening the editor offers "Restore unsaved draft?" with restore/discard. A failed save keeps the local draft; nothing is ever lost. The exception is the config builder, which saves its draft automatically after each change. Publishing always remains a separate, reviewed step on top.
- Help lives behind ⓘ. No page has a standing right-hand rail or a raw JSON view: explanations
open from an ⓘ next to the header, and live signals (validation, required
${ENV}names) sit inline next to what they describe. - Every list row carries actions. List pages have trailing per-row Edit (pencil) and Delete (trash) icons — delete always sits behind a confirmation dialog. Configs shared with you are read-only and don't offer delete.
- The server is the enforcement boundary. Plan meters and disabled
buttons in the UI mirror the server's entitlement rules; even a crafted
request is rejected server-side (
403 entitlement_) with the true used/limit figures.exceeded
If the platform API can't be reached, a banner says so, retries automatically and offers Retry now; editors keep your draft locally meanwhile.
A sane first setup
- Create two or three agents you actually reuse (a coder, a reviewer, a note-taker).
- Register your first cell (start with a read-only one).
- Set a token limit as a guardrail.
- Open Configs, create a config, select your agents and models in the builder, and publish 1.0.0. Then start your engine with an OpenEng key and pick the config in the Web Console (Quickstart).