Skip to content

dsh-desktop-plugin

Verified

@mixian/dsh-desktop-plugin Β· v0.1.1 Β· MIT Β· Web UI

Desktop-grade DeepSeek Harness plugin: native notifications for user questions/approvals, a floating attention HUD, a screen-capture tool, and a multi-agent tiling canvas.

Install

dsh plugin add @mixian/dsh-desktop-plugin

Confirm the layer applied with dsh --profile default --dump-config β€” see the install guide.

Source

Tags

Creators

Readme

@mixian/dsh-desktop-plugin

DSH Desktop Plugin logo

Desktop-grade companion plugin for DeepSeek Harness (dsh). Brings three desktop-class capabilities the stock web UI lacks:

  1. Native notifications for user interactions β€” when any agent session enters a pending interaction (approval, question, or plan review), a browser desktop notification fires. Click it to jump into the session where the stock approval/question UI lives.
  2. screen_capture model tool β€” captures the host display and commits the screenshot into the conversation as an image attachment, so the model can see what is on screen. Disabled by default (see Consent).
  3. Multi-agent tiling canvas β€” a conversation.view tab that renders a live grid of every session and sub-agent, read straight from the sessions store.

A floating attention HUD and native OS shell (tray, global hotkey) are planned; see Known Limitations.

Install

The plugin ships 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

# or as a one-off overlay
dsh web --patch /path/to/@mixian/dsh-desktop-plugin/cordis.patch.yml

Enable the opt-in screen_capture tool by patching the row's config:

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

Consent

screen_capture exposes the operator's whole display. It is not registered unless screenCapture: true is set explicitly, and it only fires when the model decides to call it (typically after the user asks for a screenshot). The captured image is always surfaced back into the conversation for transparency β€” it is never silently injected.

Model Experience

  • The plugin adds no tokens when idle: the notification watcher and canvas 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

  • The floating attention HUD targets the shell.overlay frame-wide slot, which exists in DeepSeek Harness master but is not yet present in the published client runtime (@deepseek-ai/dsh-client-*@0.0.1-rc.1). The component ships ready but is mounted only once that slot is published. The notification watcher needs no slot and works today.
  • Screen capture is host-only and captures the primary display; multi-monitor and region capture are not yet supported.
  • The multi-agent canvas is a read-only monitor; it does not create or attach sessions.

License

MIT