What is dsh
Mayfly is the terminal interface for DeepSeek Harness (dsh) — understanding a few core dsh concepts makes Mayfly much easier to use well. This handbook distills the dsh knowledge Mayfly users need; the complete engineering docs live at the official reference site.
Version basis
This handbook tracks Harness npm release 0.1.2-alpha.5 and Mayfly 0.1.0-alpha.1. When in doubt, trust your installed dsh --version and --dump-config.
What dsh is
dsh is a plugin-based agent harness: model adapters, tool execution, session persistence, approval and sandbox policies, settings, and credentials are all assembled as Cordis plugins. Every interface you see — Mayfly's TUI, the browser web app, the one-shot headless runner — is just a different assembly of the same plugin tree.
Three keywords:
- Bundle — a set of plugins shipped with their own mount code, declaring its plugin rows through the package's
cordis.patch.yml;dsh-baseis the first layer of every profile. - Profile — a named assembly: the bundles it layers, its own patch overrides, and its independently installed plugins. See Profiles & directories.
- Mayfly — is a bundle: it inserts 34 Mayfly-owned rows over
dsh-base(including the private-runtime group that isolates management authority and raw app services) and takes over the terminal interface (see the features overview).
CLI cheat sheet
dsh --profile <name> [task] # boot a profile; a task argument enters that app
dsh --profile <name> --resume <id> # resume a session
dsh web # alias for --profile web (the browser app)
dsh --profile <name> --patch ./x.yml # append a patch overlay (repeatable)
dsh --profile <name> --dump-config # print the fully composed plugin tree
dsh --profile <name> --dump-default-config # the default tree without user layers
dsh plugin --profile <name> add <pkg> # install a plugin into the profile (forwards to pnpm)Handbook chapters
- Profiles & directories — the layering mechanism and the
DSH_HOMElayout - Modes & permissions — agent presets, approval policies, sandbox modes, permission presets
- Built-in tools — the complete catalog of dsh's built-in tools
- Skills — discovery directories, file format, and the loading mechanism