DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Palm — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@eternalloveone/dsh-palm

Palm

掌上 dsh — the standalone mobile surface for the dsh web GUI: scan-to-pair device trust, the /m/ phone UI, the /m/api RPC channel with realtime SSE mux bridge, and a polished desktop pairing panel. Extracted from dsh-remote-web-ui (M1, behavior-identical)

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @eternalloveone/dsh-palm@1.4.1
READMECompatibilityVersions

Compatibility and provenance

Palm is published as @eternalloveone/dsh-palm and currently resolves to version 1.4.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/20/2026

Versions

1.4.1stable
9/17/2026
1.4.0stable
9/17/2026
1.3.6stable
9/12/2026
Show 23 more versionsCollapse versions
1.4.0-rc.1prerelease
9/13/2026
1.3.4stable
9/12/2026
1.3.3stable
9/11/2026
1.3.2stable
9/11/2026
1.3.1stable
9/11/2026
1.3.0stable
9/11/2026
1.2.0stable
9/10/2026
1.1.0stable
9/7/2026
1.0.0stable
9/5/2026
0.8.0stable
9/5/2026
0.7.3stable
9/3/2026
0.7.2stable
9/3/2026
0.7.1stable
9/3/2026
0.7.0stable
9/3/2026
0.6.0stable
9/2/2026
0.5.0stable
9/2/2026
0.4.2stable
9/2/2026
0.4.1stable
9/1/2026

Related plugins

Loading related plugins…

Latest
1.4.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
6.5 MB
Files
440
Surface
web
License
Apache-2.0
Source
npm
GitHub
★ 0
Weekly downloads
835
Security scan
✓ v1.4.1 scan passed
Last push
9/17/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
0.4.0stable
9/1/2026
0.3.0stable
9/1/2026
0.2.1stable
8/31/2026
0.2.0stable
8/31/2026
0.1.0stable
8/30/2026

Related plugins

More verified plugins in security-access.

Doctor@linxin666/dsh-doctorTransactional rescue mode for DSH profiles with a supervised launcher, isolated recovery capsule, deterministic repairs, health monitoring, and a local Web recovery consolePocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.Auto Reviewdsh-auto-reviewSecond-model AI auto-review for DeepSeek Harness approval requests: a read-only reviewer subagent decides allow/deny on the approval answerer chain, with fail-closed fallback and full session-log audit.

README

dsh-palm

dsh in your palm — the standalone mobile surface for the dsh web GUI: scan-to-pair device trust, the /m/ phone UI, the /m/api RPC channel with a realtime SSE mux bridge, and a polished desktop pairing panel.

Derived from dsh-remote-web-ui — see NOTICE for attribution.

Install

Requires dsh >= 0.1.5-rc.1 (tested against 0.1.5-rc.2). See the repository-level COMPATIBILITY.md for the version matrix.

dsh plugin --profile web add @eternalloveone/dsh-palm

v1.3.0 note: devices paired by older dsh-palm / dsh-remote-web-ui versions do not carry over (the store moved to dsh-palm-devices.json, the settings namespace was renamed) — re-pair phones once after upgrading.

Highlights

  • Standalone /m/ mobile UI — an independent phone bundle, not a CSS-injected adaptation
  • Desktop-phone live sync — one shared host event stream (measured: loopback 4 ms / public tunnel 9 ms / Tailscale 13 ms median)
  • SSE mux bridge with polling fallback — stall detection (36 s) arms adaptive history polling; events are never lost
  • Windowed streaming renderer — inline-markdown tail preview, no typewriter cursor, collapsible reasoning blocks
  • Interactive diff cards, code actions, command cards, realtime approval panels, image attach, voice transcription, plugin market
  • PWA + offline outbox + gzip-compressed API responses — weak-network friendly
  • Completion notifications — task-finished and long-reply alerts through three layers: in-app system notifications (SSE), Web Push (VAPID), and third-party channels (WxPusher, Server酱 / Bark / Telegram, plus a demoted legacy PushPlus) for when the app is closed; thresholds and cooldowns are configurable from the phone, with per-kind gates (plan-complete / background-task / long-reply) and a lock-screen privacy toggle
  • Global search with message-level locate — search workspaces and every session from the home page, or the current workspace from the session list; hits open the chat and scroll to the matched message with a one-shot highlight (Chinese short words covered by a substring backfill)
  • Pending-message queue dock — messages sent while a turn is running queue in the host and show as a dock above the composer (desktop QueueDock parity): editable, removable, or steered in as an interrupt
  • Global run overview — a full-screen cross-session view of running sessions, live background jobs and the subagents a session is waiting for, reachable from the home page's quick chip with a live badge
  • Error self-rescue — a render crash shows a readable error page with retry / reload instead of a white screen; window errors, unhandled rejections and failed resource loads collect into a bounded ring that the host can forward to your configured channel
  • Eviction-resistant storage — after the first cache write the app asks for persistent storage, so a backgrounded PWA does not silently lose its history cache
  • Jank vs suspension — a Long Task observer plus hidden-window bookkeeping reports suspension.hiddenMs, so "the app stuttered" and "the phone froze us" stop being the same measurement; a capture carries the error ring and the storage picture too
  • In-chat file & image preview — file-path links open a bottom sheet: markdown renders formatted, HTML renders in a sandboxed iframe, code highlights, images display inline; message images open a full-screen lightbox
  • Per-provider usage & balances — one settings card per provider: consumed-quota meters, account balances and OpenRouter's spent-vs-limit, refreshed on demand
  • Six-digit pairing code — type a code on the phone instead of scanning
  • Three-step pairing wizard — configure → pair → use, with tunnel detection (Tailscale one-click, frp entry from frpc.toml), reachability-checked saving, and a clean device-management view once paired
  • Workspace-native theming — the panel follows the system light/dark scheme via prefers-color-scheme

Full feature list, measured data and architecture docs: see the repository README.

Remote access setup

The desktop pairing panel (the phone icon in the sidebar) walks you through three steps: configure → pair → use. To reach this computer from your phone you need an address the phone can reach:

  • Same network — start dsh web bound to your LAN address; the phone pairs over Wi-Fi with zero configuration.
  • Tailscale — install Tailscale on this computer and your phone; the panel detects it and fills your tailnet address with one click.
  • Cloudflare Tunnel / frp — run a tunnel to this machine and enter its public URL in the panel's public-address card. Saving verifies reachability first, so a dead tunnel is caught before it is persisted.

A full walkthrough with a worked frp topology (server frps + nginx TLS, client frpc, panel configuration, verification, and FAQ) lives in the remote access guide.

License

Apache-2.0 — see LICENSE.