Skip to content

desktop

这是桌面端重构后的主工作区,不是对归档目录 archive/desktop-legacy/ 的继续打补丁。

当前目标

  • 用更小、更清楚的目录边界重建桌面客户端
  • 先把 CLI / 插件 / 命令合约 / 工程门禁 搭稳
  • 从第一天开始限制单文件体积,避免重新长成大泥球

目录说明

text
desktop/
├── apps/
│   ├── cli/                  # 命令行入口,负责参数解析和标准输出
│   └── gui/                  # React + Vite + Tauri 桌面壳
├── crates/
│   └── local-runtime/        # Rust 运行时核心,桌面端仍是唯一执行真源
├── packages/
│   ├── command-contracts/    # 命令、插件、输入输出 schema 真源
│   └── plugin-sdk/           # 插件 SDK,保留 openclaw 兼容字段
├── docs/                     # 新架构约束说明
└── scripts/                  # 工程门禁脚本

开发原则

  1. 任何新功能先补 packages/command-contracts
  2. 桌面端继续做唯一执行真源,不把 Agent Loop 下沉到后端
  3. 所有用户能力都必须能映射成 CLI 命令
  4. 单文件默认上限 400 行,超过就拆

初始化后建议的第一批迁移顺序

  1. 先迁移命令合约和最小运行时健康检查
  2. 再迁移插件发现、校验、启停
  3. 最后迁移真正的 Agent 执行链路

常用命令

bash
cd desktop
npm install
npm run lint
npm run test
npm run build
cargo check --manifest-path apps/gui/src-tauri/Cargo.toml

当前仓库只完成了基座初始化,还没有迁移旧桌面端业务功能。

内容通过 Markdown 维护,适合持续迭代。