Desktop-grade companion: browser native notifications for user questions and approval interactions, screen capture model tool, multi-agent tiling grid view, and lightweight Tauri desktop shell.
Install
# from npm (prebuilt)
dsh plugin --profile web add @mixian/dsh-desktop-plugin
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:FuqiangCraft/dsh-desktop#path:/packages/dsh-desktop-plugin
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README

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
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 8567
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 8567
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4363
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
ccch1mneyyy/dsh-TUI★ 4235
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/DSH-better-sidebar★ 4081
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1441
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.