Agent first. Editor last.
The desktop workspace where AI agents write code in parallel — and you lead the team.
Traditional IDEs are editor first — you type, the AI assists. Onward flips this around.
In Onward, agents do the coding. You plan the work, dispatch prompts, and review what they built. The editor is there when you need it, not as the starting point.
This is for developers who run multiple AI coding agents (Claude Code, Codex ...) and need a single workspace to orchestrate them all.
The left-side Prompt Manager is where you compose, organize, and schedule the work your agents will do.
- Write and arrange prompts before dispatching — plan your work like a backlog
- Scheduled execution — set prompts to fire on a timer so agents pick up work as they become idle
- Color-tagging and pinning — mark priority, filter by status, keep frequently-used prompts at hand
- Import / Export — share prompt libraries across machines or teammates
This is the key differentiator from VS Code or single-agent tools: you manage what to do separately from who does it, enabling true parallel orchestration.
Onward natively supports running multiple AI agents side-by-side, each in its own terminal window.
- Grid layouts — single, dual, quad, or six-terminal views
- Broadcast dispatch — send prompts to selected agents simultaneously
- Independent sessions — each agent has its own working directory, context, and history
- Works with any CLI agent — Claude Code, Codex, Aider, or your custom toolchain
Agents write code in parallel. You stay in control.
After agents finish writing code, you need to review what changed. Each task gets its own integrated editor with full inspection capabilities.
- Git Diff viewer — side-by-side visual comparison of all changes
- Git History — browse commit logs and understand the evolution of each task
- Code editor — Monaco-powered (same engine as VS Code) for quick fixes
- Markdown preview — renders LaTeX, Mermaid diagrams, and syntax-highlighted blocks
- Global search — ripgrep-powered full-text search across your project
One workspace per task. Complete visibility into what every agent did.
onward-demo.mp4
Download the latest release for your platform:
| Platform | Format |
|---|---|
| macOS | .dmg, .zip |
| Windows | .exe (NSIS installer), .zip |
Onward is not code-signed with an Apple Developer certificate. macOS Gatekeeper will block the app on first launch. To allow it to run:
Option A — System Settings (recommended)
- Open the app — macOS will show "Onward 2" cannot be opened because the developer cannot be verified
- Go to System Settings → Privacy & Security
- Scroll down — you will see a message about "Onward 2" being blocked
- Click Open Anyway, then confirm
Option B — Terminal
# Remove the quarantine attribute (run once after download)
xattr -cr "/Applications/Onward 2.app"┌──────────────────────────────────────────────────┐
│ Renderer (UI) │
│ React 18 · TypeScript · Vite │
│ xterm.js (WebGL) · Monaco Editor · Mermaid │
├──────────────────────────────────────────────────┤
│ Preload (Secure Bridge) │
│ Context-isolated IPC API │
├──────────────────────────────────────────────────┤
│ Main Process (Backend) │
│ Electron 39 · node-pty · better-sqlite3 │
│ Git operations · ripgrep · File watchers │
└──────────────────────────────────────────────────┘
| Layer | Technology | Role |
|---|---|---|
| Shell | Electron 39 | Cross-platform desktop runtime |
| UI | React 18 + TypeScript | Component-based renderer |
| Build | Vite + electron-vite | Fast HMR and bundling |
| Terminal | xterm.js + WebGL addon | GPU-accelerated terminal rendering |
| PTY | node-pty | Native pseudo-terminal for each agent |
| Editor | Monaco Editor | VS Code's editing engine |
| Storage | better-sqlite3 | Local DB for prompts, settings, state |
| Search | @vscode/ripgrep | Fast full-text search |
| Rendering | Marked · Mermaid · KaTeX | Markdown, diagrams, LaTeX |
# Clone the repository
git clone https://github.com/OPPO-PersonalAI/Onward-Agent-Workbench.git
cd Onward-Agent-Workbench
# Install dependencies (also rebuilds native modules)
pnpm installpnpm dev# Development build (faster, with DevTools enabled)
rm -rf out release && pnpm dist:dev
# Production build
rm -rf out release && pnpm distThe packaged application will be output to the release/ directory.
electron/
├── main/ # Main process — PTY, Git, SQLite, file system, IPC handlers
└── preload/ # Secure bridge between main and renderer
src/
├── components/ # UI components (terminal grid, prompt manager, editor, ...)
├── hooks/ # Shared React hooks (ESC handling, shortcuts, ...)
├── i18n/ # Internationalization (en, zh-CN)
├── terminal/ # Terminal session management
├── themes/ # Color theme definitions
├── types/ # Shared TypeScript type definitions
├── utils/ # Utility functions
└── workers/ # Web Workers for background tasks
We welcome contributions. Please see CONTRIBUTING.md for guidelines.
Apache-2.0 · Copyright © 2026 OPPO
