Local-first desktop workbench for AI-assisted development
Terminals · Agent · Memory · Plans · Git · File preview — 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, project memory, Markdown plans, tasks, 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, keep durable notes under .agents/, track work with plans and a Kanban board, 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 tree, File Diff panel with stage/unstage, Git commit graph |
| ⌨️ Shortcuts | tmux-style Ctrl+b chords (default) or legacy direct chords |
| 🎨 20 themes | BLXCode, Dracula, Catppuccin, Nord, Rosé Pine, GitHub Dark, and more |
| 👁️ Rich preview | Images, video, Markdown, Mermaid, syntax-highlighted code (highlight.js) |
| 📜 Policy docs | LICENSE, README, CONTRIBUTING, SECURITY — rendered with hero banners |
| 🔀 Diff viewer | Unified diffs in center tabs; live refresh via filesystem watcher |
| 🌿 Git graph | Swim-lane commit history; auto-refresh on working-tree changes |
| ✂️ Code handoff | Drag-select line ranges → insert into terminal or attach to agent |
| 📋 Plan Manager | Markdown plans under .agents/plans/, task syntax, load-into-agent |
| 📊 Kanban board | Drag-and-drop columns across plan tasks with Markdown write-back |
| 🧠 Memory | Dynamic categories, learnings, 2D/3D graph with category clustering |
| ✅ Tasks | .blxcode/tasks/ with plan-linked grouping in the agent panel |
| 🤖 Providers | OpenRouter, Anthropic, OpenAI-compatible; thinking levels; OS keyring |
| 🛠️ Better Harness | Slim system prompt + 11 core skills; shell, git, workspace search, web tools |
| 🔍 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; OpenAI, OpenRouter, AWS Polly |
| 📊 Turn metrics | Per-row tokens, TTFT, decode speed, and session cost chip |
| ❓ 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 |
| 🛠️ Setup scripts | scripts/setup/ for Linux, macOS, and Windows |
| ✅ CI | PR workflow runs cargo check for backend and wasm32 frontend |
Latest release: 0.2.6 — terminal slot drag-and-drop, code preview with syntax highlighting and context-menu handoff, policy-doc preview (LICENSE, README, …), closeable Terminals tab, and documentation sync.
0.2.3 — center multi-view tabs, rich file preview, docked Settings, 20 themes, GitHub auto-updater, centralized API Keys, per-turn chat metrics, agent question cards.
0.2.0 — Kanban board, expandable Rules/Skills cards, agent chat maximize, Leptos 0.8 upgrade.
See CHANGELOG.md for the full history and Unreleased for work in progress (sidebar File Diff, center diff viewer).
| Workbench | Sidebar explorer & Git |
|---|---|
![]() |
![]() |
| Plan Manager | Agent panel |
|---|---|
![]() |
![]() |
| Memory & graph | Skills panel |
|---|---|
![]() |
![]() |
More screenshots (boot screen, settings, providers, voice)
| Welcome | Workspace setup |
|---|---|
![]() |
![]() |
| Provider settings | Voice settings |
|---|---|
![]() |
![]() |
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
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 test --workspace
cargo check -p blxcode
cargo check -p blxcode-ui --target wasm32-unknown-unknown
trunk 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 |
| Agent harness | 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 · Agent Harness · 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, agent harness, file preview, Git tooling, and settings revamp are in active use on main; APIs and on-disk formats may still evolve. Current crate version: 0.2.6.
| 🐛 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. Release notes live in 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.












