OpenBMB/PilotDeckPublic

Task-oriented AI Agent productivity platform

AI summary: A task-oriented productivity platform that orchestrates AI agents using the Model Context Protocol.

Stars
4K
+19 today
Forks
425
Watchers
12
Open issues
41
Open PRs
96
Contributors
~15
Commits
1.5K
Branches
212

TypeScriptAGPL-3.0Created May 22, 2026Last push 1d agoLatest release v260724+38 stars this week+56 this month

Star history

since May 24, 2026
01K2K3KMay 2026Jun 2026Jul 2026Aug 2026
4K stars as of Aug 7, 2026, tracked back to May 24, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 12 commits2026-05-08: 16 commits2026-05-09: 24 commits2026-05-10: 0 commits2026-05-11: 39 commits2026-05-12: 35 commits2026-05-13: 66 commits2026-05-14: 56 commits2026-05-15: 39 commits2026-05-16: 15 commits2026-05-17: 26 commits2026-05-18: 65 commits2026-05-19: 27 commits2026-05-20: 19 commits2026-05-21: 36 commits2026-05-22: 10 commits2026-05-23: 7 commits2026-05-24: 3 commits2026-05-25: 22 commits2026-05-26: 24 commits2026-05-27: 27 commits2026-05-28: 16 commits2026-05-29: 22 commits2026-05-30: 1 commit2026-05-31: 1 commit2026-06-01: 17 commits2026-06-02: 8 commits2026-06-03: 7 commits2026-06-04: 15 commits2026-06-05: 11 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 6 commits2026-06-09: 18 commits2026-06-10: 4 commits2026-06-11: 1 commit2026-06-12: 11 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 23 commits2026-06-16: 13 commits2026-06-17: 3 commits2026-06-18: 16 commits2026-06-19: 0 commits2026-06-20: 2 commits2026-06-21: 0 commits2026-06-22: 10 commits2026-06-23: 2 commits2026-06-24: 15 commits2026-06-25: 26 commits2026-06-26: 14 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 18 commits2026-06-30: 9 commits2026-07-01: 22 commits2026-07-02: 27 commits2026-07-03: 16 commits2026-07-04: 1 commit2026-07-05: 0 commits2026-07-06: 12 commits2026-07-07: 47 commits2026-07-08: 61 commits2026-07-09: 49 commits2026-07-10: 4 commits2026-07-11: 1 commit2026-07-12: 2 commits2026-07-13: 11 commits2026-07-14: 7 commits2026-07-15: 10 commits2026-07-16: 3 commits2026-07-17: 10 commits2026-07-18: 2 commits2026-07-19: 0 commits2026-07-20: 4 commits2026-07-21: 4 commits2026-07-22: 10 commits2026-07-23: 14 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 7 commits2026-07-28: 2 commits2026-07-29: 2 commits2026-07-30: 2 commits2026-07-31: 5 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 18 commits2026-08-04: 4 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
1,214 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Breakout launch

    3,957 stars in 77 days

  • Very active

    1,214 commits in 52 weeks

  • Continuous integration

    Automated checks passing

What PilotDeck does

PilotDeck provides a comprehensive workspace environment for managing and executing complex tasks using specialized AI agents. It focuses on memory evolution and operational boundaries, allowing agents to maintain persistent context across long-running projects. By natively supporting the Model Context Protocol (MCP), PilotDeck enables seamless integration with a wide array of external tools and data sources. The platform offers a unified UI to monitor agent progress, manage shared workspaces, and coordinate multi-agent workflows efficiently.

Enterprise teams, AI developers, and power users looking for a structured, persistent platform to manage multi-agent workflows.

  • MCP Native support: Natively integrates with the Model Context Protocol to easily expand agent capabilities.
  • Workspace organization: Isolates projects into distinct environments to maintain clean operational boundaries.
  • Memory evolution tracking: Persistently tracks and updates agent context, preventing amnesia during long tasks.
  • Multi-agent orchestration: Coordinates different specialized agents to collaborate on complex objectives.
  • Open source architecture: Licensed under AGPL-3.0, allowing organizations to self-host and customize the platform.

Where teams use it

Automated research teams

Users can deploy a squad of agents to autonomously gather, synthesize, and format data into ongoing reports.

Enterprise tool integration

Organizations can use the MCP support to connect agents directly to internal databases and APIs securely.

Long-term project management

Managers can set up persistent agents that maintain context over weeks to continuously monitor and update project statuses.

Getting started: Visit pilotdeck.openbmb.cn or deploy locally using the provided guides.

README

main branch

PilotDeck

Task-oriented AI Agent productivity platform — redefining operational boundaries and memory evolution, one WorkSpace at a time.

Official Website Live Demo License MCP Native Stars
Discord   Feishu   WeChat

English | 简体中文
Website · Live Demo · Tutorial · Quick Start · Highlights · Use Cases · Community


News 🔥

  • [2026.05.28] PilotDeck is now open source! Visit our official website at pilotdeck.openbmb.cn. We welcome contributions, feedback, and stars from the community.

💡 About PilotDeck

PilotDeck is an open-source agent operating system designed around the concept of "WorkSpace". It is jointly developed and open-sourced by Tsinghua University THUNLP, ModelBest, OpenBMB, and AI9Stars. Targeting general-purpose, multi-task scenarios, PilotDeck is built to be a true productivity tool for the Agent era.

A wave of excellent AI Agent harnesses has emerged in recent years, each with its own focus: Claude Code / Cursor / Trae Solo brought model reasoning deep into the programming IDE; Claude Cowork introduced the notion of project-level isolation to desktop-side knowledge work; WorkBuddy connected agents to IM ecosystems such as WeCom and Feishu so AI is one message away.

When we shift the lens from "one-shot programming" or "immediate Q&A" to long-running, multi-project productivity work, however, several questions remain open:

  • When many projects run in parallel, can memory be white-box and traceable? When the AI gets something wrong, can you pinpoint which memory entry caused it and edit it directly — without starting a new chat from scratch?
  • Can token cost be tracked per task, so that running agents in the background actually becomes economically viable?
  • Can tasks of different difficulty automatically be matched to different models, instead of burning the flagship model on trivial calls?
  • When you step away from the keyboard, can the work keep moving? Can the agent proactively discover what's worth doing, report progress, and land results as files on disk?

PilotDeck is an incremental exploration around exactly these questions. It uses the WorkSpace as the fundamental unit — completely isolating files, memory and skills per project — and pairs it with three pillar capabilities: White-box Memory, Smart Routing and Always-on. The entire system natively supports the Model Context Protocol (MCP) and behaves consistently across front-ends (Web / CLI / IM).

✨ Key Highlights

WorkSpace-Level Isolation & Accretion

Every project gets its own file system, memory store and skill set. Parallel work no longer interferes with itself, retrieval has a bounded scope, and skills accrete naturally as each task grows — no more global context pollution.

WorkSpace isolation demo

Traceable White-box Memory

Memory generation, extraction, storage and retrieval are visible end-to-end. When the AI mis-remembers, you can pinpoint and fix the offending entry. Built-in Dream Mode consolidates memory in idle windows, and supports one-click rollback.

White-box memory demo

Smart Routing & Cost Optimization

Task difficulty is auto-detected; complex calls go to flagship models (e.g. Claude 3.5 Sonnet / GPT-4o), simple ones drop to lighter models. Through on-device / cloud co-orchestration and precise matching, token spend shrinks dramatically without sacrificing quality.

Smart routing demo

Always-on Background Execution

PilotDeck breaks the "you ask, it answers" loop: after you sign off, the agent keeps discovering candidate tasks, running long-horizon monitors, and finally lands deliverables as local files with a summary report waiting for you.

Always-on execution demo

📊 Real-world Numbers

The three pillar capabilities have shown clear advantages in production-grade workflows:

1. Smart Routing — ~70% cost savings on social-media workloads

In Xiaohongshu-style social-media operations, enabling Smart Routing automatically demotes simple polishing / layout tasks to a sub-agent (e.g. Sonnet 4.5) and only invokes Opus 4.5 at planning checkpoints:

Setup Model configuration Cost Multiplier
Smart Routing ON Opus 4.5 (main) + Sonnet 4.5 (sub) $2.83 1.1×
Smart Routing OFF All Opus 4.5 (main + sub) $12.58 5.0×
Monolithic Single Opus 4.5 long-react (estimated) $12.20 4.8×

2. Smart Routing — 1/6 the cost while beating frontier models on hard tasks

The research team benchmarked 7 complex tasks (multilingual podcast push, multi-source data reports, domain-specific literature review, codebase architecture docs, etc.). The "strong main + light sub" routing setup matches or beats the frontier single-model setup at a fraction of the cost:

Setting Score Cost
MiniMax-M2.7 single-agent 37.1 $1.90
Claude Sonnet 4.6 single-agent 69.1 $18.36
Sonnet 4.6 (main) + MiniMax-M2.7 (sub) 70.6 $3.15

3. White-box Memory — layout & tone never bleed across projects

In black-box agents, mixing tasks in a shared context pool inevitably pollutes memory. PilotDeck's WorkSpace-scoped white-box memory addresses this end-to-end:

Dimension Current AI Agents (black-box) PilotDeck (white-box)
Visibility You can't see what the AI remembers, only what it outputs View every memory entry: what was stored, when, and which WorkSpace
Control Once written, memory can't be edited or removed Edit / delete entries, pin critical decisions so they don't drift
Traceability When it goes wrong, you can't find the root cause Generation → extraction → storage → retrieval, all auditable
Isolation One shared pool — projects bleed into each other Scoped per WorkSpace; A's memory never reaches B
Reversible After compression, the original is gone Dream-mode supports one-click rollback to the prior state

🖥️ UI & Demo

PilotDeck ships an out-of-the-box Web UI with full WorkSpace management, white-box memory editing, and visualization of multi-agent collaboration.

Use Cases

All demos below are generated entirely by edge-side models via PilotDeck's Smart Routing — no cloud-side frontier model required.

Work Document Generation

"Survey the Chinese LLM application market and turn it into a formal HTML white paper."

Process Result

Mini-Game Development

"Walk me through building an iOS AR mini-game Ball Finder in Vibe Coding mode."

Process Result

AI Engineering Platform Development

"Build a low-code embedding fine-tuning platform from scratch."

Process Result

Audio-Video Editing & Social Media Operations

"Push this English podcast to a global audience in Chinese / Japanese / French / Korean / Spanish / Arabic."

Process Result (with audio)
podcast_result.mp4

📦 Installation & Quick Start

We provide one-line installers for macOS / Linux and Windows PowerShell, plus a source-based workflow for developers.

Option A: One-line install (recommended, macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/OpenBMB/PilotDeck/main/install.sh | bash

The script checks/uses the supported Node.js 22 runtime (22.13+ and <23, required for the built-in SQLite runtime), clones the repo, installs dependencies, and builds the frontend. On Linux it can install missing system packages when sudo and a supported package manager are available. On macOS, make sure Xcode Command Line Tools and a Python with distutils are usable before running the installer. Once it finishes:

If Node.js or npm package downloads are slow or unreliable on your network, set reachable mirrors before running the installer:

curl -fsSL https://raw.githubusercontent.com/OpenBMB/PilotDeck/main/install.sh | \
  PILOTDECK_NODE_DIST_MIRROR=https://npmmirror.com/mirrors/node \
  NPM_CONFIG_REGISTRY=https://registry.npmmirror.com bash

You can also keep the official Node.js host as the primary source and opt in to one or more trusted fallback mirrors with PILOTDECK_NODE_DIST_FALLBACK_MIRRORS.

pilotdeck            # starts the server at http://localhost:3001
pilotdeck status     # check runtime status

To open PilotDeck again later on macOS / Linux, run pilotdeck in a terminal and open the printed URL in your browser. If your shell has not picked up the PATH update yet, open a new terminal or source your shell profile first.

pilotdeck
# then open http://localhost:3001, or the URL printed by the command

Option A2: One-line install (Windows PowerShell)

Run PowerShell as a normal user, then execute:

powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/OpenBMB/PilotDeck/main/install.ps1 | iex"

The PowerShell installer uses Windows-native paths under %USERPROFILE%\.pilotdeck, checks Node.js 22.13+ with node:sqlite, installs missing prerequisites with winget when available, builds PilotDeck, and creates a pilotdeck.cmd launcher in %USERPROFILE%\.pilotdeck\bin. Git LFS media assets are optional for the core app; if Git LFS is unavailable or times out, the installer continues without demo videos/GIFs.

After installation, the script starts PilotDeck and prints the UI URL, usually http://localhost:3001. It does not automatically open a browser, so copy that URL into your browser to finish onboarding (provider + API key). You can also open it from PowerShell:

Start-Process http://localhost:3001

If this is your first install, open a new PowerShell window after the script updates your user PATH, then run:

pilotdeck            # starts the server at http://localhost:3001
pilotdeck status     # check runtime status

To open PilotDeck again later, run pilotdeck from a new PowerShell window, then open the printed URL in your browser. If pilotdeck is not yet on PATH, run the launcher directly:

& "$HOME\.pilotdeck\bin\pilotdeck.cmd"

Windows PowerShell FAQ

npm.ps1 cannot be loaded because running scripts is disabled

This can still happen when you run development commands such as npm run dev directly in Windows PowerShell for the first time. PowerShell may resolve npm to npm.ps1, and the default execution policy can block that shim.

Fix it once for the current user, then reopen PowerShell:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

If you do not want to change the user policy, run the cmd shim explicitly instead:

npm.cmd run dev

Native dependency build errors (node-gyp, MSBuild, or Python not found)

The installer normally uses prebuilt packages for native dependencies such as node-pty, better-sqlite3, bcrypt, and sharp. On a fresh Windows machine, if npm cannot download a matching prebuild and falls back to compiling from source, install Visual Studio Build Tools with the C++ workload and Python, then rerun the installer.

GitHub returns 429: Too Many Requests while downloading install.ps1

GitHub may rate-limit repeated raw.githubusercontent.com requests from shared networks. Wait a few minutes and rerun the one-line command, or download install.ps1 from the repository and run it locally with powershell -ExecutionPolicy Bypass -File .\install.ps1.

Option B: From source (for developers)

Need platform-specific dependency installation commands? See the Source Installation Guide.

1. Clone and install dependencies

By default, skip large Git LFS demo media to keep the source install lightweight. If you need the demo videos/GIFs later, run git lfs pull after cloning.

GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/OpenBMB/PilotDeck.git
cd PilotDeck

node --version          # must be v22.13.0 or newer, and below v23
corepack enable         # enables the pinned pnpm version from package.json
corepack pnpm install --frozen-lockfile

PilotDeck uses the committed pnpm-lock.yaml for reproducible source installs. Prefer the corepack pnpm ... command above instead of npm install; on macOS, this also avoids unnecessary native rebuild fallbacks when matching prebuilt packages are available.

2. Configure a model provider

PilotDeck reads ~/.pilotdeck/pilotdeck.yaml. You can create it manually, let the bootstrap script generate one, or just open the Web UI and configure providers visually in the settings panel. Supported protocols include OpenAI, Anthropic, native Google Gemini, DeepSeek, Qwen, Kimi, MiniMax and other OpenAI-compatible endpoints.

If you do not already have a config file, prepare the Web UI onboarding flow before starting in production mode:

node scripts/bootstrap-pilotdeck-config.mjs

This initializes ~/.pilotdeck/pilotdeck.yaml for first-run onboarding so the Gateway can boot. Then open the Web UI and finish provider/API key setup in the onboarding/settings panel.

schemaVersion: 1
agent:
  model: deepseek/deepseek-v4-pro
model:
  providers:
    deepseek:
      protocol: openai
      url: https://api.deepseek.com/v1
      apiKey: sk-your-api-key

Native Gemini can be configured with protocol: google:

schemaVersion: 1
agent:
  model: google/gemini-3.1-pro-preview
model:
  providers:
    google:
      protocol: google
      url: https://generativelanguage.googleapis.com
      apiKey: ${GEMINI_API_KEY}
      models:
        gemini-3.1-pro-preview: {}

Local Ollama models can be configured without an API key. PilotDeck uses Ollama's OpenAI-compatible /v1/chat/completions endpoint:

ollama serve
ollama pull qwen3:0.6b
schemaVersion: 1
agent:
  model: ollama/qwen3:0.6b
model:
  providers:
    ollama:
      protocol: openai
      url: http://localhost:11434/v1
      models:
        qwen3:0.6b: {}

3. Start the services

cd ui && npm run dev     # dev mode (HMR), visit http://localhost:5173
# or
cd ui && npm run start   # production mode, visit http://localhost:3001

Option C: Docker Compose

If Docker is installed, you can start PilotDeck with:

docker compose up -d --build

For full Docker configuration, see README_DOCKER.md.


🛠️ Extension Protocol

PilotDeck has an open plugin architecture with a strict boundary between the open-source core and plugin customization. Extending the system is a plugin.json away:

  • MCP Servers — first-class integration with any Model Context Protocol server.
  • Tools & Skills — register custom tools, or pull community skills via ClawHub.
  • Lifecycle Hooks — intercept PreToolUse, UserPromptSubmit, and other critical lifecycle events.
  • Custom Memory — plug in your own memory store provider.

🤝 Contributing

Thanks to everyone who has contributed code, feedback, and ideas. New contributors are warmly welcome — let's build the next-gen agent OS together.

Workflow: Fork → feature branch → PR.


💬 Community

  • For bugs and feature requests, please open a GitHub Issue.
  • Join our community channels:
WeChat Community Feishu Community Discord Community
WeChat QR Feishu QR Discord QR

🙏 Acknowledgements

We thank Agent OS pioneers such as OpenClaw, Claude Code, Codex, Cursor, and Hermes for their explorations that helped shape this field.

PilotDeck builds upon the following outstanding open-source projects:


🏢 Joint Development

PilotDeck is jointly developed by Tsinghua University THUNLP, ModelBest, OpenBMB and AI9Stars.


⭐ Support Us

If PilotDeck has been helpful in your work or research, please consider giving us a Star on GitHub!


📝 Citation

@misc{pilotdeck2026,
  author       = {PilotDeck Team},
  title        = {PilotDeck: A WorkSpace-Centric Open-Source Agent Operating System},
  howpublished = {\url{https://github.com/OpenBMB/PilotDeck}},
  year         = {2026},
  note         = {Accessed: 2026-05-29}
}

📄 License

This project is licensed under the GNU Affero General Public License v3.0.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

3 total
  1. PilotDeck Desktop 260724v260724Jul 24, 2026714 downloads

    # PilotDeck Desktop 260724 Release date: 2026.07.24 This release updates PilotDeck Desktop to build `260724` (`0.1.260724`). Compared with `v260623`, this version focuses on document creation, file understanding, and a smoother chat experience. ## Downloads | Platform | File | | --- | --- | | macOS Universal | [PilotDeck-260724-mac-universal.dmg](https://github.com/OpenBMB/PilotDeck/releases/download/v260724/PilotDeck-260724-mac-universal.dmg) | | Windows x64 | [PilotDeck-260724-win-x64-setup.exe](https://github.com/OpenBMB/PilotDeck/releases/download/v260724/PilotDeck-260724-win-x64-setup.exe) | ## Highlights ### 1. Better Document and File Workflows - PilotDeck can now work more smoothly with Word documents, PowerPoint decks, PDFs, and spreadsheets. - Generated files are easier to find, open, preview, and continue editing directly from the conversation. - File previews are richer, especially for spreadsheets, PDFs, HTML files, and large documents. - Chat can better keep track of files mentioned by the user, so follow-up edits and revisions feel more natural. - Office-style tasks now have clearer results: created files, inspected files, and revised file

  2. PilotDeck Desktop 260623v260623Jun 23, 20261K downloads

    # PilotDeck Desktop 260623 Release date: 2026.06.23 This release updates PilotDeck Desktop to build `260623` (`0.1.260623`). Compared with `v0.1.0`, this version focuses on stability, IM channels, frontend experience, and Cron / Always-on workflows. ## Downloads | Platform | File | | --- | --- | | macOS (arm64) | [PilotDeck-260623-mac-arm64.dmg](https://github.com/OpenBMB/PilotDeck/releases/download/v260623/PilotDeck-260623-mac-arm64.dmg) | | Windows (x64) | [PilotDeck-260623-win-x64.exe](https://github.com/OpenBMB/PilotDeck/releases/download/v260623/PilotDeck-260623-win-x64.exe) | ## Highlights ### 1. Stability Improvements - Improved desktop startup and packaging reliability, less resource need. ### 2. IM Channels - Added Feishu and WeChat channel setup in Settings, just scan QR code to login. - Improved IM live replies, long-running task feedback, and plan command behavior in IM conversations. ### 3. Frontend Improvements - Improved chat streaming, sub-agent cards, thinking previews, and the Agent Timeline for clearer task progress. - Added connection status feedback, toast notifications, and general UI performance improvements. ### 4. Cr

  3. PilotDeck Desktop v0.1.0v0.1.0Jun 10, 20261.2K downloads

    Release date: 2026.6.10 ## Downloads | Platform | File | Size | | -------- | --------------------------------------------------------------------------------------------- | ------ | | macOS (arm64) | [PilotDeck-0.1.0-mac-arm64.dmg](https://github.com/OpenBMB/PilotDeck/releases/download/v0.1.0/PilotDeck-0.1.0-mac-arm64.dmg) | 178 MB | | Windows (x64) | [PilotDeck-0.1.0-win-x64.exe](https://github.com/OpenBMB/PilotDeck/releases/download/v0.1.0/PilotDeck-0.1.0-win-x64.exe) | 160 MB | --- ## PilotDeck Desktop v0.1.0 PilotDeck now ships native desktop clients for **Windows** and **macOS**. Download, install, and start using PilotDeck locally — no manual deployment needed. This release also brings concentrated stability improvements (38 fixes), a refreshed Settings UI, IM channel enhancements, and new model provider support. ### Highlights **Desktop Clients** - Native Windows & macOS desktop apps — download and run, zero deployment overhead. **Stability (38 fixes)** - Large-file I/O hardened with auto-recovery & circuit-breaker protectio

Code frequency

additions and deletions
+890.1K-890.1KWeek of 2026-05-03: +890,090 linesWeek of 2026-05-03: -23,081 linesWeek of 2026-05-10: +68,860 linesWeek of 2026-05-10: -31,046 linesWeek of 2026-05-17: +152,885 linesWeek of 2026-05-17: -825,211 linesWeek of 2026-05-24: +49,704 linesWeek of 2026-05-24: -87,588 linesWeek of 2026-05-31: +5,054 linesWeek of 2026-05-31: -2,071 linesWeek of 2026-06-07: +6,434 linesWeek of 2026-06-07: -486 linesWeek of 2026-06-14: +9,129 linesWeek of 2026-06-14: -3,150 linesWeek of 2026-06-21: +11,052 linesWeek of 2026-06-21: -4,894 linesWeek of 2026-06-28: +19,712 linesWeek of 2026-06-28: -4,503 linesWeek of 2026-07-05: +25,615 linesWeek of 2026-07-05: -10,211 linesWeek of 2026-07-12: +27,918 linesWeek of 2026-07-12: -7,188 linesWeek of 2026-07-19: +32,662 linesWeek of 2026-07-19: -20,888 linesWeek of 2026-07-26: +21,979 linesWeek of 2026-07-26: -2,170 linesWeek of 2026-08-02: +7,856 linesWeek of 2026-08-02: -1,199 linesMay 3, 2026Aug 2, 2026
+1.3M lines added, -1M removed over the last year.

Commits per week

last 52 weeks
2500Week of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 52 commitsWeek of 2026-05-10: 250 commitsWeek of 2026-05-17: 190 commitsWeek of 2026-05-24: 115 commitsWeek of 2026-05-31: 59 commitsWeek of 2026-06-07: 40 commitsWeek of 2026-06-14: 57 commitsWeek of 2026-06-21: 67 commitsWeek of 2026-06-28: 93 commitsWeek of 2026-07-05: 174 commitsWeek of 2026-07-12: 45 commitsWeek of 2026-07-19: 32 commitsWeek of 2026-07-26: 18 commitsWeek of 2026-08-02: 22 commitsAug 10, 2025Aug 2, 2026
1.2K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 2 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 3 commitsSun 11:00 — 0 commitsSun 12:00 — 3 commitsSun 13:00 — 2 commitsSun 14:00 — 0 commitsSun 15:00 — 2 commitsSun 16:00 — 2 commitsSun 17:00 — 3 commitsSun 18:00 — 7 commitsSun 19:00 — 6 commitsSun 20:00 — 2 commitsSun 21:00 — 1 commitsSun 22:00 — 7 commitsSun 23:00 — 0 commitsMon 0:00 — 3 commitsMon 1:00 — 1 commitsMon 2:00 — 0 commitsMon 3:00 — 1 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 1 commitsMon 10:00 — 3 commitsMon 11:00 — 7 commitsMon 12:00 — 23 commitsMon 13:00 — 2 commitsMon 14:00 — 20 commitsMon 15:00 — 30 commitsMon 16:00 — 31 commitsMon 17:00 — 25 commitsMon 18:00 — 19 commitsMon 19:00 — 13 commitsMon 20:00 — 16 commitsMon 21:00 — 36 commitsMon 22:00 — 5 commitsMon 23:00 — 16 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 3 commitsTue 11:00 — 8 commitsTue 12:00 — 16 commitsTue 13:00 — 12 commitsTue 14:00 — 27 commitsTue 15:00 — 17 commitsTue 16:00 — 28 commitsTue 17:00 — 10 commitsTue 18:00 — 17 commitsTue 19:00 — 27 commitsTue 20:00 — 15 commitsTue 21:00 — 11 commitsTue 22:00 — 12 commitsTue 23:00 — 0 commitsWed 0:00 — 2 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 3 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 2 commitsWed 10:00 — 3 commitsWed 11:00 — 14 commitsWed 12:00 — 12 commitsWed 13:00 — 10 commitsWed 14:00 — 26 commitsWed 15:00 — 25 commitsWed 16:00 — 35 commitsWed 17:00 — 34 commitsWed 18:00 — 23 commitsWed 19:00 — 21 commitsWed 20:00 — 24 commitsWed 21:00 — 7 commitsWed 22:00 — 10 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 1 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 3 commitsThu 10:00 — 4 commitsThu 11:00 — 11 commitsThu 12:00 — 12 commitsThu 13:00 — 14 commitsThu 14:00 — 23 commitsThu 15:00 — 21 commitsThu 16:00 — 43 commitsThu 17:00 — 25 commitsThu 18:00 — 23 commitsThu 19:00 — 21 commitsThu 20:00 — 38 commitsThu 21:00 — 28 commitsThu 22:00 — 8 commitsThu 23:00 — 0 commitsFri 0:00 — 1 commitsFri 1:00 — 2 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 7 commitsFri 10:00 — 1 commitsFri 11:00 — 9 commitsFri 12:00 — 9 commitsFri 13:00 — 12 commitsFri 14:00 — 18 commitsFri 15:00 — 22 commitsFri 16:00 — 19 commitsFri 17:00 — 16 commitsFri 18:00 — 13 commitsFri 19:00 — 7 commitsFri 20:00 — 7 commitsFri 21:00 — 19 commitsFri 22:00 — 4 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 2 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 1 commitsSat 11:00 — 2 commitsSat 12:00 — 4 commitsSat 13:00 — 4 commitsSat 14:00 — 5 commitsSat 15:00 — 3 commitsSat 16:00 — 8 commitsSat 17:00 — 5 commitsSat 18:00 — 3 commitsSat 19:00 — 0 commitsSat 20:00 — 1 commitsSat 21:00 — 5 commitsSat 22:00 — 5 commitsSat 23:00 — 7 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
May 29, 2026daily#20+41
May 28, 2026daily#15+54
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    453.6K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • anomalyco/opencode

    The open source coding agent.

    194.7K stars · TypeScript