How to use pilot-harness
DSH shared base profile bundle, inserts 100+ base plugin lines at once via cordis.patch.yml as the first layer for all profiles.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
pilot-harness (dsh-base bundle)
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add @deepseek-ai/dsh-base
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- A real desktop app — Electron packages the local Harness runtime for macOS, Windows, and Linux, owns native window behavior, and provides a recovery screen when startup needs attention.
- A calmer CodePilot-inspired interface — consistent tokens, radii, menus, hover states, settings cards, Markdown, conversation/trajectory navigation, and platform-aware title bars.
- Workspace context without clutter — project-aware conversation rows show branch, state, reminder summary, mode, and model details, while Files opens as a true right sidebar.
- Plugin-first extensions — the theme, Worktree sidebar, Schedule summary, and Session-log export remain Cordis/DeepSeek Harness rows rather than desktop-only business logic.
- Reversible customization — disabling the CodePilot theme row removes its product mark and visual overrides so the stock Harness presentation can take over again.
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
What is the difference between this bundle and a regular plugin?
It has no runtime API (src/index.ts is an empty export) and provides no Service; its entire 'content' is the cordis.patch.yml in the repository, which is read by the profile composer via the dsh.bundle.patch manifest field and inserted into the empty profile root as the first layer patch for all profiles.
What capabilities are automatically enabled after installation?
It will mount 100+ plugin lines at once, including LLM adapters, agent default model selection, file system/sandbox/subprocess/tools (bash or pwsh, fs, web search, todo, subagent, etc.), session persistence, settings and credentials, telemetry, etc.; Codex and Claude Code provider are not automatically mounted and require a separate profile selection.
Can I override a specific plugin configuration in this layer individually?
Yes, but you must use the 'whole line replacement' approach: subsequent profile layers (other bundle layers or user's cordis.patch.yml) rewrite the entire line's config by line id, and patches don't perform field-level deep merging, so when overriding, you must restate all the fields you want to keep.
Can I still use bash tools on Windows?
By default, no. The base bundle gates two shell stacks by platform: bash-sandbox/tool-bash is enabled on non-win32, pwsh-sandbox/tool-pwsh is enabled only on win32. If Windows users want to restore bash tools, they must disable both pwsh lines and re-enable both bash lines in their profile or home cordis.patch.yml, changing only one side will cause a direct error during loading.
Is its telemetry on or off by default?
Off by default. The base bundle mounts dsh-session-telemetry-otel but the mode defaults to DISABLED, and it only actually reports when the environment variable DSH_TELEMETRY_MODE is explicitly set to FULL or FEEDBACK_ONLY.
Where will my session content be persisted?
Determined by session-persistence-jsonl mounted by the base bundle, with root resolving to the sessions directory under $DSH_HOME; large binary attachments like images go through attachment-local. Full-text search for sessions is off by default, and is enabled by subsequent profile layers when needed through session-query-sqlite.
— source: plugin_wiki.faq_json
Compatibility
- DSH: 未声明(与 workspace 同步发布 @deepseek-ai/dsh-* 0.1.0-rc.7 同代)
- Node: >=22.19.0(仓库根 engines.node: ^22.19.0 || >=24.0.0)
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule