# Compatibility ## Supported host | Component | Supported | | --- | --- | | DeepSeek Harness | `0.1.0-rc.7` exactly | | Node.js | `^22.19.0` or `>=24` | | Client carrier | DSH Web rc.7; Electron uses the same public client module/slots but is not a separate browser target | | Browser runtime | installed Chrome, Edge or Chromium discoverable by path/channel | | Package manager evidence | npm, pnpm, Yarn, Bun | | Real runtime fixtures | npm-launched Vite React, Vite Vue, Next.js and generic script | The package uses exact DSH peer versions because release-candidate APIs and client contribution assembly can change. Installation on another DSH version should fail peer resolution rather than silently claim support. Repository installs use `npm ci --legacy-peer-deps`: several rc.7 packages expose caret peer suggestions that modern npm otherwise attempts to satisfy with rc.8, while the committed lockfile contains no rc.8 package. ## Verified public extension points - Host: tools, subprocess, attachments, settings, System Prompt sections, lifecycle effects and loopback Connection RPC. - Client: rc.7 lazy `dsh.client` CommonJS artifact, Client Module loader, Connection, Runtime, `conversation.view`, `tool.call.toolview`, `settings.section` and settings scope binding. - Bundle: `dsh.bundle.patch` via `cordis.patch.yml`. ## UI placement The rc.7 public additive session surface is `conversation.view`. A general append-only `details` plugin surface is not available to this out-of-tree bundle; replacing an existing details owner would be incompatible. Live Preview therefore appears as its own conversation view, and verification calls use the keyed Tool View. ## Browser discovery An explicit `browserExecutablePath` or browser channel is authoritative and fails clearly if unusable. Automatic discovery checks Playwright's candidate, common platform paths, and Chrome/Edge/Chromium channels. The package ships `playwright-core`, not a downloaded browser. ## Known external constraints - The published top-level DSH rc.7 CLI currently declares many internal DSH packages with caret ranges. A fresh registry resolution can therefore combine a top-level rc.7 CLI with rc.8 internals. This mixed graph failed the real clean-profile test. Use an official rc.7 lock/distribution or exact overrides for the complete internal package graph; the plugin itself keeps exact rc.7 peers and intentionally rejects a mixed ABI. - CSP `frame-ancestors` and `X-Frame-Options` can forbid the direct UI iframe; browser verification and screenshot fallback still work. - When DSH runs remotely, a local UI browser's `localhost` is a different machine. The Host-side browser remains authoritative; direct framing may be unavailable. - Only Chromium is verified. Multi-browser compatibility is outside this plugin's target. - The System Prompt workflow is guidance, not a hard Agent Loop completion gate, because rc.7 exposes no public out-of-tree enforcement hook for that policy. - Cross-origin WebSockets are intentionally blocked. Same-origin dev-server HMR is supported.