Back to marketplace

dsh-desktop

UI & Experience

FuqiangCraft/dsh-desktop

A desktop companion plugin and native shell for DeepSeek Harness, offering desktop notifications, screen capture tool, multi-agent tiling canvas, desk pet, and native window management.

  • cordis-plugin
  • deepseek
  • deepseek-harness
  • dsh
  • dsh-plugin
  • multi-agent
GitHub Stars
5GitHub
Views
0DSH Plugin Hub
Forks
0GitHub
Open issues
1GitHub Issues
Manifest version
0.1.1@mixian/dsh-desktop-plugin
Latest push
Sep 3, 2026GitHub
License
MITTypeScript
Plugin type
Host + ClientRuns in both Host and Web Client

Verification and compatibility

This section shows evidence collected by the catalog. Undeclared information is labeled as unknown.

Runtime verified
01Exact source: npm · @mixian/dsh-desktop-plugin@0.1.102Validated: Sep 3, 202603Verified Harness: 0.1.0-rc.7
Current-version compatibility
Verified on the catalog Harness version
Declared Harness range
Not declared
Declared platforms
Not declared
Profiles
web
Build approval
No requirement detected
Permissions
Not declared
External services
Not declared
Telemetry
Unknown
No known risk flags found

This is not a security endorsement. Review source, permissions, and configuration before installing.

View evidence and scope

Verification covers only the named source, version, and Harness environment. It does not guarantee future compatibility.

  • @mixian/dsh-desktop-plugin@0.1.1
  • The plugin completed a load check in an isolated environment.

README

View source

DeepSeek Harness Desktop Pro

CI npm version Node.js License: MIT

A Rust/Tauri desktop shell and Cordis plugin for DeepSeek Harness (dsh). Rust owns the native lifecycle, windows, tray, notifications and signed updates; a supervised Node.js sidecar runs the compatible DSH/Cordis runtime.

English | 中文

What it does

CapabilitySideNotes
Interaction notificationsclientSubscribes to the sessions store; fires a browser desktop notification when a session waits on an approval, question, or plan review. Click opens that session.
screen_capture model toolhostCaptures the primary display and commits the screenshot into the conversation as an image attachment. Disabled by default — see Consent.
Multi-agent tiling canvasclientA conversation.view tab rendering a live, read-only grid of sessions and sub-agents from the sessions store.
Desk petclientA floating companion window (cat / robot / whale) driven by a state engine that derives pet state (idle / thinking / working / alert / success) from live sessions. Ships a custom navigation icon in the dsh nav bar.
Desktop settingsclientA settings section for pet preferences: enable/disable, character (built-in robot / whale / cat or a custom PNG), and size.
Native shellappRust/Tauri app that supervises the DSH sidecar, embeds the local Web UI in a frameless WebView2 window, and provides native workspaces, tray controls, companion windows and signed GitHub Releases updates.

How it plugs in

  • The package declares a dsh.bundle manifest (object form: { "patch": "./cordis.patch.yml" }) — this is what dsh recognizes as an installable plugin. dsh.client declares the web platform and the @deepseek-ai/* runtime packages it injects.
  • Host side registers the screen_capture model tool only.
  • Client side reads the sessions store and the question/requested interaction stream (via the PendingWait.answer channel) — it never registers a second ctx.userQuestions provider, so it works against the published runtime with no slot conflicts.
  • The client bundle is a single file wrapped in the window.__ModuleLoader__.load({ id, factory }) handshake (see build.mjs).

Install

The plugin ships as @mixian/dsh-desktop-plugin with a dual-face Cordis bundle (dsh.bundle + dsh.client). Mount it with either mechanism:

# via a profile (recommended)
dsh plugin --profile web add @mixian/dsh-desktop-plugin

# from a source checkout
dsh plugin --profile web add ./packages/dsh-desktop-plugin

# or as a one-off overlay (no install)
dsh web --patch ./packages/dsh-desktop-plugin/cordis.patch.yml

Consent

screen_capture exposes the operator's whole display. It is not registered unless screenCapture: true is set explicitly in the profile patch:

# ~/.dsh/profiles/web/cordis.patch.yml
- id: dsh-desktop-plugin
  config:
    screenCapture: true   # opt in: registers the screen_capture tool

The captured image is always surfaced back into the conversation for transparency — it is never silently injected.

Run the desktop app

pnpm install
pnpm dev             # Rust/Tauri development app
pnpm tauri:package   # Signed Windows production bundle (signing env required)

Requires Node.js ≥ 22 and pnpm 11 (corepack enable).

Model Experience

  • The plugin adds no tokens when idle: the notification watcher, canvas, desk pet, and settings are client-side and read the sessions store; they never enter the model context.
  • screen_capture adds one model-facing tool with a short description; its output is an image block in a durable tool/result event, subject to the same attachment limits as any image in the session. It requires a model that accepts image input.

Known Limitations

  • Screen capture is host-only and captures the primary display; multi-monitor and region capture are not supported.
  • The multi-agent canvas is a read-only monitor; it does not create or attach sessions.
  • Notifications fire as native OS notifications in the desktop shell and fall back to the browser desktop-notification API in the web runtime. The Alt+Space global quick panel is planned, not shipped.
  • Time travel, session rewind, and live fork are not implemented.

Development

pnpm install
pnpm check          # lint + typecheck + Node/Rust tests + plugin build + runtime verification
pnpm dev:plugin     # plugin dev loop

Project layout

packages/dsh-desktop-plugin/   # dual-face Cordis plugin (dsh.bundle + dsh.client)
packages/dsh-desktop-rust/     # Rust/Tauri native desktop shell
packages/dsh-desktop-sidecar/  # supervised Node.js DSH/Cordis runtime
stubs/                         # local type-stubs for unpublished @deepseek-ai/* transitive deps
docs/                          # ARCHITECTURE_ANALYSIS + PUBLISHING_GUIDE (verified 2026-08)

Documentation & community

The repo carries the dsh-plugin, deepseek-harness, and cordis-plugin topics for ecosystem discovery.

License

MIT

Comments

0
Newest first