Orchidea Desktop
面向个人的 vibe coding 与 work 工作台——个人工作区、个人项目与界面类轻应用。
产品定位
Desktop 面向个人创作:提供个人工作区、个人项目与界面类轻应用,默认不接触组织代码库,产物默认只保留在个人空间。
个人作品要成为组织应用,必须经 DevBase 代码审核、组织权限审批与 Guard 发布审批。它与 Code Desktop 的组织级开发轨道相互隔离:Code Desktop 负责组织架构与集群开发,Desktop 负责个人 vibe coding 与 work。
2026-11 能力更新(v1.0.24)
- 能力注册表同步:
capabilities.json、tool-enforcement.json、registry.mcp-servers.json口径一致 - MCP 工具强制:修正注册表与工具强制执行清单的映射
项目简介 / 定位
Orchidea Desktop 是一款基于 Electron 的原生桌面应用,定位为个人 vibe coding 与 work 工作台:以自研 Orchidea Engine 为会话内核(进程内多轮推理循环),提供会话管理、内置编辑器与 LSP、PTY 终端、Git 集成、插件市场、语音、沙箱、自动更新与国际化等能力。
本仓库为 monorepo(packages/* 工作区),核心应用位于 packages/desktop。
- 技术栈:Electron、React 19、TypeScript、electron-vite;主 / 渲染进程间通过 oRPC(MessagePort)进行类型安全通信;状态管理使用 Zustand;样式使用 Tailwind CSS v4。
- 版本信息:见
CHANGELOG.md。
核心功能
以下能力均来自 packages/desktop/src/main/(主进程)与 packages/desktop/src/renderer/(渲染进程)的真实实现:
Agent 会话
- 自研 Orchidea Engine 会话内核(
features/agent/engine/:query.ts多轮工具循环、model-client.ts模型网关、session-files.ts存储):会话管理(features/agent/session-manager.ts)、会话总线与存储、消息转换(sdk-message-transformer)。历史会话文件沿用~/.claude/projects/<encoded-cwd>/<session>.jsonl存储布局,保证迁移无缝。 - 自动记忆(
auto-memory.ts)、自动标题(auto-title.ts)、自我唤醒(selfwake.ts)、收件箱(inbox.ts)、远程会话(remote-sessions.ts)、无人值守(unattended.ts)与调度器(scheduler.ts)。 - 请求抓包与凭据脱敏由进程内引擎的
providerTraceHook回调承担(已取代旧 fd3 子进程 fetch-interceptor 链路)。
编辑与开发工具
- 内置编辑器 + LSP(
plugins/editor/):编辑器下载安装(installer.ts/download.ts)、LSP 客户端与管理器(lsp-client.ts/lsp-manager.ts)提供诊断与补全。 - PTY 终端(
plugins/terminal/):基于 node-pty 的终端,配合 xterm.js(WebGL / Search / Unicode11 等插件)。 - Git 集成(
plugins/git/、plugins/changes/):git 操作、GitHub 客户端与变更管理。 - 文件系统(
plugins/files/):文件树、watch 与忽略规则。 - 技能管理(
features/skills/):支持 git / npm / prebuilt / clawhub 多种安装源的 Skills 安装器。
平台能力
- 插件系统与插件市场(
core/plugin/+features/plugin-market/):主进程服务 + 渲染进程视图 + 共享契约的生命周期管理,插件市场提供服务发现与安装。 - 语音(
features/orchidea-voice/):语音输入与交互服务。 - 沙箱(
features/sandbox/):受限执行环境。 - 自动更新(
features/updater/):基于 electron-updater 的自动更新服务。 - 角色形象(
features/character/):角色模型服务,渲染进程集成 Live2D(pixi-live2d-display/@pixiv/three-vrm)。 - 计算机控制(
features/computer-control/、computer-use/):跨平台辅助(resources/computer-control/含 macOS Swift 与 Windows PowerShell helper)。 - 科学计算与绘图(
features/science/、scientific-illustrator/):MCP Server / Provider 形式的科学工具接入。 - 记忆与向量存储(
features/memory/):向量存储服务。 - 网络搜索(
features/web-search/):Web 搜索服务。 - devbase(
features/devbase/):崩溃上传、遥测、远程配置。 - 状态与存储(
features/storage/、state/、config/):本地持久化与配置管理。 - 安全与规则:
SECURITY.md定义了凭据加密(safeStorage)、严格 CSP、进程隔离(contextIsolation/sandbox)等模型;features/rules/提供项目规则支持。 - 国际化(
renderer/core/i18n/):多语言(含 en-US、zh-CN)。 - 工作台布局(
renderer/components/app-layout/):活动栏、主 / 次侧边栏、内容面板、布局协调器;AI 元素组件(消息、工具调用、链式思考、代码块、任务等)。
快速开始
环境要求:macOS、Bun。
git clone https://github.com/orchidea-ai/orchidea-desktop.git
cd orchidea-desktop
bun install
bun dev
常用命令(根目录):
bun run build # 构建应用
bun run build:mac # 打包 macOS 应用(electron-builder)
bun run typecheck # 类型检查
bun test # 单元测试
bun run test:e2e # 端到端测试(Playwright)
文档入口
- 架构说明:
ARCHITECTURE.md - 安全策略:
SECURITY.md - 贡献指南:
CONTRIBUTING.md - 更新记录:
CHANGELOG.md - 设计文档:
docs/designs/(会话管理器拆分、查询状态、Git 树 URL、保持唤醒等设计稿)
License
许可证详见根目录 LICENSE 文件。