dsh-worksite-plugin: Translate DSH session progress into a construction site

Preface

DSH’s session view is presented as a conversation flow by default. After running a long task, you can see the model’s output for each round, but it is hard to tell the engineering progress at a glance: which tasks are done, which stage is currently being handled, if the previous error required rework, and how many tokens were used in this round. Using a text todo list or logs to supplement this requires switching back and forth between the conversation and notes.

Below is an introduction to luotaiyu/dsh-worksite-plugin (Worksite Plugin, DSH Web GUI Session View Plugin). It translates the persistent events, task list, and running status of the current Session into a construction site that is currently under construction: the anthropomorphized engineer “Xiaojiang”, the construction tower, the process route, site dynamics, and the engineering dashboard. The project is maintained by LuoTaiyu, version 0.1.0, license MIT.

What is it

One-sentence positioning: A thematized visualization plugin hanging on the DSH session view switcher ring that does not change model behavior but is responsible for rendering session signals into a worksite view.

  • Package name: @local/dsh-site-view
  • Repository: https://github.com/LuoTaiyu/dsh-worksite-plugin
  • Status view: After installation, open any session, and the “Worksite / Worksite” option will appear in the top session view switcher ring.

Environment requirements are written in package.json under engines:

"engines": {
  "dsh": ">=0.2.1-rc.5 <0.3.0"
}

The GitHub repository name only accepts ASCII characters; Chinese names are cleaned into -, so the actual repository uses the stable slug dsh-worksite-plugin, and the project’s Chinese name remains “Worksite Plugin”.

Core Features

Anthropomorphized Site Engineer “Xiaojiang”

Six states: Thinking, Construction, Acceptance, Delivery, Rework, Standby. Each state comes with an expression, hard hat, blueprint, wrench, and status bubble. The states are directly derived from running, blank, promptAttempted, and error states from useSession().

Construction Tower

Maps todos or session stages into floors. Floors are divided into three states: Completed, Under Construction, and To Be Built, accompanied by a tower crane and workspace hints. Floors with multiple tasks are collapsible.

Process Route

Four-stage process track: Blueprint Review → Main Construction → Quality Acceptance → Delivery. This corresponds to the session stages derived by deriveSite().

Site Dynamics

The last 5 tool calls, categorized as Redrawing, Viewing, Surveying, Construction, Fieldwork, Scheduling, Subcontracting, and Delivery, displayed according to the data from the Session binding’s eventSource (resident session event window).

Construction Checklist and Progress Estimation

Directly reads the current task list from useProjection('todos'). When there is no todo, it falls back to estimation based on session stages.
One point needs to be clarified: The progress here is a session signal estimation, not the completion degree reported by the model itself. The todo takes precedence, while tool activities and acceptance signals act as supplements; this is clearly labeled on the interface.

Engineering Dashboard

Displays six items: Process, Redrawing, Rounds, Time Taken, Tokens, and Exceptions.

Theme and Accessibility

All UI uses --dsw-alias-* theme tokens, supporting Light/Dark modes, keyboard focus, and prefers-reduced-motion.

Installation and Enablement

The README provides three methods, none of which are a single-line command like dsh plugin add, so do not splice based on the plugin name.

Method 1: Install from GitHub

Use “Install Third-Party Plugin” in DSH’s Plugin Manager, entering the commit-pinned Git address:

git+https://github.com/LuoTaiyu/dsh-worksite-plugin.git#5c52c9019e461399feddcf060b4e86522d0c7b06

If you prefer to follow repository updates, you can install using the repository address first, then do an update:

git+https://github.com/LuoTaiyu/dsh-worksite-plugin.git

Method 2: Install from Plugin Market

DSH currently has no official central market; the Plugin Manager’s Discover only lists indexes added by users. This repository comes with a format 1 market index:

https://cdn.jsdelivr.net/gh/LuoTaiyu/dsh-worksite-plugin@main/market.json

Enable Plugins → Experimental plugins → Custom plugin markets, add this index in Discover, and you can search and install “Worksite”.

Below is the plugin market index address, which can be opened for verification using web_fetch:

https://cdn.jsdelivr.net/gh/LuoTaiyu/dsh-worksite-plugin@main/market.json

Method 3: Local Installation

This package is a local Bundle. Install the absolute path of the dsh-site-view directory via “Install Third-Party Plugin → Local Directory” in the Plugin Manager, or complete it via the host side install_bundle.
The current desktop profile is installed to this workspace via the link: method. After moving or renaming the dsh-site-view directory, it needs to be reinstalled.
After installation, open any session and look for “Worksite / Worksite” in the top view switcher ring. If you can’t see it temporarily, refresh the page once to load the new client Bundle.

Data Sources and File Structure

Data is fed into the browser-side client.js through five entry points:

Data Source Purpose
useSession() running, blank, promptAttempted, error states
useProjection('todos') Current task list
useProjection('goal') Persistent goal (optional)
useProjection('title') Session title (optional)
Binding’s eventSource Resident session event window: tool calls, rounds, errors, token usage

File division in the repository:

File Purpose
package.json Bundle manifest, dsh.bundle.patch, dsh.client
cordis.patch.yml Insert site-view line
index.js Host side (empty implementation, responsible for Loader line)
client.js Browser side: conversation.view registration, data derivation, React components, CSS
locale/{en,zh}.json Plugin Manager / Settings display metadata
icon.svg Original icon
market.json DSH plugin market index (format 1)

The browser side derives data into a view model by registering contracts via deriveSite(), buildFloors(), and Client apply().

Typical Usage and Validation

No additional configuration is needed after installation; just enter any session and switch to “Worksite”. To see if the derivation logic itself holds, you can run the pure function tests included in the repository:

node test/derive.test.mjs

Validations recorded in the README:
- node --check passed;
- package.json / locale JSON parsing passed;
- Assertions for deriveSite(), buildFloors(), and Client apply() registration contracts passed, covering idle, construction, partial completion, full completion, error rework, multi-task floor collapsing, slot registration;
- Installed to desktop profile, dsh.profile.bundles contains @local/dsh-site-view;
- Running Host /plugins/events graph includes @local/dsh-site-view, final client Bundle returns 200 and passes syntax check;
- Bundle manifest, locale, and icon export checks passed.

Pending validations: Final visual acceptance in a real browser (the current environment does not have available page control/screenshot channels). After installation, rely on the actual page to check light/dark themes, narrow windows, sessions without todos, and error sessions.

Use Cases and Notes

Suitable for DSH users who want to see task progress, tool activities, and round consumption directly in long sessions. It imposes no requirements on model capabilities and does not change session behavior.

A few points to note:
1. The plugin runs with current dsh process permissions. Before installing, check the source code and license (MIT), and confirm the third-party index and commit pin are trustworthy;
2. The progress on the interface is a session signal estimation, not an exact completion degree, do not treat it as an acceptance checklist;
3. The market index is added by users themselves; DSH has no official central market, and the community directory is an independent site with no official affiliation with DeepSeek / Huafan;
4. The version is still 0.1.0, and visual acceptance has not been performed in a real browser yet. It is recommended to install on a test profile first.

Summary

The value of this plugin lies in gathering scattered session signals into a unified worksite view: todos become floors in the construction tower, stages become process routes, tool calls become site dynamics, and progress bars become rounds and tokens in the dashboard. It does not replace the todo list but adds a scanable progress panel to long sessions.

  • Directory page: https://www.skillhub.cn/plugins/LuoTaiyu/dsh-worksite-plugin
  • GitHub: https://github.com/LuoTaiyu/dsh-worksite-plugin
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye