3.6 KiB
Dreamverse Development
Dreamverse lives under apps/dreamverse/ as a product app inside the
FastVideo monorepo. Backend code uses the local FastVideo workspace package;
frontend tooling remains standalone under apps/dreamverse/web/.
Backend tests
Run backend tests excluding GPU-marked cases from the FastVideo repository root:
uv run --locked --package dreamverse --extra test pytest apps/dreamverse/dreamverse/tests/ -m 'not gpu' -q
Collection can still touch FastVideo streaming imports that probe for an active GPU driver, so the corresponding CI job runs on a GPU even with GPU-marked tests excluded.
Backend launch
Launch the migrated backend through the installed console commands:
dreamverse-server --port 8009
dreamverse-mock-server --port 8009
If dreamverse-server is missing, install FastVideo with the dreamverse
extra from the checkout:
UV_TORCH_BACKEND=cu126 uv pip install -e ".[dreamverse]" # use cu130 on CUDA 13
Frontend build and tests
Run frontend commands from the standalone web app:
cd apps/dreamverse/web
npm ci
npm run build
npm test
Playwright is intentionally run against a live backend as part of the local GPU manual verification flow, not in the Phase 3 migration gate.
Local GPU verification
Choose an available physical GPU for full-stack smoke tests. For example,
CUDA_VISIBLE_DEVICES=4 makes physical GPU 4 appear as logical GPU 0 inside
the process.
For a managed backend-and-frontend redeploy with readiness checks and logs, use the repo-local skill helper:
./.agents/skills/dreamverse-deploy/scripts/dreamverse-deploy.sh 4 8009 5299
The helper's legacy frontend default is 5274, so the example passes the web
app's current port, 5299, explicitly. It writes logs under
/tmp/opencode/dreamverse-deploy. The equivalent manual backend launch is:
CUDA_VISIBLE_DEVICES=4 dreamverse-server --host 0.0.0.0 --port 8009
In another shell, verify the service:
curl -s http://localhost:8009/healthz
The full Playwright suite expects /healthz, /readyz, /status,
/prompt-system-config, and /curated-presets from the Dreamverse backend.
Production-equivalent GPU prerequisites
For the production-equivalent NVFP4 path, install these dependencies
in the FastVideo .venv before GPU smoke tests:
uv pip install --python .venv/bin/python \
flashinfer-python flash-attn cerebras-cloud-sdk openai \
--no-build-isolation
| Package | Why |
|---|---|
flashinfer-python |
Required for NVFP4 quantization. Without it, model load fails with ImportError: NVFP4 quantization requires flashinfer. |
flash-attn |
Optional but recommended; without it attention falls back to Torch SDPA (functional but slower). |
cerebras-cloud-sdk |
Required by the migrated prompt enhancer for the default cerebras provider. |
openai |
Required by the prompt enhancer's OpenAI-compatible providers + downstream rewrites. |
B200 / sm_100a + gcc-15 conda toolchain (flashinfer JIT workaround)
On hosts where the conda toolchain ships gcc-15 (which nvcc rejects with
#error -- unsupported GNU version! gcc versions later than 14 are not supported!), set these env vars before launching anything that triggers
flashinfer's JIT kernel build:
export CC=/usr/bin/gcc-13
export CXX=/usr/bin/g++-13
export CUDAHOSTCXX=/usr/bin/g++-13
export NVCC_PREPEND_FLAGS="-ccbin /usr/bin/gcc-13 -allow-unsupported-compiler"
dreamverse-server does not set these; keep them in the launching shell when
starting it directly. The repo-local dreamverse-deploy skill exports them for
managed local launches.