D
DreamLake

Overview

Introduction

GitHub

DreamLake Server is the central API that manages the entire DreamLake ecosystem. It handles namespaces, spaces, episodes, assets, folder hierarchy, and semantic search.

Core Concepts

ConceptDescription
NamespaceTop-level owner scope (user or team). Maps to a URL slug like alice.
SpaceA project or workspace within a namespace. Contains episodes and assets.
EpisodeA time-bounded recording unit — e.g. a robot run, an experiment session.
NodeA folder in the hierarchical file tree (materialized paths).
AssetA file (video, audio, label track, text track) stored in BSS and indexed here.

Architecture

CLI (dreamlake-py)

    ├── Upload file ──→ BSS (S3 storage)
    │                     │
    └── Register asset ──→ DreamLake Server (MongoDB index)

                            └──→ DreamLake Frontend (browse + search)

DreamLake Server is the metadata layer. All binary data lives in BSS / S3. The server provides:

  • Asset registration — link uploaded files to spaces and episodes
  • Node hierarchy — folder tree with browse, rename, move, delete
  • Episode management — create, update, organize recording sessions
  • Search — vector-based semantic search via Qdrant
  • Logs & parameters — structured logging and experiment config storage

Tech Stack

ComponentTechnology
FrameworkFastify
DatabaseMongoDB (via Prisma)
AuthJWT (vuer-auth integration)
SearchQdrant (vector embeddings)
StorageDelegates to BSS (S3)

Quick Start

# Start dependencies
cd docker && docker compose up -d
 
# Start the server
cd dreamlake-server && pnpm dev
# → http://localhost:10334