Local-first AI development workspace built with Tauri 2, Svelte, Rust, and on-device model sidecars.
This repository bundles a full desktop IDE, a native Rust backend for local automation and device tooling, and optional on-device model sidecars so you can iterate without cloud credentials.
This README summarizes the product features, developer quick-starts, and where to find detailed docs in the repository.
MLP walkthrough video: docs/bonsai-mlp-demo.mp4 (record with OBS following docs/VIDEO_TUTORIAL_SCRIPT.md)
Docs site: built with VitePress — run npm run docs:dev in docs/site/ to browse locally.
node bonsai-workspace/src/launch-all.mjs --mode desktop
Use the launcher builder scripts from the repository root to produce desktop artifacts:
.\BonsaiExeLauncherBuilder.ps1
Note:
npm audit fix --forcewill upgrade Svelte 4 to 5 and Vite 5 to 6, which breaks the frontend build. Only usenpm audit fix(without--force).
The builder script runs frontend and Tauri build steps, then resolves and stages the built executable. See launcher options in the script help and bonsai-workspace/launcher_manual.md.
From the repository root (recommended):
cd Z:\Projects\BonsaiWorkspace\bonsai-workspace
# Start the local Rust bot (admin API)
.\bonsai-bot\target\release\bonsai-bot.exe
# In another shell: run the desktop app (dev)
npx tauri dev
Or use the provided launchers from the workspace root:
.\Launch-BonsaiWorkspace.cmd # one-click start
.\Launch-BonsaiWorkspace.ps1 # PowerShell variant
Common modes:
.\Launch-BonsaiWorkspace.cmd -Mode desktop+usb
.\Launch-BonsaiWorkspace.cmd -Mode desktop+usb -RemoteSurfaceSmoke
Developer flow (frontend + Tauri):
cd bonsai-workspace/src
npm install
# from the workspace root Tauri finds src-tauri/tauri.conf.json
cd ..
npx tauri dev
If you prefer building a production bundle:
cd bonsai-workspace/src
npm run build
cd ../src-tauri
cargo tauri build
Bonsai Buddy — detachable assistant window controlled via Tools → Bonsai Buddy or toggle_assistant_window Tauri command.bonsai-bot) that provides an admin API for messaging integrations and automation.bonsai-bot-port.json).bonsai-bot/MAIL_SERVER_PROD_PLAN.md for the mail server rollout plan and integration notes.Agent Vision for image/video analysis workflows and Agent Connect for remote session orchestration.Android USB Lab provides a guided readiness flow: detect device, check authorization, configure reverse port, install APKs, bootstrap connection, and run regression suites.
Mobile Viewer uses scrcpy (when available) to mirror and control a connected Android device; when scrcpy is missing the UI lists candidate executable paths resolved by the backend to aid troubleshooting.
Remote Surface: a web-accessible frame + input endpoints for device streaming and input routing.
Mobile automation server: supports optional token-based authentication. The Testing Toolkit UI exposes a "Server auth token" field to supply the token when required; see SECURITY.md for recommended token storage and rotation practices.
Requirements for Android workflows: adb (Android platform tools) and, for screen mirroring, scrcpy installed on the host.
llama-server style backends and optional whisper/tts sidecars.src-tauri/binaries when present (platform-suffixed); models are stored in the platform data directory.Multi-tab PTY terminal sessions with an Activity Log tab that streams app events, tool-call traces, and diagnostics.
Activity Log instrumentation: all interactive UI controls are annotated with data-bonsai-action (format "Area:Action") so user interactions are captured with structured labels. Clickable elements in draggable titlebar regions are set to -webkit-app-region: no-drag to preserve interactivity.
assistant_commands expose Tauri calls for SMTP secrets (set_smtp_credentials, has_smtp_credentials, clear_smtp_credentials).Run the backend bot for local integration tests:
cd bonsai-bot
cargo run --release # or run the built binary in target/release
# admin API listens on 127.0.0.1:11424 by default
Start the desktop app (recommended from the bonsai-workspace root so Tauri finds src-tauri/tauri.conf.json):
cd Z:\Projects\BonsaiWorkspace\bonsai-workspace
npx tauri dev
Mobile/USB smoke tests:
# in separate shell
cd bonsai-workspace/src
npm run test:android-usb-regression
bonsai-workspace/user_manual.md and bonsai-workspace/launcher_manual.md.Runner-Streaming_System.md, Cluster-Orchestrator-Design.md, Multi-Agent_Swarm.md.bonsai-bot/MAIL_SERVER_PROD_PLAN.md. Please open PRs against main and follow the repository's CI checks. See .github/workflows for CI details.
If you'd like, I can also add a short quickstart README specifically for contributors (dev-only steps and checks). Would you like that next?