面向《跟朵拉学机器人:从零到具身智能》课程的一站式隔离环境桌面工具。 让零基础学生"打开即用",在完全隔离、零系统污染的环境中运行 dora(纯 Python)——dora 由作者预编译内置,学生无需 Rust、无需编译。
一句话:一个装好了一切的"四次元口袋"——打开它,就有一套干净、隔离、可复现的 DORA 开发环境。
- 零系统污染:不改动系统 Python / PATH / shell 配置;彻底移除 = 卸载 app + 删工作目录。
- 零配置门槛:dora(CLI + Python 包)已预编译内置于安装包,学生无需装 Rust 工具链、无需 C 编译器、无需编译;镜像与依赖开箱即用(默认走国内镜像)。
- 可复现:同一版本魔盒 = 同一版本 dora,所有人结果一致(dora 锁定到指定 commit,由作者据此预编译)。
- 跨平台一致:macOS、Windows、Linux 三平台统一体验。
- 用户启动时显式选择一个工作目录,Python 环境、依赖、模型、课程代码、缓存全部集中于此;dora CLI/wheel 随 app 分发、不在工作目录(产物与环境分置)。
- 环境变量(
VIRTUAL_ENV/PIP_CACHE_DIR/UV_CACHE_DIR/PIP_CONFIG_FILE/MODELSCOPE_CACHE/HF_HOME/TMPDIR/PATH等)仅在内置终端会话内进程级注入,退出即失效。 - 内置终端为唯一官方路径:打开即处于隔离环境,
dora、python、pip均可直接调用(纯 Python 教程,不提供/不需要cargo)。
产品完整规格见 docs/00-project.md。
- 桌面框架:Tauri v2(Rust 后端 + Web 前端)
- 前端:React 19 + TypeScript + Vite 7
- 内置终端:xterm.js + portable-pty
- 包管理:Bun
后端严格单向分层,core 为可脱离 Tauri 单测的纯逻辑:
前端 (React/shared/ipc) ──invoke/event──► commands ──► core ──► infra(trait)
commands/:IPC 入口(薄层)+ Tauri 绑定 IO 边界(emit / dialog / pty 桥接)core/:领域逻辑(路径、env 映射、平台分支、长任务编排),纯逻辑、不use tauri、无直接 IOinfra/:与 Tauri 无关的副作用适配(fs / net / process),以 trait 暴露便于 mock
全局约束见 constitution.md(项目宪法)。
本项目采用规格驱动开发(SDD):Spec 是唯一真实来源,代码是其派生物。所有变更先改 Spec 再改代码,并遵循 TDD(红 → 绿 → 重构)。
- 规范细则:
.opencode/skills/spec-driven-development/SKILL.md - 特性路线图:
docs/specs/ROADMAP.md - 每个特性一套三件套:
docs/specs/<Fxx-feature>/{spec,plan,tasks}.md
四阶段流程:Specify(人)→ Plan(人+AI)→ Implement(AI,TDD)→ Validate(自动化测试 + 人工 Review)。
DoraBox/
├── constitution.md # 项目宪法(全局不可违背约束)
├── docs/
│ ├── 00-project.md # 产品功能规格(唯一真实来源·产品层)
│ └── specs/ # SDD 特性规格(ROADMAP + 各特性三件套)
├── src/ # 前端(React 19 + TS + Vite)
│ ├── features/ # 按特性分目录
│ └── shared/ # 跨特性复用(ipc 封装、类型)
└── src-tauri/ # 后端(Rust / Tauri v2)
└── src/{commands,core,infra}/
- Rust(stable)
- Bun
- 平台依赖参见 Tauri v2 Prerequisites
bun install # 安装前端依赖
bun run tauri dev # 启动应用(开发模式)
bun run tauri build # 打包三平台产物
bun run test # 前端测试(Vitest)
cargo test # 后端测试(在 src-tauri/ 下执行)地基阶段(P0)。constitution.md 与 docs/specs/ROADMAP.md 已定稿;F00(后端骨架与 IPC 约定)、F04(Python 环境安装)、F06(dora 预置) 三件套(spec/plan/tasks)均已通过审核,F00 待进入实现。详见 ROADMAP §5 进度表。