Local-first desktop workbench for AI-assisted development
Terminals · Agent · MCP · Memory · Plans · Kanban · Git — in one Tauri shell
Quick Start · Features · Screenshots · Documentation · Changelog · Community · Wiki
BLXCode is an open-source desktop workbench for running AI coding agents beside real terminals, MCP tools, project memory, Markdown plans, tasks, diagrams, Git, and an embedded browser. Built with Tauri 2, Rust, Leptos, and Trunk.
Create a workspace, assign terminal slots to Claude, Codex, Gemini, OpenCode, or Cursor, connect local or remote MCP servers, manage Git worktrees, keep durable notes under .agents/, track work with plans and a Kanban board, generate and edit Mermaid diagrams, preview and diff files in the center pane, and talk to model providers from the same interface — all local-first, with data you can inspect on disk.
| 🖥️ Native shell | Tauri 2 + Leptos 0.8 WASM (Trunk) on Linux, macOS, and Windows |
| 📑 Center tabs | VS Code–style tab strip: Terminals, file preview, diff viewer, Settings |
| 🧩 Multi-terminal grids | Preset layouts, split panes, drag-and-drop slot reorder, session resume |
| 📂 Sidebar | Project Files (new file/folder), File Diff (stage, commit, push), Git graph (fetch/pull) |
| 🔔 Titlebar & status | Custom cross-platform titlebar, notification feed, process status line, Navigate and Run menus |
| ⌨️ Shortcuts | tmux-style Ctrl+b chords, command palette actions, Vim editor mode |
| 🎨 32 themes | Redesigned BLXCode, BLXCode Legacy, Dracula, Catppuccin, Nord, light variants, and more |
| 👁️ Rich preview | Images, video, Markdown, Mermaid, and CodeMirror 6 code preview/editing |
| 📜 Policy docs | LICENSE, README, CONTRIBUTING, SECURITY — rendered with hero banners |
| 🔀 Diff viewer | Unified diffs in center tabs; commit (optional AI message) from the toolbar |
| 🌿 Git sync | Fetch, pull, and push from the sidebar; VS Code–style graph; live status watcher |
| 🌱 Worktrees | Create, open, refresh, and safely remove local or SSH-remote Git worktree workspaces |
| ✂️ Code handoff | Drag-select line ranges → insert into terminal or attach to agent |
| 📋 Plan Manager | Markdown plans under .agents/plans/, auto PLANS.md index, load-into-agent |
| 📊 Kanban board | Pinned workspace board with plan/task lanes, search, DnD, Markdown write-back |
| 🧭 Mermaid diagrams | Agent-authored diagrams persisted with plans; interactive pan/zoom, source editing, Markdown/PDF export |
| 🧠 Memory | Categories, learnings, architecture map, HeartBeat Memory Indexer, 2D/3D graph |
| ✅ Tasks | AI-authored plans/tasks, .blxcode/tasks/, plan-linked grouping in the agent panel |
| 🤖 Providers | OpenRouter, Anthropic, OpenAI, Ollama, LM Studio, Hugging Face, Cloudflare, Together, Portkey |
| 🔌 MCP tools | stdio/HTTP MCP servers for the in-app agent and terminal CLIs with managed project configs |
| 🛠️ Core skills | Slim system prompt + bundled skills; shell, git, workspace search, web tools |
| 🧩 Plugins | Built-in and GitHub-installed runtime plugins discover project run/dev/test/build commands |
| 🔍 Subagents | Parallel scout / review / security_analyst runs with timeline cards |
| 🖼️ Image mode | Inline chat images; fal.ai support; output under .blxcode/generated/ |
| 🎙️ Voice | STT, TTS, push-to-talk, local Whisper; OpenAI, OpenRouter, AWS Polly |
| 📊 Turn metrics | Per-row tokens, TTFT, decode speed, context meter, compaction, session cost |
| ❓ Ask user | Multiple-choice clarifying questions inline in the chat timeline |
| 📜 Rules & skills | .agents/rules/ and .agents/skills/ with install dialog |
| 🌍 14-language UI | Compile-time translations and localized EULA |
| 🔄 Auto-updater | Signed GitHub Releases via Tauri v2 updater, including beta-channel support |
| 🛠️ Setup & release scripts | scripts/setup/ and release automation for Linux, macOS, and Windows |
| ✅ CI | PR workflow runs cargo check for backend and wasm32 frontend |
Latest release: 0.5.1 · technical changelog — Git worktree workspaces, plugin packages, a titlebar Run menu, and editable Mermaid diagrams with pan, zoom, save, and revert.
Highlights:
- Create, open, refresh, and safely remove Git worktrees as first-class local or Remote SSH workspaces.
- Use the new titlebar Run menu to discover common project commands and launch them in a fresh terminal slot.
- Manage built-in and GitHub-installed plugin packages from Settings -> Plugins.
- Pan, zoom, edit, save, and revert Mermaid diagrams directly from the Diagram gallery or
.mmd/.mermaidfile previews.
See CHANGELOG.md for the full technical history and docs/releases/ for user-facing release notes.
| Workbench | Agent panel |
|---|---|
![]() |
![]() |
| Kanban plans | Mermaid diagrams |
|---|---|
![]() |
![]() |
| Memory graph | Agent timeline |
|---|---|
![]() |
![]() |
More screenshots (welcome, workspace setup, settings, memory, canvas)
| Welcome | Workspace setup |
|---|---|
![]() |
![]() |
| Appearance | Updates & hooks |
|---|---|
![]() |
![]() |
| Workspace canvas | Swarm map |
|---|---|
![]() |
![]() |
After cloning, run the setup script for your platform:
./scripts/setup/setup-linux.sh
./scripts/setup/setup-macos.shpowershell -ExecutionPolicy Bypass -File scripts/setup/setup-windows.ps1Use --check-only to inspect missing prerequisites, or --with-bundle to run cargo tauri build after checks.
- Rust stable and Cargo
wasm32-unknown-unknownRust target- Trunk and Cargo Tauri CLI
- Tauri 2 system dependencies for your OS
rustup target add wasm32-unknown-unknown
cargo install trunk tauri-cliOn Linux, install WebKitGTK and build dependencies for your distribution.
cargo tauri devTauri starts Trunk automatically via src-tauri/tauri.conf.json. The frontend serves at http://localhost:1420.
First-build tip: Tauri's dev connection times out after 180 seconds. On slower machines, warm the WASM cache first:
trunk build cargo tauri dev
./scripts/release.sh --build --linux-arch nativeFor a plain local build without packaging helpers, run cargo tauri build.
./scripts/release.sh
./scripts/release-macos.shscripts\release.cmd
powershell -ExecutionPolicy Bypass -File scripts/release.ps1 --platform windowsCopy .env.release.example to .env.release only when you need signing keys or GitHub upload overrides.
cargo check --workspace --all-targets --all-features
cargo fmt --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo tauri buildFull index: Documentation Home · GitHub Wiki
User guides
| Topic | Guide |
|---|---|
| Getting started | docs/user/getting-started.md |
| Workspaces & center tabs | docs/user/workspaces.md |
| Settings & API keys | docs/user/settings.md |
| Themes | docs/user/appearance-themes.md |
| File preview & handoff | docs/user/file-preview.md |
| Memory & tasks | docs/user/memory-and-tasks.md |
| Plans & Kanban | docs/user/plans.md |
| Rules & skills | docs/user/rules-and-skills.md |
| BLXCode Agent | docs/user/agent-harness.md |
| Subagents | docs/user/subagents.md |
| Providers & hooks | docs/user/agent-providers.md |
| Image mode | docs/user/image.md |
| Voice | docs/user/voice.md |
| Keyboard shortcuts | docs/user/keyboard-shortcuts.md |
| UI language | docs/user/language.md |
| Building | docs/user/building.md |
| Troubleshooting | docs/user/troubleshooting.md |
Developer guides
- Setup · Architecture · BLXCode Agent · Subagents
- Tauri IPC · Voice · i18n · Themes · Contributing
.
├── src/ # Leptos CSR frontend (blxcode-ui)
├── src-tauri/ # Tauri 2 backend (blxcode)
├── content/ # EULA markdown and bundled agent hook scripts
├── src-tauri/src/agent/harness_skills/ # Embedded core skill Markdown
├── public/ # Static assets (Trunk)
├── themes/ # CSS theme tokens
├── scripts/ # Setup, release, and maintainer scripts
├── docs/ # User and developer documentation
├── Cargo.toml # Workspace manifest
├── Trunk.toml # Frontend build config
└── styles.css # Global app styling
<workspace>/.agents/memory/ # notes; subfolders = categories
<workspace>/.agents/learnings/ # repo learnings
<workspace>/.agents/plans/ # Markdown plans
<workspace>/.agents/rules/ # binding rule-*.md files
<workspace>/.agents/skills/ # user skills
<workspace>/.blxcode/tasks/ # task files
<workspace>/.blxcode/generated/ # image mode output
<workspace>/.blxcode/agent-context/ # handoff exports
API keys are stored in the OS keyring when available, with a private file fallback under the app config directory.
BLXCode ships 14 locales with compile-time string checks. Change language via Ctrl+Shift+P → BLXCode settings → App → UI language.
BLXCode is early-stage open source. The workbench, BLXCode Agent, MCP support, Kanban plans, Mermaid diagrams, Git worktrees, plugin packages, sidebar Git, memory architecture map, and settings revamp are in active use on main; APIs and on-disk formats may still evolve. Current crate version: 0.5.1.
| 🐛 Bug reports | GitHub Issues — use the Bug report template |
| 💬 Questions & ideas | GitHub Discussions — Q&A, Ideas, and General templates |
| 📦 Downloads | GitHub Releases — installers for Linux, macOS, and Windows |
| 🆘 Help | SUPPORT.md — docs, troubleshooting, and where to ask |
| 🤝 Contributing | CONTRIBUTING.md — setup, conventions, PR checklist |
The in-app auto-updater pulls signed builds from GitHub Releases. User-facing release notes: docs/releases/. Technical history: CHANGELOG.md.
Contributions welcome. Start with Developer Setup and Contributing. For code changes, open a pull request; for bugs and feature requests, use Issues or Discussions.
- Keep frontend (
blxcode-ui) and backend (blxcode) boundaries clear - Register Tauri commands in
src-tauri/src/lib.rsand add wrappers insrc/tauri_bridge.rs - Update docs when user-facing behavior changes
- Run relevant checks before opening a pull request
BLXCode is released under the MIT License.














