When developing agents in the DeepSeek Harness (DSH) environment, you need real-time visibility into current task progress, the PRD checklist, and spec usage. The dsh-trellis-dashboard plugin provides a centralized view for this purpose.
Plugin Positioning¶
This is a DeepSeek Harness plugin that adds a Trellis tab to the conversation view ring in the DSH Web UI, displaying the .trellis/ status of the current workspace. The plugin is maintained by QianziTech and licensed under the MIT license.
Installation and Activation¶
Prerequisites are that DeepSeek Harness (dsh CLI) is installed with the web profile, and the target workspace has been initialized with Trellis.
The installation command is as follows:
dsh plugin --profile web add dsh-trellis-dashboard
After installation, restart the web application. You can verify that the configuration layer has been inserted by running dsh --profile web --dump-config.
Usage¶
- After installing the plugin, open any conversation.
- Click the “Trellis” tab in the conversation view ring.
- The plugin resolves the current workspace and polls the host JSON API every 5 seconds.
- Click the “Set as current task” button to write the session pointer.
Core Features¶
The plugin provides the following information display and actions:
- Tasks and progress: Displays the task list and the resolved result for the current task. If the current session is not bound to a task, it displays “No trellis task” instead of a random task.
- PRD checklist: Displays the acceptance checklist from
prd.mdin the task card. - Spec and skill usage: Reads spec files in real time (accessing
.trellis/spec/**,.agents/skills/**, and.dsh/skills/**viafs/observed) and checks the loading state of skill tools (tools/result). All reads are scoped byexec.agent.id, ensuring that activity in different sessions does not leak. - Session summary: Displays the developer log index for the workspace and the latest
journal-N.mdentries. - Set current task: Writes the session pointer via the “Set as current task” button. This is the only write operation performed by the plugin.
Technical Architecture¶
- Communication: HTTP only. The client polls the
webServerroutes to fetch state because there is no host-to-client push channel. - File system: The host side (
lib/index.js) reads the.trellis/directory throughctx.fsand does not execute Python task scripts. The directory remains read-only; only theset-current-taskendpoint performs writes. - Rendering: Includes a built-in Markdown renderer that renders headings, lists, tables, code, and more inside the tab, without requiring external runtime dependencies.
- Dependencies: The plugin uses dependency-free plain JavaScript and has no build step.
Notes¶
- The DSH CLI with the
webprofile is required. - The target workspace must be initialized with Trellis.
- The plugin does not depend on an external runtime; Markdown rendering is completed in the browser.
The plugin source code is hosted on GitHub.