Preface¶
The DSH ecosystem emphasizes “everything is a plugin,” but the community directory is an independent site with no official affiliation to DeepSeek / High-Flyer. For developers using DeepSeek Harness, a specific need is to see the agent’s current status, approval requests, tool executions, and task results with minimal disruption in the Web GUI. dsh-dynamic-island addresses this scenario by mapping Harness states to a floating component in the Web GUI, reducing the need to switch back and forth between event streams, logs, and the native approval entry points.
What This Is¶
dsh-dynamic-island is a Liquid Glass-styled Dynamic Island for the DeepSeek Harness Web GUI, maintained by YLifeOnlyOnce and licensed under MIT. It is positioned as a client-side plugin that mounts to the shell.overlay floating slot of the Web GUI.
The README describes the current state as a high-fidelity design prototype, indicating ongoing design, iteration, and validation before becoming an official plugin; therefore, the level of production readiness needs further confirmation per the repository documentation.
Core Features¶
Below are the verified plugin capabilities:
- Maps Harness states to eight states:
idle,thinking,working,approval,complete,alert,blocked,max-tokens. - Provides “Approve / Not Now” buttons in the
approvalstate and syncs Harness approval results. - Displays
tool call/tool result, includingexit code,duration, and command copy. - Shows goal progress ring, tri-state task list, background job chips, recent wins, and model badge.
- Supports drag positioning and remembers the position after reload.
- Supports
⌘K/Ctrl+Kcommand palette,Escto collapse, and auto-demo mode. - Built with React and CSS; the README states zero additional runtime dependencies, but
package.jsondeclaresreactandreact-domas peerDependencies. - Respects
prefers-reduced-motionand retains real buttons, not relying solely on color to convey states.
Installation and Enabling¶
Below is the installation method for a DSH web profile. After installation, restart the web profile so the plugin mounts to the Web GUI.
dsh plugin --profile web add dsh-dynamic-island
dsh --profile web
If you only want a local demo, you can also run the Vite development server from the source:
npm install
npm run dev
Open the address printed by Vite to access the Dynamic Island demo dock and view the eight-state transitions.
If you want to install from source as a plugin, first build the plugin artifact, then add the local repository path to the web profile:
npm run build:plugin
dsh plugin --profile web add /path/to/this-repo
Typical Usage¶
Below are common operations listed as reproducible steps.
- In the
approvalstate, click “Approve / Not Now” and observe the immediate feedback from the Dynamic Island. - Click “View Process” to expand tool cards, check the
exit code,duration, and copy the command with one click. - Click “Checklist” to expand the tri-state task list and view goal round progress via the goal ring.
- When
alertappears, clickRetry; whenblockedappears, clickunblock; whenmax-tokensappears, clickcontinue. Thestopaction is left to the native Harness UI. - Drag the Dynamic Island to a new position, and the position will be remembered across reloads.
- Press
⌘KorCtrl+Kto open the command palette; pressEscto collapse the Dynamic Island; use auto-demo to see the state transitions ofidle,thinking,working,approval,complete.
Applicable Scenarios and Notes¶
It is suitable for users who want to quickly determine—within the DeepSeek Harness Web GUI—whether the agent is thinking, executing tools, waiting for approval, or how a task ends. Points to note:
- The README currently describes it as a high-fidelity design prototype; the production plugin still needs to define client slot/connection injection points, as well as rules for
no active session,dropped stream,parallel sessions,HMR reloads, etc.; these rules are not yet finalized. - The plugin mounts to the
shell.overlayof the Web GUI, is installed and run for the web profile, and enters the DSH client runtime environment. - As a client-side plugin that reads Harness state and injects it into the Web GUI, it should run with the permissions of the current dsh process; before installation, check the source code, injection points, license, and the compatibility of the
react/react-dompeerDependencies.
Reference Links¶
- Directory page: https://www.skillhub.cn/plugins/YLifeOnlyOnce/dsh-dynamic-island
- GitHub: https://github.com/YLifeOnlyOnce/dsh-dynamic-island