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

Desktop-grade companion plugin for DeepSeek Harness (dsh). Brings three desktop-class capabilities the stock web UI lacks:
- 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.
screen_capturemodel 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).- Multi-agent tiling canvas β a
conversation.viewtab 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_captureadds one model-facing tool with a short description; its output is an image block in a durabletool/resultevent, 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.overlayframe-wide slot, which exists in DeepSeek Harnessmasterbut 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