Introduction¶
When running agent sessions with DeepSeek Harness (DSH), a common problem arises: agents create and modify a large number of files during work, and may also submit some state changes through tools, but this information is not intuitive. To confirm exactly which files the agent touched, what deliverables were produced, and what Memory proposals were submitted, one often needs to leave the conversation interface to rummage through the file system.
dsh-workshpace-plugin targets this scenario. It adds a Workspace tab to the local DSH Web UI session view, allowing you to check files touched by the agent, review session artifacts, preview bounded content, and manage local Workspace Memory without leaving the session. This also aligns with DSH’s “everything is a plugin” philosophy: capabilities are integrated as plugins without modifying the shell.
Below is an introduction to the positioning, features, installation, and usage of this plugin.
What is it¶
dsh-workshpace-plugin is maintained by kaiqiangh, the README title is DSH Workspace Plugin, and the version number in package.json is 0.8.0. A one-sentence positioning: Add a Workspace tab to the local DeepSeek Harness Web UI to check content touched by the agent, review read-only Sub-agent Trace, review session artifacts, preview content, check Git changes, and manage governed local Workspace Memory, all without leaving the conversation. The community directory categorizes it as “Memory,” which matches its Workspace Memory management function.
A naming detail to watch out for: the repository/directory name is dsh-workshpace-plugin, but the package name in package.json is dsh-workspace-plugin, with inconsistent spelling. The installation command references the repository directory name, so don’t misspell it when entering the path.
Core Features¶
The following capabilities are from the repository README:
-
Workspacetab in the session view. Located next toTrajectory; starting from v0.2, the old floating panel and bottom-right pill were removed, and this tab is the sole entry point. -
Read-only
Sub-agent Trace. Located above the Workspace tabs, providing a bounded sub-agent ancestry tree and details of the selected item, used to follow local Session-backed sub-agents; tabs for unavailable or corrupted items are retained rather than showing as empty. -
Session summary block. At the top of the Workspace, content touched by the agent is summarized on demand: files, artifacts, memory/decision counts, and active spans by type. Because it is derived on demand, active sessions and reopened sessions behave consistently.
-
Artifactstab. Displays session deliverables grouped by type, searchable by name, showing size, modification time, and preview status for each item. Supports copying paths and one-click download. The preview is a read-only multi-tab format; Markdown preview can render relative images and mermaid diagrams, and PDF supports streaming preview. -
Memorytab. Allows viewing, creating, verifying, pinning, archiving, and forgetting project/session Memory records. Proposals submitted by the agent viaworkspace_memory_proposeare stored asunverifiedand require manual Verify or Reject. Starting from v0.2, session auto-writers derivefactrecords from agent tool activity per session. Supports Export. -
Gittab (hosting two views: Changes and History). The top is the repository status header: branch + short head, dirty/clean, staged/unstaged/untracked counts, ahead/behind. Changes are grouped into three types, filterable by status, providing colored line numbers for unified/split diff,+N −Mstatistics, and copying diffs; History provides a list of commits and per-commit file/diff details. Non-Git workspaces display a clean “not a Git repository” status. -
Interface details. The three tabs share a visual system, support auto-refresh, friendly empty/error states, and keyboard operation. The styles are scoped and won’t globally change the Harness shell. All copy is provided in English and Chinese, following the Harness app language; browser language is used as a fallback.
Installation and Enablement¶
Environment requirements: Node >= 22.18.0.
First, build the plugin from this repository. npm run build will write the artifacts to lib/ and copy the mermaid vendor bundle to lib/assets/:
npm install
npm run build
Then run the registration command in the Harness project directory (adjust relative paths based on the checkout location of this repository). Registration information is saved to the local Harness profile:
dsh plugin --profile web add ../dsh-workshpace-plugin
Then start the Web UI, opening the browser at http://127.0.0.1:3080/:
dsh web
Two reminders: After rebuilding the plugin, you need to restart the Web UI to load the latest bundle; you only need to re-run the add command when registration or linked paths change; restarting is sufficient to rebuild already linked plugins.
Typical Usage¶
The usage flow provided in the README is as follows:
- Open Harness Web UI and select a model.
- Select or create a Workspace-backed session.
- Start the conversation and let the agent create or check files.
- Open the
Workspacetab in the session view. - View the
Sub-agent Traceabove the tabs to follow local Session-backed sub-agents. - Use the
Artifacts/Memory/Gittabs as needed.
If local development verification is needed, you can run the following commands:
npm test
npm run check
npm run build
npm run smoke:compat
Applicable Scenarios and Notes¶
Suitable developers: Those who need to verify agent behavior during or after a session—confirming which files the agent modified, reviewing session artifacts, handling Memory proposals submitted by the agent, and checking workspace Git status, all without leaving the conversation interface.
Notes during use:
-
Artifacts and Memory read session-level data, not global file lists; you need to open Workspace from an active Harness session; the Git view requires the workspace root to be a Git repository.
-
Historical sessions created before v0.6 cannot be reopened. Old versions persisted custom
workspace/summaryevents to session logs; DSH’s cold persistence path refuses to load logs containing unknown non-ignorable event types; affected logs cannot be safely rewritten, and these sessions are unrecoverable and can only be deleted or a new session created. Starting from v0.6, this event is no longer persisted, and new sessions can be reopened normally. -
If the Web UI started before the v0.6 rebuild, Markdown images and mermaid diagrams may not display; you need to restart
dsh webto register new routes (/workspace/vendor/mermaid.js, Range/ETag for/workspace/resource). -
Memory Export downloads to an empty bundle (
"records":[]) only when the session has neither Memory nor agent file activity; active sessions will export auto-derived facts even if no manual records exist. -
Old Web processes may provide cached bundles (e.g., the old floating panel is still visible); you need to stop the current process and re-run
npx @deepseek-ai/dsh web.
Additionally, it must be stated: The plugin runs with the permissions of the current dsh process; you should check the source code and license before installing. The scraped data for this plugin does not mention license information, so please confirm at the repository yourself before installing. If you wish to understand the design in depth, you can refer to CONTEXT.md (project terminology), docs/adr/ (architecture decisions), docs/DSH_Workspace_PRD.md and docs/DSH_Workspace_ARD.md (product/architecture docs), and docs/MEMORY_STORAGE.md (Memory storage details) in the repository.
Conclusion¶
dsh-workshpace-plugin gathers scattered files, artifacts, Memory, and Git status from the agent session into a single tab in the Web UI, allowing the verification of agent behavior to be completed within the conversation flow. It is suitable for developers who seriously use DSH locally.
- Community Directory Page: https://www.skillhub.cn/plugins/kaiqiangh/dsh-workshpace-plugin (This directory is an independent community site and has no official affiliation with DeepSeek / 幻方)
- GitHub Repository: https://github.com/kaiqiangh/dsh-workshpace-plugin