Skip to content

Installation

Flow Studio is a Tauri 2 desktop app. A Rust backend is compiled into a native shell that hosts a React/TypeScript front end. You need both a Rust and a Node toolchain, along with your platform’s native WebView build dependencies.

DependencyVersionNotes
Rust1.77+ (stable)Install via rustup; edition 2021
Node.js20 LTS or newerRequired by Vite and the build scripts
pnpm10.xPinned via packageManager; activate with corepack
Tauri CLI2.xProvided through workspace devDependencies, no global install
Terminal window
xcode-select --install

Apple Silicon builds enable the Metal GPU backend automatically. You do not need to pass any extra flags.

  1. Activate the pinned pnpm (once per machine):

    Terminal window
    corepack enable && corepack prepare pnpm@10 --activate
  2. Install the JavaScript workspace dependencies:

    Terminal window
    pnpm install
  3. Build the Rust workspace (the first build downloads and compiles all crates):

    Terminal window
    cargo build
  4. Run the desktop app in dev mode with hot reload:

    Terminal window
    pnpm desktop:dev

The desktop app builds through Tauri’s bundler. Per-format scripts live at the workspace root: pnpm desktop:build:dmg / app / macos on macOS, deb / appimage / linux on Linux, msi / nsis / windows on Windows. Output lands under apps/frontend/src-tauri/target/release/bundle/<format>/.

Flow Studio hosts on-device models itself, so nothing leaves the host.

  1. Open the Model Hub from the Models icon in the left workspace rail.

  2. Download an LLM. Downloads stream with progress and SHA-256 verification.

  3. Press Load. The first Load resolves the llama.cpp llama-server engine automatically, with no setup on your part. It looks for a previously fetched managed engine, your saved setting, or an engine on $PATH (for example from brew install llama.cpp). If it finds none of these, it fetches a managed engine for your OS and architecture.

Per-model load settings live in the Model Hub’s Installed detail. These settings include context length, GPU offload layers, threads, flash attention, KV-cache type, and a thinking toggle for reasoning models. GPU use is controlled per model. When you set GPU offload layers above 0, the managed server uses the platform GPU, which is Metal on Apple Silicon and CUDA where available. CPU is always the safe fallback.

The flow binary runs Flow DSL on the same Rust core, and it does not need the Node toolchain.

Terminal window
cargo install --path crates/flow-cli
flow # bare command opens the TUI
flow ls # saved templates
flow run my-template # run a saved template by slug
flow generate "validate a job, then notify on-call if it fails"
flow run flow.flow --json # NDJSON event stream for CI

The CLI shares the desktop’s data directory and the OS keyring. The data directory is ~/.flow-studio/, which you can override with FLOW_STUDIO_DIR. See the CLI documentation.

The private-cloud edition serves the same UI and engine over HTTP:

Terminal window
cargo run -p flow-server # development
cargo build -p flow-server --release

See Flow Server for deployment, authentication, and the API surface.

User data lives under ~/.flow-studio/. This includes execution history in SQLite, along with settings, templates, models, and connection metadata. Secrets such as cloud AI keys and connection passwords live in the OS keyring only, never on disk. Logs live under ~/.flow-studio/logs/, and they include a JSON audit line for every shell adapter invocation.