Appearance
桌面端架构基座
迁移来源:
desktop/docs/ARCHITECTURE.md
这篇适合桌面端开发者先建立边界感,不是功能手册,而是“哪些事能做,哪些事不能做”。
第一条硬规则
桌面端仍然是唯一执行真源
- local runtime 负责真正执行
- React 界面只负责展示和编排
- CLI 负责暴露命令入口,不再偷偷造一套执行引擎
第二条硬规则
所有功能先定义命令合约
任何功能在开始写 UI 或 runtime 之前,先在 packages/command-contracts 里定义:
- 命令 ID
- 输入 schema
- 输出 schema
- 命令由谁执行
这样后面桌面 UI、CLI 和自动化调用才能共用一套入口。
第三条硬规则
插件优先兼容,不优先炫技
插件层先守住 3 件事:
- manifest 真源
- 命令命名空间
openclaw兼容字段
目录分层怎么理解
apps/gui
桌面壳、页面编排、共享 UI 和前端服务都在这里。
apps/cli
命令行入口,只负责参数解析和标准输出。
packages/command-contracts
命令、插件 schema、输入输出定义的真源。
packages/plugin-sdk
给插件作者使用的 SDK,不承载运行时逻辑。
这一阶段不做什么
- 不做旧桌面端页面整体迁移
- 不急着把所有 Agent 执行链一次搬完
- 不把本地执行职责下沉到后端
提醒
如果某个改动会破坏“桌面端是唯一执行真源”这条边界,就不应该继续往下做。