OpenFlow is a visual builder for multi-agent AI workflows. Drag role cards onto a canvas, wire a pipeline (planner → architect → coder), save it, and run it with real parallel agents.
OpenFlow is its own project. It is built on — and ships as a fork of —
opencode, whose headless engine
(opencode serve) drives the agents underneath. All of OpenFlow's own code lives
in packages/flow; no upstream package is modified, so the
OpenCode engine stays current and upstream merges stay clean. The original
OpenCode README follows below.
Prerequisites
- Bun 1.3 or newer — the only runtime OpenFlow needs (it runs
the engine, the build, and the canvas).
bun --versionto check. - Git.
Get the code
git clone https://github.com/SeeRay11/OpenFlow.git
cd OpenFlow
bun installbun install pulls the whole workspace — the OpenCode engine plus OpenFlow's own
code in packages/flow. First install is large; it downloads the
engine's native deps and runs a postinstall that builds node-pty.
Quick start — one command starts both processes:
./openflow.ps1 # Windows (PowerShell)
./openflow.sh # macOS / LinuxThe launcher starts the engine, waits until it is listening, then opens the
canvas on http://localhost:5174; Ctrl+C stops both. Point the agents at another
repo with -Project <dir> (PowerShell) or -p <dir> (shell); pass -Built /
-b to serve the built bundle. Still log a provider in first (see below).
Or start the two processes by hand. The server first:
bun run --cwd packages/opencode --conditions=browser src/index.ts serve --port 4096Then the canvas, on http://localhost:5174:
bun run --cwd packages/flow devOr run it built, which serves the same app without vite:
bun run --cwd packages/flow build && bun run --cwd packages/flow start- Log a provider in first. The server owns the credentials and Flow inherits
them; there is no key-entry UI. Use opencode's own
providers login, provider env vars, orOPENCODE_AUTH_CONTENT. The model dropdown filling up is the signal that auth worked. - Set
OPENFLOW_PROJECTto the repo the agents should work in. It defaults to this one, and these agents write real files. - Restart
opencode serveafter "merge agents". The server reads a project'sopencode.jsononce and caches it, so freshly merged agents stay invisible until it restarts. Flow's pre-flight check refuses the run rather than letting a node execute as an agent that does not exist. - Permissions default to
auto, which approves each request for that one call. Switch the toolbar toask meif you want to see them. Every decision is written to the run log either way.
Details — endpoints, engine, data model, generated agent config — are in
packages/flow/README.md.
The open source AI coding agent.
OpenFlow is an independent fork. It is not affiliated with, sponsored by, or endorsed by the OpenCode team.
English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt
# YOLO
curl -fsSL https://opencode.ai/install | bash
# Package managers
npm i -g opencode-ai@latest # or bun/pnpm/yarn
scoop install opencode # Windows
choco install opencode # Windows
brew install anomalyco/tap/opencode # macOS and Linux (recommended, always up to date)
brew install opencode # macOS and Linux (official brew formula, updated less)
sudo pacman -S opencode # Arch Linux (Stable)
paru -S opencode-bin # Arch Linux (Latest from AUR)
mise use -g opencode # Any OS
nix run nixpkgs#opencode # or github:anomalyco/opencode for latest dev branchTip
Remove versions older than 0.1.x before installing.
OpenCode is also available as a desktop application. Download directly from the releases page or opencode.ai/download.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | opencode-desktop-mac-arm64.dmg |
| macOS (Intel) | opencode-desktop-mac-x64.dmg |
| Windows | opencode-desktop-windows-x64.exe |
| Linux | .deb, .rpm, or .AppImage |
# macOS (Homebrew)
brew install --cask opencode-desktop
# Windows (Scoop)
scoop bucket add extras; scoop install extras/opencode-desktopThe install script respects the following priority order for the installation path:
$OPENCODE_INSTALL_DIR- Custom installation directory$XDG_BIN_DIR- XDG Base Directory Specification compliant path$HOME/bin- Standard user binary directory (if it exists or can be created)$HOME/.opencode/bin- Default fallback
# Examples
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bashOpenCode includes two built-in agents you can switch between with the Tab key.
- build - Default, full-access agent for development work
- plan - Read-only agent for analysis and code exploration
- Denies file edits by default
- Asks permission before running bash commands
- Ideal for exploring unfamiliar codebases or planning changes
Also included is a general subagent for complex searches and multistep tasks.
This is used internally and can be invoked using @general in messages.
Learn more about agents.
For more info on how to configure OpenCode, head over to our docs.
If you're interested in contributing to OpenCode, please read our contributing docs before submitting a pull request.
If you are working on a project that's related to OpenCode and is using "opencode" as part of its name, for example "opencode-dashboard" or "opencode-mobile", please add a note to your README to clarify that it is not built by the OpenCode team and is not affiliated with us in any way.

