Are you the author? Sign in to claim
Open-source, multi-platform harness for AI agents — a native, multi-threaded operator's console (JVM, not Electron) to r
The first open-source, multi-platform harness for AI agents — an evolvable toolbox for agents and the humans they work with.
🧪 Built for enterprises, science, and research.
⚡ Natively multi-threaded — built on the JVM, not Electron — with live hot-reload and laptop-to-supercomputer scale.
Bring your own agent — Claude Code, Codex, Gemini, or OpenCode — and give it a real browser, terminal, editor, secrets, and automation. Then decide exactly what each one is allowed to touch. Run it on your own machine, hand a live terminal to your phone with a QR code, and reshape any tool — by hand or by the agent itself — while the app keeps running.
⬇ Download · 📊 Compare · 🤖 Run an agent · 🔐 Governance · 🧰 Toolbox · 🖥️ BossTerm
Just want to download BOSS? Head to BossConsole-Releases for pre-built installers.
Built with Kotlin Multiplatform and Compose Multiplatform, BOSS unifies an embedded browser, a blazing-fast shareable terminal, a code editor, an extensible Toolbox of plugins, and a governed MCP tool layer into one desktop workspace for complex, AI-assisted work.
Every other AI-agent desktop app and agentic IDE — Claude Desktop, OpenAI Codex, Google Antigravity, Cursor, and Windsurf/Devin — is closed source, and most lock you to a single vendor's model. BOSS is the first open-source, multi-platform harness in the category: Apache-2.0, cross-platform, and built to run any agent.
The deeper difference: BOSS is both the agent's home and an agent-operable app. The same MCP layer your agent uses to do work also exposes BOSS itself — its tabs, terminals, browser, editor, git, secrets, and automation — as 100+ mcp__boss__* tools. Read-only tools (list tabs, read a pane's output, tail the console, snapshot performance, inspect git) give an agent live situational awareness of the workspace; action tools let it act on what it finds. So the agent doesn't just chat about your code — it perceives the running app and drives it, carrying out multi-step tasks autonomously.
And unlike most of the field, BOSS bundles a real embedded browser — Fluck — the agent can navigate, script, and automate (browser_navigate, browser_run_js, plus record-and-replay RPA), with logins filled from the Secret Manager and never handed to the model.
It's also native, not Electron. BOSS runs on the JVM with true multithreading and hot-reloads plugins at runtime — so an agent can evolve a tool and see it live, without restarting the app — while Claude Desktop and the VS Code-fork IDEs (Antigravity, Cursor, Windsurf/Devin) run on a single-threaded JavaScript event loop.
| BOSS | Claude Desktop | Codex | Google Antigravity | Cursor | Windsurf / Devin | |
|---|---|---|---|---|---|---|
| Open source | ✅ Apache-2.0 | ❌ | △ CLI only¹ | ❌ | ❌ | ❌ |
| Bring any agent / model | ✅ BYO agent | ❌ Claude only | ❌ OpenAI only | ✅ multi | ✅ multi + BYOK | ✅ multi + BYOK |
| MCP tools | ✅ 100+ built-in | ✅ | ✅ | ✅ | ✅ | ✅ |
| Embedded browser (agent-driven) | ✅ Fluck | △ Computer Use² | ❌ | ✅ + DevTools | ❌ | ❌ |
| Integrated terminal | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Share terminal session (QR / multi-user / E2E) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Per-tool governance (RBAC + kill-switch) | ✅ | △³ | △³ | △³ | △ Teams | △ Enterprise |
| Plugin ecosystem | ✅ Toolbox store | △ MCP extensions | △ IDE ext. | ✅ VS Code ext. | ✅ VS Code ext. | ✅ VS Code ext. |
| Hot-reload / evolvable at runtime | ✅ live plugins + Tool Evolver | ❌ | ❌ | △⁵ | △⁵ | △⁵ |
| Runtime | JVM, multi-threaded | Electron / JS⁶ | Rust (CLI) | Electron / JS⁶ | Electron / JS⁶ | Electron / JS⁶ |
| Platforms | mac · Win · Linux (x64+ARM64) | mac · Win · Linux (beta) | mac · Win · Linux⁴ | mac · Win · Linux | mac · Win · Linux | mac · Win · Linux |
✅ yes · △ partial/limited · ❌ no. ¹ Only OpenAI's Codex CLI is open source (Apache-2.0); the Codex desktop app is proprietary. ² Claude Desktop's "Computer Use" controls the whole screen rather than bundling a scriptable in-app browser. ³ Enterprise-plan admin controls exist, but fine-grained per-tool RBAC isn't documented. ⁴ Codex CLI is cross-platform; the desktop app is macOS/Windows. ⁵ VS Code-fork IDEs reload extensions via a full window reload; none offers BOSS-style live plugin hot-reload + agent-driven tool evolution. ⁶ Claude Desktop and the VS Code-fork IDEs run on Electron (Chromium + Node.js) — a single-threaded JavaScript event loop with worker/child-process offloading; BOSS runs natively on the JVM with true multithreading. Compiled from public sources, July 2026 — these products move fast, so corrections are welcome via issue or PR.
| Platform | Architecture | Download |
|---|---|---|
| macOS | Universal (Apple Silicon + Intel) | Homebrew | DMG |
| Windows | x64 | MSI |
| Windows | ARM64 | MSI |
| Linux | AMD64 | DEB | RPM | JAR |
| Linux | ARM64 | DEB | RPM | JAR |
Download links always fetch the newest release directly (via the latest-release edge function; the saved file keeps its versioned name). Release metadata as JSON — version, assets, sha256 checksums — is at ?app=boss. To browse all versions, see BossConsole-Releases.
# macOS (Homebrew — Recommended)
brew install --cask boss
# macOS/Linux (Universal Script)
curl -fsSL https://raw.githubusercontent.com/risa-labs-inc/BossConsole-Releases/main/install.sh | bash
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/risa-labs-inc/BossConsole-Releases/main/install.ps1 | iex
BOSS is agent-agnostic. Open a terminal, launch your preferred CLI, and — once attached — it gains the boss toolset automatically.
| Agent | Binary | Attach method |
|---|---|---|
| Claude Code | claude | claude mcp add --scope user --transport sse boss <url> |
| Codex | codex | codex mcp add boss --url <url>/mcp (streamable HTTP) |
| Gemini CLI | gemini | gemini mcp add boss <url> --transport sse --scope user |
| OpenCode | opencode | writes the server into ~/.config/opencode/opencode.json |
How it works: the terminal-tab plugin runs a small loopback MCP server named boss. You attach a CLI once (one click from Toolbox → MCP, or the BossTerm AI menu); BOSS then re-attaches it automatically on every restart and port change, and injects BOSS_MCP_PORT into each terminal so an agent launched inside BOSS always dials the right instance. If a CLI isn't scriptable, BOSS copies a ready-to-paste config snippet to your clipboard.
Scaffold a tool for any of them — the built-in Tool Creator generates a new plugin (build files, manifest, skeleton UI, CI) and writes its skill in all four CLI formats (.claude/, .codex/, .gemini/, .opencode/), so the repo works with whichever agent you open it with — then launches that agent in a fresh terminal to start building.
A tool-creation framework for a reinforcement layer. Together, Tool Creator and its companion Tool Evolver let an agent build and continuously improve its own capabilities: scaffold a tool, probe how it behaves (memory, leaks, logs, output), then evolve it — hot-reloaded into the running app and opened as a PR. Tools are created, measured, and reinforced in a loop, so the toolbox gets better with use.
An agent with tools is only as safe as the controls around it. BOSS is a governed environment for tool-using agents — not a black box.
mcp__boss__* tool an agent can call is listed in Toolbox → MCP, and you can toggle any of them off. The exposed set is all tools − your disabled set − permission-denied, persisted to ~/.boss/mcp-disabled-tools.json and enforced on the live server. Disable a plugin and its tools vanish from every agent instantly.secret_get tool, which you can also toggle off.)pluginId | version | sha256; a tampered or invalid signature fails closed at download and load time — a re-signed or swapped JAR won't load.Honest scope: the
bossMCP server is loopback-only and single-user (local machine), and plugins run in-process (crash-isolated, not OS-sandboxed). BOSS's guarantees are about governance — RBAC, per-tool toggles, secret scoping, and signed plugins — giving you fine-grained say over what an agent can do, rather than OS-level process sandboxing.
BOSS speaks the Model Context Protocol. The terminal-tab plugin hosts a loopback boss server (SSE over HTTP, 127.0.0.1:7677, with a fallback port walk), and every active plugin contributes tools that surface to agents as mcp__boss__<tool> — roughly 100+ tools across ~20 plugins, appearing and disappearing automatically as plugins load. A sampling:
| Area | Example tools |
|---|---|
| Terminal | run_command, run_in_sidebar, run_in_panel, list_tabs, read_scrollback, send_input |
| Code & Git | codebase_read, codebase_write, codebase_tree, git_status, git_log, git_stage, git_checkout |
| Browser | browser_navigate, browser_get_url, browser_run_js |
| Secrets | secrets_list, secret_search, secret_get, secret_create |
| Automation | flow_run, rpa_run, rpa_record_toggle, llmrpa_run, evolver_evolve |
| Productivity | bookmarks_list, bookmark_add, downloads_list, plugins_list |
Plugin authors add tools by implementing McpToolProvider (boss-plugin-api 1.0.51+). Full reference: PLUGIN_DEVELOPMENT.md in boss-plugins.
Toolbox is BOSS's built-in plugin store (a left-sidebar panel; internally the plugin-manager system plugin). Browse, install, update, and enable/disable plugins; toggle individual MCP tools; and — for admins — Create new plugins with an AI agent via Tool Creator. Plugins are hot-loaded at runtime and live in the separate boss-plugins repo.
| Plugin | What it does |
|---|---|
| Terminal Tab | Full terminal built on the BossTerm library — persistent sessions, split panes, sharing, and the boss MCP server |
| Code Editor Tab | Code editor with syntax highlighting (50+ languages), code folding, and run-gutter icons |
| Fluck Browser | Embedded web browser — zoom, security/loading indicators, downloads, and Secret Manager autofill |
| Jupyter Notebook | Cursor-style .ipynb editor running against a local Python kernel over Jupyter's ZeroMQ protocol |
| Plugin | What it does |
|---|---|
| Codebase | Browse and explore project files (codebase_* MCP tools) |
| Console | Captured stdout/stderr logs, filterable per plugin (console_* MCP tools) |
| Git Status / Git Log | Working-tree status & staged changes; commit history with a graph |
| Run Configurations | Auto-detect and run project run-configs (run_config_* MCP tools) |
| Performance | Live JVM metrics — CPU, memory, resource counts |
| Plugin | What it does |
|---|---|
| Tool Creator | Scaffold a new plugin and hand it to Claude Code / Codex / Gemini / OpenCode to build |
| Tool Evolver | Probe a plugin's memory/leaks/logs, then AI-evolve it with hot-reload + a PR (evolver_*) |
| LLM RPA | AI-powered robotic process automation (llmrpa_*) |
| RPA Engine / Recorder | Record browser interactions and replay them as automation (rpa_*) |
| ChatGPT | Embedded ChatGPT integration |
| Plugin | What it does |
|---|---|
| Secret Manager | Encrypted credential vault — website/username/password, notes, tags, 2FA, expiry. Row-level-scoped to you, browser auto-fill, and permission-gated secret_* MCP tools |
| My Secrets | Read-only view of your own and shared credentials |
| Plugin | What it does |
|---|---|
| Bookmarks | Bookmark management with global-search integration (bookmark_*) |
| Downloads | Active and completed downloads |
| Top of Mind | Quick access to frequently used items |
| Admin Role Management / Role Creation | Manage roles and permissions; build custom roles (admin) |
…and more in boss-plugins, including analytics, atlas (chat about the current page), and hardware integrations.
The terminal is powered by BossTerm — a fast, embeddable terminal emulator (also published to Maven Central as com.risaboss:bossterm-compose). Its headline feature: session sharing.
Your machine is the server: BossTerm runs a small embedded web server and streams the session to an xterm.js viewer over a WebSocket — no cloud relay, no account.
cloudflared for you, no account) or Tailscale.BOSS isn't only for shipping software. 🧬 DNA Origami Inventor is a BOSS plugin for computational nanotechnology: a researcher describes a target nanostructure in a chat-first UI, and an agent designs the DNA origami and runs oxDNA molecular-dynamics simulations to validate it — orchestrating BOSS's terminal, editor, browser, and tools end to end.
It's a concrete example of what BOSS is built for beyond coding: enterprises, science, and research — domains where an agent needs real tools, real compute, and governed access, not just a chat window.
BOSS and BossTerm share one visual language — "Operator's Console": an amber signal (#F2A93B) for what's live on a calm ink floor (#0E1217), cyan data accents, and a MesloLGS mono voice. The whole app re-skins live across three themes — Operator (dark), Daylight (light), and Clean (neutral) — and every dynamic plugin follows along.
This repository contains the source code for BOSS. For building from source and contributing, follow the instructions below.
./gradlew run # Run desktop application
./gradlew showVersion # Display current version
./gradlew test # Run tests
./gradlew build # Build application
./gradlew packageDmg # Build macOS DMG
./gradlew packageMsi # Build Windows MSI
./gradlew packageDistributionForCurrentOS # Build for current platform
/composeApp # Main Compose Multiplatform UI application
/commonMain # Cross-platform shared code
/desktopMain # Desktop-specific code (JVM)
/plugin-platform # Host-side plugin platform: loader, repository, SDK modules
/modules # Microkernel / out-of-process architecture (boss-ipc, boss-ui-sdk, …)
/server # Minimal Ktor server component
/supabase # Database migrations and Edge Functions
/docs # Documentation
The dynamic plugins themselves (terminal, editor, browser, Toolbox, …) live in the separate boss-plugins repo. BossEditor and BossTerm are standalone libraries bundled inside the
editor-tabandterminal-tabplugins respectively.
Create local.properties in the project root:
# JxBrowser (required to run the embedded browser)
jxbrowser.license.key=<your-license-key>
# Supabase (required for auth / backend)
SUPABASE_URL=https://api.risaboss.com
SUPABASE_ANON_KEY=<anon-key>
SUPABASE_FUNCTION_URL=https://api.risaboss.com/functions/v1
# GitHub (optional — 60 req/hr without)
GITHUB_TOKEN=ghp_your_token_here
Resolution order: environment variables → system properties → local.properties → build-time embedded config. There are no credential fallbacks in source; official builds embed these at build time from CI secrets, and a fork without keys still builds (browser/auth features degrade with a clear log).
boss MCP server)./gradlew showVersion # Display current version
./gradlew incrementVersion # Increment patch (9.2.0 → 9.2.1)
./gradlew incrementMinor # Increment minor (9.2.0 → 9.3.0)
./gradlew incrementMajor # Increment major (9.2.0 → 10.0.0)
All version info is stored in version.properties.
Releases build and sign for all platforms (macOS, Windows, Linux × x64/ARM64), notarize on macOS, and publish to the BOSS Plugin Store and Maven Central. Release-capable workflows are gated behind an owner-approved GitHub environment.
| Workflow | Trigger | Description |
|---|---|---|
| Release Build | Manual dispatch / v*.*.* tags | Builds, signs, notarizes, and publishes releases for all platforms |
| Build | Push to main, PRs | Cross-platform builds and tests |
| Claude Code Review | Pull requests | Automated review (org members) |
Cutting a release: Actions → Release Build → Run workflow (pick a version bump), then approve the release environment prompt.
BOSS includes a command-line interface for quick access:
boss url https://github.com # Open a URL in a browser tab
boss folder ~/Documents # Open a folder
boss file README.md # Open a file in the editor
boss terminal # Open a terminal
boss plugin bookmarks # Open a plugin panel
boss --help # Show help
Installation: Toolbox / Tools → Install BOSS CLI (or automatically via Homebrew).
mcp__boss__* toolsBOSS is developed in the open, end to end — the host app, the plugin platform, the terminal, and every tool is its own public repository.
Core & libraries
com.risaboss:bossterm-compose)Plugins — each is its own repo:
Releases — BossConsole-Releases hosts the pre-built installers for every platform.
© 2025 Risa Labs Inc. Licensed under the Apache License 2.0.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows