DSH Plugin MarketA community catalog for DeepSeek Harness plugins

Smart-DSH

Unconfirmed Interface & experience ★ 35 0.0.0

Unofficial DeepSeek Harness plugin: mobile-friendly UI, Web Push notifications, and Linux Tailscale setup guide

What it is

Unofficial DeepSeek Harness plugin: mobile-friendly UI, Web Push notifications, and Linux Tailscale setup guide

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add 'git+https://github.com/hikarioyama/Smart-DSH.git#63d6d9ca3d4a5bda7a8d39c3ecafca2a76772eac'

DSH versions accepted

Undeclared

Author and traction

hikarioyama · ★ 35 · Updated 2026-09-29

About this plugin

Smart-DSH — Mobile UI, notifications, and Esc-to-stop for DeepSeek Harness

An unofficial DSH plugin bundle and Linux setup guide, not a fork of DSH. Keep upstream DSH installed; add Smart-DSH for: Mobile UI: full-width chat and composer, logo opens the session list, no logo tooltip or tap tint. Notifications: questions and top-level turn-end notifications through Web Push. Esc to stop: press Escape to cancel the running turn, switchable from Settings → General. Remote access guide: connect a phone using tailnet-only Tailscale Serve HTTPS. Subagent task delegation: roles with one exclusive verb each (worker / explorer / hacker / reviewer), a sibling hub with durable logs, and a subagent conversation tab. OpenCode Go model catalog: keep the llm-pi-ai OpenCode Go route current with every model the subscription actually serves (scripts + guide). Multi-tab reliability: an optional, guarded shared-HMR workaround prevents upstream developer-update connections from exhausting Firefox's HTTP/1.1 connection slots.

This is an unofficial community extension; it is not affiliated with DeepSeek. Compatibility is tested against DSH 0.1.2-rc.1; mobile styles use version-specific selectors. Turn-end notifications describe agent turn termination, not independent verification that every requested task succeeded.

A self-contained DeepSeek Harness (DSH) bundle (dsh-notify-push) plus setup notes for the paired remote-access infrastructure (Tailscale Serve + phone). When the agent calls ask_user_question, your phone receives a Web Push notification with the question text — even when no browser is connected. When a turn ends, you get a completion notification whose title reflects the end reason (作業完了 / token-cap truncation / blocked / error / aborted); subagent turns do not notify — only top-level sessions. Tapping a notification focuses the app.

A second, dependency-free bundle (dsh-esc-stop) adds the keyboard gesture the composer's stop button already performs: Escape cancels the turn that is running now. Menus, dialogs, the queue-message editor, and IME composition keep their own Escape, and the whole gesture has one ON/OFF row in Settings → General — no file editing and no restart to toggle it. See Esc-to-stop. Status: working setup on Arch Linux, verified 2026-09-07 with real deliveries to Android Chrome and desktop Firefox. Host-specific identifiers are omitted from these setup examples. Requirements How it works The state directory follows DSH_HOME (default ~/.dsh), so nothing here is hard-wired to a specific user. Install Dependency note: dsh profiles use nodeLinker: hoisted in their pnpm-workspace.yaml, so the pnpm add in step 1 lands inside the profile's node_modules and resolves from the linked bundle. If step 4 reports that web-push can't be resolved, re-run step 1 and then pnpm install in the profile dir.

Then restart and enable:

Expected result: ~/.dsh/notify-push/vapid.json + subscriptions.json appear on first start; each enabled device appears as one subscription; asking the agent a question that triggers ask_user_question produces a notification on every enabled device. Fresh tabs show “No sessions yet”

On DSH 0.1.2-rc.1, upstream client-hmr opens a permanent developer-update connection for each tab. Enough tabs can exhaust a browser's HTTP/1.1 slots, preventing fresh session-list requests and WebSocket handshakes. This is unrelated to the dsh-notify-push notification plugin and does not mean sessions were deleted.

Smart-DSH includes a version- and checksum-guarded workaround that shares one HMR connection across tabs. From this checkout:

It does not restart DSH or alter browser preferences/session data. Unknown versions or existing local edits are rejected. This is a separate, optional install step; copying only dsh-notify-push does not apply it. See the workaround guide for explicit paths, rollback, browser requirements, live-update limitations, and rechecking after DSH upgrades. Esc-to-st

Similar plugins