What a dsh profile contains
A profile is a named composition stored under the DeepSeek Harness home directory. It contains a package.json for out-of-tree dependencies and the ordered dsh.profile.bundles list, plus a cordis.patch.yml file for the user's own configuration layer. Profiles make it possible to keep different harness setups on the same machine.
Web and headless profiles
The web profile adds the browser application, while the headless profile runs a single persisted session, prints the final answer, and exits. Both are shipped templates and initialize automatically on first use.
npx -y @deepseek-ai/dsh web
npx -y @deepseek-ai/dsh --profile headless "summarize this repository"How profile layers are composed
DeepSeek Harness builds the running plugin tree from ordered layers. Bundle patches are applied first in the order listed by the profile. The profile's cordis.patch.yml comes next, followed by the machine-level patch and any command-line patch overlays. Later layers can intentionally replace configuration introduced earlier.
- Base bundle and application bundles
- Community or private plugin bundles
- Profile-specific cordis.patch.yml
- Home-level cordis.patch.yml
- Command-line --patch overlays
Inspect the effective configuration
Use the dump commands before editing a patch. The default dump shows the bundle composition without user overrides; the full dump shows the configuration that the selected profile would actually boot.
npx -y @deepseek-ai/dsh --profile web --dump-default-config
npx -y @deepseek-ai/dsh --profile web --dump-configUse profiles as isolation boundaries
Keep production-like work separate from experiments. A focused profile with a small plugin set is easier to audit, reproduce, and recover than one profile containing every extension you have tried.
- Use web for the browser interface and headless for scripted one-shot jobs.
- Create a dedicated profile before testing a new bundle stack.
- Record package sources and versions alongside important workflows.
- Apply machine-wide overrides only when every profile truly needs them.