Skip to content

DoraCN/DoraBox

Repository files navigation

朵拉魔盒 / DoraBox

面向《跟朵拉学机器人:从零到具身智能》课程的一站式隔离环境桌面工具。 让零基础学生"打开即用",在完全隔离、零系统污染的环境中运行 dora(纯 Python)——dora 由作者预编译内置,学生无需 Rust、无需编译。

一句话:一个装好了一切的"四次元口袋"——打开它,就有一套干净、隔离、可复现的 DORA 开发环境。

核心承诺

  1. 零系统污染:不改动系统 Python / PATH / shell 配置;彻底移除 = 卸载 app + 删工作目录。
  2. 零配置门槛:dora(CLI + Python 包)已预编译内置于安装包,学生无需装 Rust 工具链、无需 C 编译器、无需编译;镜像与依赖开箱即用(默认走国内镜像)。
  3. 可复现:同一版本魔盒 = 同一版本 dora,所有人结果一致(dora 锁定到指定 commit,由作者据此预编译)。
  4. 跨平台一致: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 等)仅在内置终端会话内进程级注入,退出即失效。
  • 内置终端为唯一官方路径:打开即处于隔离环境,dorapythonpip 均可直接调用(纯 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、无直接 IO
  • infra/:与 Tauri 无关的副作用适配(fs / net / process),以 trait 暴露便于 mock

全局约束见 constitution.md(项目宪法)。

开发规范(SDD + TDD)

本项目采用规格驱动开发(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}/

环境要求

开发命令

bun install            # 安装前端依赖
bun run tauri dev      # 启动应用(开发模式)
bun run tauri build    # 打包三平台产物

bun run test           # 前端测试(Vitest)
cargo test             # 后端测试(在 src-tauri/ 下执行)

推荐 IDE 配置

当前状态

地基阶段(P0)。constitution.mddocs/specs/ROADMAP.md 已定稿;F00(后端骨架与 IPC 约定)、F04(Python 环境安装)、F06(dora 预置) 三件套(spec/plan/tasks)均已通过审核,F00 待进入实现。详见 ROADMAP §5 进度表

About

朵拉魔盒

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors