PilotDeck:基于智能体技术的开源操作系统项目

Task-oriented AI Agent productivity platform

分支10Tags1
文件最后提交记录最后更新时间
chore(deps): bump docker/setup-buildx-action from 3 to 4 (#3) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>5 天前
docs: add community QR code and icon assets Co-authored-by: Cursor <cursoragent@cursor.com> 8 天前
fix(gateway): harden MCP timeout recovery, soften router config, expand web_search - mcp: on -32001 Request timed out, recycle the stdio transport so the next call respawns the subprocess. Stops @playwright/mcp-style wedges where the server-side page.goto keeps running and every follow-up call from the same session also times out. - router: stop treating a partial router: block from the UI as fatal. parseRouterConfig now keeps the rest of the config when scenarios is absent; ensureRouterConfig fills scenarios.default from agent.model so RouterRuntime always sees a valid map. - web_search: route tools.webSearch.{apiKey,endpoint} from yaml into the builtin tool; add hostname-based auth-mode auto-detection so *.serp.hk / *.serp.global endpoints use POST + Bearer (their current API shape) while SerpAPI keeps the legacy GET ?api_key=. - ui/server: add POST /api/config/test-web-search mirroring the same dialect rules so the Settings → Search Test button probes the exact shape the agent tool will use. Co-authored-by: Cursor <cursoragent@cursor.com> 18 天前
fix: only add cwd to workspace list when started via pilotdeck server Non-interactive launchers (npm run dev, install.sh wrapper) set PILOTDECK_SKIP_DEFAULT_PROJECT=1 so the source-tree directory is no longer injected into the Web UI project list. Co-authored-by: Cursor <cursoragent@cursor.com> 6 天前
chore(skills): remove xiaohongshu skill bundle from repo Co-authored-by: Cursor <cursoragent@cursor.com> 13 天前
Drop orphaned OpenAI tool results Co-authored-by: Cursor <cursoragent@cursor.com> 5 天前
Drop orphaned OpenAI tool results Co-authored-by: Cursor <cursoragent@cursor.com> 5 天前
chore(deps-dev): bump node-gyp from 10.3.1 to 12.3.0 (#9) Bumps [node-gyp](https://github.com/nodejs/node-gyp) from 10.3.1 to 12.3.0. - [Release notes](https://github.com/nodejs/node-gyp/releases) - [Changelog](https://github.com/nodejs/node-gyp/blob/main/CHANGELOG.md) - [Commits](https://github.com/nodejs/node-gyp/compare/v10.3.1...v12.3.0) --- updated-dependencies: - dependency-name: node-gyp dependency-version: 12.3.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>4 天前
fix: normalize OpenAI tool schemas and unblock docker CI 5 天前
fix(desktop): correct app icon to white P-star on dark background Regenerate logo sources from brand wordmarks and build icon.icns/icon.ico from logo-dark-1024 instead of logo-light. Store desktop asset PNGs as regular git blobs to avoid LFS smudge failures, and fail release preflight when icon files are still pointers. Co-authored-by: Cursor <cursoragent@cursor.com> 5 天前
chore: cleanup tracked build artifacts, dev scripts, and fix Dockerfile - Untrack edgeclaw-memory-core/lib/ compiled output (add .gitignore) - Remove scripts/test-poll.ts and test-poll-with-proxy.ts (credential exposure) - Remove package-lock.json, standardize on pnpm - Remove Anthropic brand references from provider-tester key format checks - Fix Dockerfile: correct edgeclaw-memory-core path, remove non-existent config/ and third-party/ dirs, switch from npm to pnpm install Co-authored-by: Cursor <cursoragent@cursor.com> 8 天前
fix: normalize OpenAI tool schemas and unblock docker CI 5 天前
docs: replace LICENSE file with AGPL-3.0 and update Chinese README Co-authored-by: Cursor <cursoragent@cursor.com> 6 天前
docs: remove desktop app download section Co-authored-by: Cursor <cursoragent@cursor.com> 5 天前
docs: remove desktop app download section Co-authored-by: Cursor <cursoragent@cursor.com> 5 天前
docs: add Docker usage guide (README_DOCKER.md) Covers docker-compose quick start, manual build/run, env-var configuration, proxy setup, and architecture overview. Co-authored-by: Cursor <cursoragent@cursor.com> 12 天前
feat(docker): add Dockerfile, docker-compose and entrypoint Two-stage build (builder + slim runtime) for production deployment. docker-compose.yml provides one-command startup with config mount and env-var fallback. Entrypoint auto-generates pilotdeck.yaml from PILOTDECK_MODEL/API_KEY/API_URL when no config file is mounted. Co-authored-by: Cursor <cursoragent@cursor.com> 12 天前
feat(router): add default 4-tier tokenSaver and autoOrchestrate config - bootstrap script: generate full router config with tokenSaver (simple/medium/complex/reasoning) and autoOrchestrate; default model switched to openrouter/deepseek/deepseek-v4-flash - docker-entrypoint: mirror router config for Docker deployment, support cross-provider setup - createLocalGateway: ensureRouterConfig now fills tokenSaver and autoOrchestrate defaults Co-authored-by: Cursor <cursoragent@cursor.com> 12 天前
fix(install): add timeout and progress hints for Chrome browser install The Playwright browser download+extraction can stall indefinitely, especially on Linux. Add: - 300s timeout (configurable via PILOTDECK_BROWSER_INSTALL_TIMEOUT) - Portable run_with_timeout helper (GNU timeout || bg+kill fallback) - Progress message before install so users know extraction may appear slow - Distinct messages for timeout vs other failures with recovery instructions 5 天前
chore: cleanup, fix Docker build, add URLs and skill acknowledgements - Remove 6 dead asset files (duplicates, old branding PNGs) - Replace "Claude Task Master" with "TaskMaster" in i18n, add zh-CN/tasks.json - Set README URLs to https://pilotdeck.openbmb.cn/ - Add skill source acknowledgements (Anthropic Skills, MiniMax-AI, Karpathy) - Fix Docker build: add pnpm-workspace.yaml, regenerate complete lockfile (2009→11033 lines), add pnpm.onlyBuiltDependencies for native modules Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前
chore(deps-dev): bump node-gyp from 10.3.1 to 12.3.0 (#9) Bumps [node-gyp](https://github.com/nodejs/node-gyp) from 10.3.1 to 12.3.0. - [Release notes](https://github.com/nodejs/node-gyp/releases) - [Changelog](https://github.com/nodejs/node-gyp/blob/main/CHANGELOG.md) - [Commits](https://github.com/nodejs/node-gyp/compare/v10.3.1...v12.3.0) --- updated-dependencies: - dependency-name: node-gyp dependency-version: 12.3.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>4 天前
chore: cleanup, fix Docker build, add URLs and skill acknowledgements - Remove 6 dead asset files (duplicates, old branding PNGs) - Replace "Claude Task Master" with "TaskMaster" in i18n, add zh-CN/tasks.json - Set README URLs to https://pilotdeck.openbmb.cn/ - Add skill source acknowledgements (Anthropic Skills, MiniMax-AI, Karpathy) - Fix Docker build: add pnpm-workspace.yaml, regenerate complete lockfile (2009→11033 lines), add pnpm.onlyBuiltDependencies for native modules Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前
feat: add gateway/adapters/context/session and Ink TUI Introduce the gateway and adapter layers needed to drive PolitDeck from CLI, TUI, Web and Feishu through a single backend. Gateway exposes a data-only Gateway interface with InProcessGateway, RemoteGateway and a local WebSocket server (token auth, /ws upgrade, static UI mount). Adapters add a Claude Code-style Ink TUI (welcome card, header, PolitDeck/You/⎿ message labels, ink-text-input prompt, deep-blue theme), a CLI/TUI remote-first entry that falls back to a local in-process gateway, and Feishu webhook plus session mapper plugins. Pull session, transcript and context out of agent into top-level session/ and context/ modules, including the EdgeClaw memory provider. Add gateway/adapters config parsing, a Vite/React UI skeleton, an end-to-end OpenRouter Kimi K2.6 tool-use test plus a TUI recording script driven by ink-testing-library. Co-authored-by: Cursor <cursoragent@cursor.com> 25 天前
Improve chat process trace rendering 15 天前
chore: relicense to Apache 2.0 and align PilotDeck naming Switch project license and README badges from AGPL-3.0 to Apache 2.0, recognize ~/.pilotdeck as the general-chat cwd for skills, and use messageTypes.pilotdeck for assistant labels instead of the legacy claude key. Co-authored-by: Cursor <cursoragent@cursor.com> 6 天前

PilotDeck

面向任务制的 AI Agent 生产力平台 —— 以 WorkSpace 为单位,重新定义智能体的操作边界与记忆演化。

官方网站 在线体验 License MCP Native Stars
Discord   飞书群   微信群

English | 简体中文
官网 · 在线体验 · 教程 · 快速开始 · 核心亮点 · 使用场景 · 社区


更新日志 🔥

  • [2026.05.28] PilotDeck 正式开源!欢迎访问官网 pilotdeck.openbmb.cn,期待社区的贡献、反馈与 Star 支持。

💡 关于 PilotDeck

PilotDeck 是一个以「WorkSpace(工作舱)」为核心设计的开源智能体操作系统,由清华大学 THUNLP 实验室、面壁智能OpenBMBAI9Stars 联合研发并开源,面向通用场景、适用于多任务,是 Agent 时代一个真正的「生产力工具」。

当前 AI Agent Harness 领域已涌现出一批优秀的代表成果,各有侧重:Claude Code / Cursor / Trae Solo 把模型的推理能力深度集成进了编程 IDE;Claude Cowork 引入了项目隔离的概念,把 Agent 带到了桌面端的知识工作场景;WorkBuddy 打通了 IM 生态,让 AI 在企微 / 飞书等通讯工具中触手可及。

然而,当我们把视角从"单次编程"或"即时问答"切换到长周期、多项目并行的生产力创作时,仍有一些尚未被很好回答的问题:

  • 多项目并行时,记忆能否做到 白盒可追溯?AI 记错了,能否定位到哪条记忆出错、直接修改,而不必重开会话?
  • Token 成本能否 按任务分项追踪?让后台常驻推进变得经济可行?
  • 不同难度的任务,能否 自动匹配不同模型?而不是简单任务也跑最贵的旗舰模型?
  • 人离开电脑后,活能否继续推进?Agent 能否 主动发现值得做的事、汇报进展、把成果落地为文件

PilotDeck 正是围绕这些问题做的增量探索。它以 WorkSpace 为基本单位,将文件、记忆、技能在项目级别完整隔离与沉淀,并配套提供 白盒记忆智能路由Always-on 三大能力,整套系统原生支持 Model Context Protocol (MCP),跨前端(Web / CLI / IM)行为一致。

✨ 核心亮点

WorkSpace 级隔离与沉淀

每个项目拥有独立的专属文件系统、记忆库与技能集。多任务并行互不干扰,检索空间有边界,技能随任务自动沉淀,告别全局上下文污染。

WorkSpace 级隔离与沉淀演示

可追溯的白盒记忆

记忆的生成、抽取、存储与使用全链路可见。AI 记错时可直接定位并手动修改。内置 Dream 模式,利用空闲时间自动归纳整理,并支持一键回滚。

白盒记忆演示

智能路由与成本优化

内置任务难度识别,复杂任务调用强力模型(如 Claude 3.5 Sonnet / GPT-4o),简单任务降级至轻量模型。通过端云协同与精准匹配,大幅降低 Token 消耗。

智能路由演示

Always-on 常驻执行

突破"你问我答"的限制。用户离开后,Agent 仍能在后台主动发现潜在任务、执行长周期监控、并最终将成果落地为本地文件与摘要汇报。

Always-on 常驻执行演示

📊 核心能力实测数据

PilotDeck 的三大核心能力在实际生产环境中展现出了显著的优势:

1. 智能路由:社媒场景节省 ~70% 成本

在小红书等社媒运营场景中,开启智能路由后,系统会自动将简单的文本润色、排版任务降级给子 Agent(如 Sonnet 4.5),仅在核心规划节点使用 Opus 4.5,实测成本大幅下降:

方案 模型编排 费用 倍率
开启省钱路由 主 Opus 4.5 + 子 Sonnet 4.5 $2.83 1.1×
不开省钱路由 全 Opus 4.5(主 + 子) $12.58 5.0×
单体大模型 单体 Opus 4.5 长 react(预估) $12.20 4.8×

2. 智能路由:复杂任务 1/6 成本超越顶级模型

研究团队在播客多语言推送、多源数据报告、领域论文综述、代码库架构文档等 7 个复杂任务上进行了对比测试。结果表明,采用"主强子弱"的路由编排,能以极低的成本达到最优效果:

配置 得分 成本
MiniMax-M2.7 单 Agent 37.1 $1.90
Claude Sonnet 4.6 单 Agent 69.1 $18.36
主 Sonnet 4.6 + 子 MiniMax-M2.7 70.6 $3.15

3. 白盒记忆:排版与文风不再"串台"

在传统的黑盒 Agent 中,多任务混居会导致记忆全局污染。PilotDeck 通过 WorkSpace 实现了记忆的白盒化管理:

维度 现有 AI Agent(黑盒) PilotDeck(白盒)
可见性 看不到 AI 记住了什么,只能看到最终输出 随时查看记住了哪些内容、何时记录、属于哪个 WorkSpace
可控性 写入后无法修改、删除,只能等 AI 自己"想明白" 手动改 / 删 / 标记关键节点,重要决策不丢失
可追溯 出错时无法定位根本原因 生成 → 抽取 → 存储 → 使用,每个环节可查可改
隔离性 共享一个记忆池,跨项目互相污染 按 WorkSpace 隔离,A 项目的记忆不会跑到 B 项目
可回滚 上下文压缩后无法查看原始内容 Dream 整理后支持一键回滚到整理前状态,不怕"越整理越乱"

🖥️ 交互界面与演示

PilotDeck 提供了开箱即用的 Web UI,支持完整的 WorkSpace 管理、白盒记忆编辑、以及多智能体协作过程的可视化。

使用场景

以下所有演示均由端侧模型通过 PilotDeck 智能路由完成生成——无需调用云端大模型。

工作文档生成

"调研一下中国大模型应用市场,整理成一份正式的 HTML 白皮书"

执行过程 最终成果

小游戏开发

"用 Vibe Coding 模式陪我做一款 iOS AR 小游戏《找球球》"

执行过程 最终成果

AI 工程平台开发

"从零造一个 Embedding 低代码调优平台"

执行过程 最终成果

音视频剪辑&自媒体运营

"把这期英文播客推送给中日法韩西阿六语全球受众"

执行过程 最终成果(含音频)

https://github.com/user-attachments/assets/a7245467-ee3c-4939-a055-c56576ac56d1


📦 安装与快速开始

我们提供了 macOS/Linux 下的一键安装脚本,以及适合开发者的源码启动方式。

方式一:一键安装 (推荐, macOS/Linux)

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

该脚本将自动配置 Node.js 22 环境、克隆代码、安装依赖并编译前端。安装完成后,直接运行:

pilotdeck            # 在 http://localhost:3001 启动服务
pilotdeck status     # 查看运行状态

方式二:源码启动 (适合开发者)

1. 克隆代码与安装依赖

本仓库使用 Git LFS 管理大型媒体文件。克隆前请确保已安装 git lfs。 如果不需要演示视频/GIF,可在 clone 前加上 GIT_LFS_SKIP_SMUDGE=1 跳过下载。

git clone https://github.com/OpenBMB/PilotDeck.git
cd PilotDeck

npm install              # 安装根目录依赖 (Gateway 运行时)
cd ui && npm install     # 安装 UI 依赖
cd ..

2. 配置模型 Provider PilotDeck 依赖 ~/.pilotdeck/pilotdeck.yaml 进行配置。您可以手动创建、运行启动脚本自动生成,或者在启动 Web UI 后直接在设置界面中进行可视化配置。 支持 OpenAI、Anthropic、DeepSeek、Qwen、Kimi、MiniMax 等多种协议。

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

3. 启动服务

cd ui && npm run dev     # 开发模式 (HMR),访问 http://localhost:5173
# 或
cd ui && npm run start   # 生产模式,访问 http://localhost:3001

方式三:Docker Compose

如果您已安装 Docker,也可以直接使用容器方式启动:

docker compose up -d

🛠️ 扩展与插件 (Extension Protocol)

PilotDeck 采用开放的插件架构,插件代码与开源核心严格隔离。开发者可以通过 plugin.json 轻松扩展系统能力:

  • MCP Servers: 原生支持集成 Model Context Protocol 服务器。
  • Tools & Skills: 注册自定义工具,或通过 ClawHub 引入社区 Skill。
  • Lifecycle Hooks: 拦截 PreToolUseUserPromptSubmit 等关键生命周期。
  • Custom Memory: 允许接入自定义的记忆存储 Provider。

🤝 参与贡献

感谢所有为 PilotDeck 提交代码与反馈的开发者!我们欢迎新的成员加入,共同构建下一代智能体操作系统。

贡献流程:Fork 本仓库 → 创建 Feature 分支 → 提交 PR


💬 联系我们

  • 关于技术问题及功能请求,请提交 GitHub Issues
  • 欢迎加入我们的社区与我们交流:
微信交流群 飞书交流群 Discord 社区
微信二维码 飞书二维码 Discord 二维码

🙏 致谢

感谢 OpenClaw、Claude Code、Codex、Cursor、Hermes 等 Agent OS 先行者的探索,为这一领域的发展提供了重要启发。

PilotDeck 的建设离不开以下优秀开源项目的支持:


🏢 联合研发

PilotDeck 由清华大学 THUNLP面壁智能OpenBMBAI9Stars 联合研发。


⭐ 支持我们

如果您觉得 PilotDeck 对您的工作或研究有帮助,请点亮一颗 Star 支持我们!


📝 引用

@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}
}

📄 许可证

本项目基于 GNU Affero General Public License v3.0 开源。