Preface

When debugging world-model related issues in DSH, the common problems are quite specific: which paths in the rollout directory are pred and which are gt; whether the latter half of the frame sequence degrades; if the gap between pred and gt can be described by numbers; how to name the 3D display, pixel/video-gen WM, and latent prediction routes; and finally, how to deposit an observation into skills, wm.yaml, or eval notes.

Existing practices usually involve manually looking at images, manually calculating metrics, and manually flipping through logs. Below introduces WayneJin0918/dsh-wm. It is a world-model toolkit for DeepSeek Harness (DSH), used to look at a strip, name the route, score the run, and iterate the research loop.

What is this

The one-sentence description of WayneJin0918/dsh-wm is: A playable world-model toolkit for DeepSeek Harness. It is maintained by WayneJin0918, the repository is WayneJin0918/dsh-wm, the license is MIT, Node >= 18 is required, and the runtime is deepseek-ai/deepseek-harness.

It is a pure JavaScript DSH bundle; documentation states there is no prepare / allowBuilds requirement. The philosophy of DSH is “everything is a plugin”, but the community directory is an independent site and should not be interpreted as an official app store.

Core Features

View rollout frames

wm_inspect samples first / mid / last or named indices, writes a contact sheet, and returns a luma sketch and color/contrast look.

Compare pred and GT

wm_view writes a self-contained HTML page. The page includes side-by-side, swipe overlay, abs-diff heatmap, SSIM timeline; when actions.json exists, an action HUD also appears.

Three world-model routes

Built-in route cards include: wm-routes, display-3d, pixel-wm, latent-wm. They correspond to 3D display, pixel/video-gen WM, and latent prediction.

Measure run

wm_rollout_diff reports mean/min SSIM, curve, worst frames, and diagnosis. Scoring uses luminance SSIM + MSE, and is pure JS.

Discover directory and summary logs

wm_discover reports layout, paths, frame counts, and warnings. wm_summarize reports last loss, NaN, early-stop, and gives hypotheses.

Built-in knowledge and diagnosis

wm_knowledge and wm_diagnose provide technique cards, covering chunk-AR, memory, KV, exposure bias, revisit, ablation, action following, cache eviction, and RSI-in-Harness.

RSI loop

Skill wm-rsi uses DSH trajectory, fork, Creator, and sunset, for evolving skills, wm.yaml, and eval notes.

No-GPU starter path

fixtures/sunset can be run from node cli.js, requiring no checkpoint, cluster, or GPU. Video input requires ffmpeg; PNG/PPM folders do not.

Installation and Enablement

First install to a separate profile. The commands below are from verified sources:

dsh plugin --profile wm add github:WayneJin0918/dsh-wm

If the target profile is Web or Headless, you can also use:

dsh plugin --profile web add github:WayneJin0918/dsh-wm
dsh plugin --profile headless add github:WayneJin0918/dsh-wm

If you have a local checkout, you can install using a path:

dsh plugin --profile wm add /path/to/dsh-wm

Git installs do not need pnpm allowBuilds. To pin the default, use:

github:WayneJin0918/dsh-wm#<sha>

After installation, check the config first, then start the profile:

dsh --profile wm --dump-config
dsh --profile wm

If the Web profile is running, you must restart after adding the bundle before starting a new session so the skill catalog reloads.

Typical Usage

The commands below are from verified usage examples. After the installation and enablement above, you can start with fixtures/sunset.

First run the No-GPU starter path

First check frames, then generate a comparison page, finally do pred/gt diff:

node cli.js inspect fixtures/sunset --indices first,mid,last
node cli.js view fixtures/sunset
node cli.js diff --pred fixtures/sunset/pred --gt fixtures/sunset/gt

inspect corresponds to wm_inspect and outputs luma sketch and color/contrast look; view writes an HTML comparison page; diff reports SSIM, worst frames, and other info.

Discover run directory

node cli.js discover fixtures/sunset
node cli.js summarize fixtures/sunset

discover is used to report directory structure, paths, frame counts, and warnings; summarize extracts last loss, NaN, early-stop, and hypotheses from the tail of the logs.

View route knowledge

node cli.js knowledge --id wm-routes
node cli.js knowledge --id display-3d
node cli.js knowledge --id pixel-wm
node cli.js knowledge --id latent-wm

Perform diagnosis queries

node cli.js diagnose "is Sora a world simulator"

Ask in natural language

Example questions include:

Triage fixtures/sunset. What failed, and is it late-horizon?
Look at first, mid, last — what do the pixels do in the second half?
Is Sora a world simulator

Applicable Scenarios and Notes

Suitable scenarios include: viewing rollout frames in DSH, comparing pred and gt, organizing run directories, summarizing logs, identifying 3D display / pixel WM / latent prediction routes, and doing RSI around skills, wm.yaml, and eval notes.

Notes to consider:

  1. Runtime requires Node >= 18.

  2. Video input requires ffmpeg; PNG/PPM folders do not.

  3. wm.yaml is an optional manifest used to declare pred / gt / log / metrics / actions. Without a manifest, heuristics are used; ambiguous paths are reported as candidates/warnings, not generated out of thin air.

  4. Peer dependencies @deepseek-ai/dsh-tools and @deepseek-ai/dsh-skill are optional.

  5. Plugins run with the permissions of the current dsh process. You should check the source code, dependencies, and license before installing; the license in this material is MIT.

  6. The community directory is an independent site with no official affiliation to DeepSeek or Mistral AI, and should not be written as an official app store.

Links