Skip to main content

How to use pilot-harness

DSH browser surface composition package, overlays Web host and browser plugins on dsh-base, registers frontend dist, URL output, and DSH_WEB_URL variable.

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 / @deepseek-ai/dsh-web-app

— source: plugin_wiki.wiki_content

Install & verify

dsh plugin --profile web add @deepseek-ai/dsh-web-app

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 this bundle and what is it for?

It is dsh's "Web surface" bundle, which adds a layer on top of dsh-base containing all the hosts and browser plugins needed for a browser interface. After installation, start a local GUI service via dsh --profile web.

What is the relationship with dsh-headless and dsh-desktop?

These three are sibling surface bundles on dsh-base. web-app is the browser surface, headless is the headless surface, and desktop is the desktop application; they do not nest with each other, and you load one of them via --profile.

Will it automatically open the browser after starting? Can it be disabled?

This bundle itself is not responsible for launching the system browser; it only prints a line dsh web: http://127.0.0.1:<port> when the port is ready. Whether other layers (such as desktop or external supervisor) open the browser is outside the scope of this bundle.

Why is --host 0.0.0.0 rejected?

The bundle currently intentionally does not support binding to all network interfaces (it will report a usage error and exit before activation), because this would expose remote code execution capabilities to the network. Please use 127.0.0.1 or LAN trusted host mode.

What to do when "frontend dist not built" is reported?

This means the repository has not built the frontend dist. This bundle treats the dist path as internal workspace knowledge, requiring you to first run pnpm run build at the repository root, then start dsh --profile web.

What is the DSH_WEB_URL variable for?

The bundle registers a bash-visible runtime variable DSH_WEB_URL, which is resolved from the currently listening local URL on each invocation. Models and scripts can use it to locate the current GUI.

Why are some tools/toolbars shared with dsh-base disabled in Web?

Web moves the agent plane (tool-bash, tool-pwsh, tool-fs, tool-skill, tool-subagent, etc.) to session-level agent presets, while the host plane only retains registry and services, so networked agents are assembled according to their respective presets.

HMR doesn't seem to be working?

The HMR line is currently set to disabled in cordis.patch.yml, with a TODO: to re-enable after web-side reload lifecycle testing is complete; client plugin hot reload requires the pnpm run dev:web watcher to trigger.

— source: plugin_wiki.faq_json

Compatibility

  • DSH: 0.1.0-rc.7+
  • Node: ^22.19.0 || >=24.0.0 (来自 monorepo 根 package.json)

— 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