kaiqiangh
dsh-workshpace-plugin
Inspect the files an agent touched, review session artifacts, preview bounded content, and manage local Workspace Memory without leaving the conversation.
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 16, 2026
Introduction
DSH Workspace Plugin
DSH Workspace adds a Workspace tab to the local DeepSeek Harness Web UI. It lets you inspect what an agent touched, review session artifacts, preview bounded content, inspect Git changes, manage governed local Workspace Memory, and review Memory proposals the Agent creates — all without leaving the conversation.
What it is for
Harness sessions can produce useful files and state while an agent is working, but that information should not take over the chat layout. This plugin keeps the Workspace experience compact and session-aware:
- a
Workspacetab besideTrajectoryin the conversation view row (the only entry); - a per-session summary card in the chat that shows what the agent touched (files by kind, artifacts, memory/decision counts, active span);
- tabbed surfaces:
Artifacts,Memory, andChanges; - artifact previews, Memory governance controls, and Git diff inspection stay inside the surfaces;
- Memory is auto-written per session as derived facts, so Export carries useful information;
- the surfaces use scoped styles so they do not change the Harness shell globally.
Install the plugin
Build the plugin from this repository:
npm install
npm run build
Register the built plugin with a local Harness checkout. Run this from the Harness project directory, or adjust the relative path to where this repository is checked out:
npx @deepseek-ai/dsh plugin --profile web add ../dsh-workshpace-plugin
The command stores the Web plugin registration in the local Harness profile.
Start the Web UI
npx @deepseek-ai/dsh web
Open http://127.0.0.1:3080/ in a browser. Restart the Web UI after rebuilding the plugin so it loads the latest bundle.
Use Workspace
- Open the Harness Web UI and select a model.
- Choose or create a Workspace-backed session.
- Start the conversation and let the agent create or inspect files.
- Open the
Workspaceconversation tab. - Use the tabs:
Artifacts— inspect session-created deliverables (grouped by type) with bounded previews and download;Memory— review, create, verify, pin, archive, or forget project/session Memory records, review Agent proposals (model-suggesteditems show as unverified until you Verify or Reject them), and see session facts the auto-writer derived from agent activity;Changes— working-tree and staged Git changes with unified diffs.
The Workspace tab renders the three surfaces in a card-based layout with scoped styles; the chat summary card above the conversation tracks the same session facts.
Develop and verify locally
npm test
npm run check
npm run build
npm run smoke:compat
npm run build writes the runnable package bundle to lib/. The Web profile loads that bundle when the plugin is registered.
Troubleshooting
- The Workspace tab is missing: rebuild the plugin, restart
dsh web, and add the plugin again if the local profile was created before the build. - The old floating panel is still visible: an older Web process is serving a cached bundle; stop it and run
npx @deepseek-ai/dsh webagain. The redundant lower-right pill was removed in v0.2 — the Workspace tab is the only entry. - Artifacts or Memory are empty: open Workspace from an active Harness session; the surfaces read session-scoped data rather than a global file list.
- Changes is empty: the workspace root is not a Git repository (or has no working-tree/staged changes). Open Workspace from a session whose working directory is a Git checkout.
- Memory Export downloads an empty bundle (
"records":[]): that is expected only when the session had no Memory and no agent file activity. Since v0.2, a session auto-writer derivesfactrecords from agent tool activity (files by kind + artifacts), so an active session exports useful facts even without manual records. Manual records are created in the UI or proposed by the Agent viaworkspace_memory_propose; proposals are storedunverifieduntil you Verify them. Storage details:docs/MEMORY_STORAGE.md. - The command cannot find the plugin: run the add command from the Harness project and use the correct relative path to this repository.
Project terms are defined in CONTEXT.md, and architecture decisions are recorded in docs/adr/. Product/architecture documents: docs/DSH_Workspace_PRD.md and docs/DSH_Workspace_ARD.md.