Packages

August 25, 2026 · View on GitHub

This directory holds all first-party bundles that ship inside the DeepSeek Harness Code desktop app. Every package is reconciled through the public dsh plugin --profile web add flow using the auto-detected system Node (22.19+ or 24+, excluding Node 23) and bundled pnpm runtime — no manual package.json edits.

Integrated plugin inventory

PackageDirectoryRoleEntryClient
deepseek-harness-desktop-pluginpackages/desktop-plugin/lifecycle, settings (General), transitions, ThinkingOrb, clipboard paste, question protocol bridgeindex.jsclient.js (esbuild, Harness externals, thinking-orbs@0.3.1)
dsh-ui-motionpackages/dsh-ui-motion/route transitions, motion tokensindex.jslib/client.js
dsh-model2-selectorpackages/dsh-model-two-level-selector/two-level model + reasoning picker (fixed two-row L1, flyout L2)index.jslib/client.js
dsh-ui-polishpackages/dsh-ui-polish/inject-style motion + sidebar + settings polish (4 toggle groups)index.jslib/client.jsdata-uip-* gates)
dsh-updater-checkpackages/dsh-updater-check/plugin-owned General row + desktop/LAN update status panel; host owns fetch/manifest/verify/replaceindex.jslib/client.js
dsh-prompt-principlespackages/prompt-principles-plugin/layered prompt injection for Standard-like sessions (Minimal/anchor skipped)index.jsclient.js + host system-prompt/assemble
dsh-vision-routerpackages/ via dsh-vision-router (vendored)vision chain + 11 pixel tools, free OVH fallbacklib/index.jshost + client
dsh-better-sidebarpackages/better-sidebar/file/browser/terminal/git workbench, ctx.betterSidebar service APIlib/index.jslazy chunks
dsh-superpowerspackages/dsh-superpowers/Coding heavy-mode gate (subagent/workflow/ralph) + prompt injectionlib/index.jslib/client.js
dsh-code-brandpackages/dsh-code-brand/brand lockup code badge injectionindex.jslib/client.js
deepseek-harness-compositionpackages/app-composition/MCP (everything + Context7) + subagent providers (codex/claude) via cordis.patch.ymlcordis.patch.yml
superpowerspackages/superpowers-skills/bundled Superpowers 6.2.0 skill collection
anchored-standardpackages/anchored-standard-plugin/progressive Agent Preset (preset + zero/whoami variants)preset/agent.cordis.yml
watchdogpackages/watchdog/independent IPC watchdog (crash-loop marker, bounded backoff)src/entry.ts

Build

pnpm build              # clean + maintained Harness + node-runtime + routing-suite + desktop + plugins
pnpm build:plugin       # desktop plugin only (esbuild)
pnpm build:sidebar      # better-sidebar
pnpm --dir packages/anchored-standard-plugin test

Conventions

  • cordis.patch.yml per package declares the loader row (bare package names; --expose-internals in the Harness child).
  • Client bundles are built with esbuild/tsup and declare Harness externals (@deepseek-ai/dsh-client-*, React).
  • Generated client.js/index.js bundles are gitignored from lint/format scope.
  • dsh-better-sidebar exposes ctx.betterSidebar.registerTab / registerFileViewer — third-party plugins depend on it as an optional peer.
  • dsh-updater-check owns the visible General row and update panel. Desktop actions use the fixed preload updater group; trusted-LAN browsers receive read-only JSON/SSE status from /__dsh/update/status and /__dsh/update/events. Update bytes, SHA-256 verification, platform replacement, and restart remain Electron-main responsibilities. Linux .deb assets remain notify-only.

Related: Architecture · Lifecycle · Upstream baseline · Better-sidebar guide