User Interface
The console is the engine's web interface: the same workflows, files, shells, and agent sessions the CLI and API reach, in a browser.
Prerequisites
The engine must be running with the console served. --console serves it and auto-enables HTTP:
sudo dxflow boot up --console
sudo. To run unprivileged, set a higher port (dxflow config set http-port 8080). See Port Binding.The Console section of the boot report names the address to open:
Engine successfully booted (use 'CTRL+C' to stop)
● Server
Socket ~/.dxflow/unix.sock
HTTP http://127.0.0.1:80 (bound to 0.0.0.0)
● Console
Address http://127.0.0.1:80 (open in a browser)
Interface overview
The dxflow interface is organized into three explorer sections — Workflows, Artifacts, and Shells — plus an Agent panel, each providing specialized functionality:
Workflows
Create workflows from a YAML definition or the hub
- Execution diagram with per-step status
- Live logs and resource usage
- Start, stop, and remove from the node menu
Artifacts
A file manager for the engine volume
- Upload, download, and organize directories
- Edit text files in the browser
- Zip and unzip archives
Getting started
Start the engine
sudo dxflow boot up --console
Open the console
- Local:
http://localhost - Remote:
http://<your-server-ip>
Sign in
Choose a method in the sign-in dialog:
- Private key — pick a session duration (1 hour or 24 hours) and select your
.pemor.keyfile. The key stays on your device, so the next sign-in is a single click, and Sign out & forget key clears it. - Pairing code — run
dxflow engine pairon the engine host, enter the code it prints, and approve the request on that terminal. Nothing is kept in the browser, so each session repeats the flow.
The menu bar shows when the session expires; once it does, the sign-in dialog returns.
Access control
- Key-based authentication: sign in with an RSA key pair; multiple authorized keys can be registered on one engine
- Pairing codes: sign a browser in from the engine host with a single use code, scoped by
dxflow engine pair --permissions - Per-key permissions: grant any of
SHELL,ARTIFACT,RUNTIME,WORKFLOW,AGENT - Read-only mode: restrict a key to non-mutating operations
- Master permission: full administrative access, including key management and engine restart
Navigation guide
Main navigation
The interface is built around a top menu bar, a collapsible explorer sidebar, a tabbed pane workspace, a right-hand agent panel, and a status bar along the bottom:
Three dropdown menus across the top of the window:
- dxflow — Engine Monitor, Engine License, and a Documentation link
- View — switch between Light/Dark theme and set the Interface Scale
- Resources — New workflow, New Artifact, and New shell
The right side of the bar shows when your session expires, with a button to sign out.
A left sidebar with three collapsible sections — Workflows, Artifacts, and Shells. The expanded/collapsed state of each section persists across reloads (at least one section stays open). Toggle the whole sidebar from the header.
The workspace opens on a Welcome tab with the engine's guide. Workflow diagrams and artifacts open as tabs in the main pane; workflow logs and shells open in the secondary pane, which can be expanded to fullscreen. When tabs overflow the toolbar width they collapse into a "more" dropdown that lists the hidden tabs, and an empty main pane offers shortcuts into the three explorer sections.
A right-hand panel holding your agent sessions and the conversation with the one you have open. Toggle it from the footer.
The footer carries the host name with a latency dot, live CPU and memory percentages, the current background activity, and toggles for the secondary pane and the agent panel.
Quick actions
Engine Monitor
Monitor System Health (dxflow → Engine Monitor)
- Host information and engine status
- CPU, Memory, Disk, and Network stat cards with sparklines and peak values
- The Network card headlines the download rate and labels the upload rate below it
Create Workflow
Run a Workflow (Resources → New workflow)
- Upload a YAML (Docker Compose-style) definition, or deploy a hub template
- Inspect the diagram and live logs
- Start, stop, and remove from the node menu
Manage Artifacts
Handle Files
- Upload and download files
- Organize with directories
- Zip / unzip and edit in the browser
Interface customization
Theme options
The View menu offers a single theme toggle that switches between Light Theme and Dark Theme (the system preference is used as the initial default). The palette is fixed — iris primary, azure secondary, zinc neutral.
Interface scale
The View → Interface Scale submenu sets the overall UI scale, with a check marking the active option. Your choice persists across reloads:
- Small · 100%
- Medium · 125%
- Large · 150%
Keyboard shortcuts
| Shortcut | Where | Action |
|---|---|---|
Enter | Rename field | Commit the new name |
Esc | Rename field | Cancel the rename |
Ctrl / Cmd + S | Artifact editor | Save the file |
Tab | Artifact editor | Insert 4 spaces |
Enter | Agent prompt | Send the message |
Shift + Enter | Agent prompt | Start a new line |
Small screens
Below 768px the console focuses on browsing workflows and artifacts:
- The sidebar covers the window and closes as soon as you open an item
- The Workflows and Artifacts sections stay available, and diagrams and files fill the main pane
- Workflow logs, shells, the agent panel, and the Interface Scale submenu run on wider screens
Browser compatibility
Works in any modern browser with WebSocket and ES6 support — Chrome/Edge 80+, Firefox 75+, Safari 13+, and their mobile equivalents.
Troubleshooting
| Problem | Check |
|---|---|
| Console won't load | Is the engine running (dxflow ping)? Does the firewall allow the port? Is the address right? |
| Stuck on the sign-in dialog | Every HTTP connection authenticates. Pairing codes are single-use and expire after 30 seconds — run dxflow engine pair again. |
| Sign-in rejects the key | The .pem you selected must be the private half of a key authorized on the engine. Check with dxflow key list, and see Authorized Key. |
| API answers but nothing renders | Hard-refresh the browser (Ctrl / Cmd + Shift + R). |
| Logs or shells never connect | Those views use WebSockets — check that a proxy in front of the engine forwards upgrade requests. |
| Session expired mid-use | The menu bar shows the expiry. Sign in again, or register a key for a renewable session. |
For more, see Troubleshooting.