Skip to main content
The control plane · console.openeng.app

Author once. Publish a version.
Run it on any engine with your key.

Configure OpenEng AI in the browser — a config at the center, with 20 domains around it in four groups: Building blocks, Connect, Govern, and Deploy. Freeze it into an immutable id@version, and every engine you run pulls the exact same config version. No version drift, no surprises.

Status: 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. You can explore the builder and the building blocks today; this page describes how saving, publishing, and running are built to work.

Open the Console

Preload a published config

Immutable versions Mirror, not source Secrets by reference Diff any two versions
console.openeng.app/configs/support-triage
support-triagev2.1.0
agent: qwen3-8b
planner: qwen3-14b
apiKey: ${ZENDESK_TOKEN}
+ 3 agents · 2 cells · 1 connector · custom flow
Placeholders ready · diff vs v2.0.0publish

Everything in one place

One config at the center. 20 domains around it.

In the Console, the config is the primary thing you make; everything else is a building block, a connection, or a rule that attaches to it. Here is the Console’s navigation, group by group.

Overview Configsat the top of the Console, with Configs the primary entry

Building blocks

What a config is made of — adopted from the catalogs or authored by you.

Library

All plans

Models

All plans

Agents

All plans

Skills

All plans

Templates

All plans

Loops

All plans

Schedulers

Pro

Connect

What your agent can reach — with credentials as ${ENV} names, never values.

MCP servers

All plans

Cells

All plans

Connectors

All plans

Storage points

Pro

Govern

The rails — how your agent is allowed to run.

Token limits

All plans

Directories

All plans

Defaults

All plans

Gateway

All plans

Plugins

External: Pro

Roles

Pro

Human-in-the-Loop

Pro

Deploy

How it runs — the keys and the fleet.

API keys

Pro

Sandboxes

Pro

Under Account: Plan & billing and Preferences. Plan-gated pages show a lock until your plan opens them.

The config builder

A config is built step by step.

Configs are authored in a guided builder. Each step shows its status in the rail, and every step stays open to revisit — nothing locks you in a forward-only wizard.

  1. 1

    Resources

    CPU, GPU, memory, and storage caps, as a percent of the machine.

  2. 2

    Execution flow

    Design this config’s pipeline on a canvas — or leave it empty to run the default.

  3. 3

    Models

    One model per role group.

  4. 4

    Components

    Agents, templates, skills, roles, loops, routes, cells, MCP servers, and connectors — picked from your own items.

  5. 5

    Global paths

    Where the engine keeps its data; the default is ~/.openeng.

  6. 6

    Token caps

    Per-component token budgets that prompt or stop on a breach.

  7. 7

    Settings

    Functionalities, the reviewer, the machine profile, the loop posture, and plugins.

  8. 8

    Review & publish

    Required placeholders, a diff, and publish.

The component steps list only the items in your own account — adopt from a catalog first, then select.

Publish-once

A config is a version. Versions don't change.

Publishing is immutable. Every publish requires a strictly-higher SemVer, and a published id@version always resolves to exactly the same bytes — on every machine, forever. Roll forward, never in place.

Strictly-higher SemVer

  • support-triage@2.0.0 → 2.1.0
  • Old versions stay resolvable
  • Roll back by pinning an earlier version

Diff & timeline

console.openeng.app/configs/support-triage/versions

Version timeline

  1. v2.1.0latestnow

    Swapped the planner model, added a Jira connector

  2. v2.0.03 days ago

    Authored a custom execution flow

  3. v1.4.02 weeks ago

    Lowered the reviewer’s token cap

  4. v1.0.01 month ago

    First published config

What a config resolves to

A preview, not a controller. Mirror, not source.

The Console never runs your agent — your local engine does. The control plane shows you exactly what a config will resolve to so you can verify it before you publish. The browser holds no logic and no execution power.

See it before it ships

The engine is the source of truth

Resolved by name, everywhere

Compose, don't code

Design each config's execution flow on a canvas.

Place components on four ordered tiers — intake, planning, execution, finalize — and the engine runs exactly what you drew instead of the default pipeline. Start from a preset: Minimalist (just the agent), Product ship (planner, agent, summarizer), or Detailed, the default.

console.openeng.app/configs/support-triage
ComplexityPlannerAgentReviewerSummarizer
support-triage · execution flow5 stages · valid
  • Tiers, not free nodes

    Ten components across four tiers: the complexity check at intake; the planner and plan orchestrator in planning; the agent and its helpers in execution; the reviewer and summarizer to finalize. The designer keeps the ordering legal.

  • Capabilities toggle on the agent

    Enable sub-agents, delegators, and device use on the execution stage, with a recursion-depth cap — the engine spawns them as the plan needs. Device use needs screen and input control, which ships in a later engine build.

  • Rides the config

    The flow freezes into the config’s id@version under the same strictly-higher SemVer rule. A config with no flow runs the default pipeline.

Safe by construction

An always-on floor you can layer on, never under.

Every config runs above a security floor that no config can remove. Your gateway policy and plugins compose on top of it — they can tighten, never weaken. Operators can relax the engine’s approval and sandbox defaults with environment variables; a config can’t.

The floor no config can remove

Plugins layer above it

Policy is versioned too

Secrets by reference

Configs store references, not secrets.

You write ${ENV} references in the Console. The real values come from the environment of the machine running the engine — or, only if you choose, from the optional vault, which stores a value encrypted on our servers.

References only

Resolved at the engine

Or the write-only vault, if you choose

What the Console stores vs. what runs

consoleapiKey: ${ZENDESK_TOKEN}
resolved on your machine
engineapiKey: zd_•••••••••••

The same reference resolves to whatever each machine has in its environment — dev, CI, and prod stay cleanly separated.

You stay in control

Approve the actions that matter. Choose how the loop runs.

Put a human in the loop at exactly the boundaries you choose, adopt global loops from the catalog, and set which loop strategies each config allows.

Human-in-the-Loop

  • Approvals, rules, and contacts
  • Rules ride the config version
  • Pro and above

Loops and the loop posture

  • 6 global loops, 2 needing no integration
  • 5 strategies to allow per config
  • Per-iteration review stays on

What's open, and what's Pro

The composable building blocks are open to everyone. Automation, credentials, delivery, and the governance extras unlock on Pro and above — and because the engine starts with an API key, running it needs Pro too. Pro and Enterprise are launching in Q4 2026 and can’t be purchased yet.

Every plan

  • Library, Models, Agents, Skills
  • Templates and Loops
  • MCP servers, Cells, Connectors
  • Token limits, Directories, Defaults
  • Gateway and built-in plugins

Pro and above

  • Schedulers
  • API keys — and so the AI engine
  • Sandboxes
  • Storage points
  • Roles
  • Human-in-the-Loop
  • External plugin endpoints

Questions

The Console, answered.

Not in your configs. A config stores ${ENV} references only; the values resolve from the environment of the machine running the engine. If you choose, the optional per-config vault stores a value encrypted on our servers instead: the Web Console can only write it, it is never read back into a browser, only an engine presenting your API key can fetch it, and an environment variable on the engine machine always wins.

Author your platform. Publish a version. Run it anywhere.

Explore the Console’s interface today. Once its API is deployed, configure once in the browser, freeze it into an immutable id@version, and run the exact same config version on your own machine — every time.