Task-scoped Workspace to Task to Session control center for DSH Web, with Session boards, archived conversation viewing, and bounded long-term memory shared across linked Sessions.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:SLin-code/dsh-task-notice-board
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
One installable DeepSeek Harness plugin for managing Workspace → Task → Session collaboration.
This plugin treats a Task as the long-lived collaboration boundary. Sessions assigned to the same Task receive a bounded snapshot of its objective and retained updates on their next model step. Agents can publish durable findings and search older retained updates without copying raw transcripts.
Screenshots
Workspace Task Board

Task workspace and Session Board

Archived Sessions and Task long-term memory

Current capabilities
- Full-screen control center launched from the DSH sidebar
- Expandable Workspace → Task → Session navigation tree
- Workspace-scoped four-lane Task Board: To do, In progress, Needs you, Done
- Per-Task four-lane Session Board: Ready to continue, Running, Needs you, Ended
- Native DSH approvals, questions, and plan reviews are surfaced directly in the Needs-you lane
- One coherent Task status source: Session links no longer silently move Tasks between lanes; pending Session interactions are the only temporary override
- Human-readable Task cards hide internal storage keys and use compact lane controls
- Create a native DSH Session from a Task, bind it before opening, then return to the native conversation UI
- Every assigned Session shows its owning Task in the native Session header; selecting it reopens the control center directly at that Task
- Strong Session ownership: after the first model step, a Session cannot silently switch Tasks
- Focused Task long-term memory composer: progress summary, key decision, current blocker, and handoff (older finding/evidence records remain readable)
- User-authored memories are verified; Session-authored memories retain source Session and verification state
- Bounded, source-attributed cross-Session context on every next model step
- Idempotent
task_context_publishand boundedtask_context_search - No raw transcript synchronization and no proactive Session wake-up
- Closed Tasks reject new collaborative updates without stopping Sessions
- Archiving commits the Task first so it leaves the active board immediately, then idempotently archives all linked Sessions through DSH
- Archived Sessions remain inside their owning Task with an inline, read-only conversation viewer; partial Session archive failures are shown there with a retry action
- The archived viewer shows human prompts and visible assistant output, while omitting injected context, reasoning, tool arguments, and tool-result contents
- Restoring a Task returns it to To do; DSH Sessions stay archived because the current DSH API has no matching restore operation
- Deleting a Task removes its retained memory and all Session assignments, but never deletes native DSH Sessions or transcripts
Installing the package into the web profile is all it takes. The browser picks up the client bundle through the harness plugin scanner and adds one Task Control Center entry to the sidebar. No DeepSeek Harness source patch or manual UI wiring is required.
Requirements
- DeepSeek Harness
0.1.0-rc.7or newer compatible release - Node.js
^22.19.0or>=24— the plugin ships stage-3 decorators in its compiled artefacts (Typert@Remotemarkers) that Node parses natively only in these versions; Node 23 will refuse to load the entries withSyntaxError: Invalid or unexpected token. - pnpm 10+
- The DSH
webprofile, whose storage services back Task persistence
Install from this checkout
Run this from the plugin directory:
pnpm install
pnpm run build
dsh plugin --profile web add .
Then start DeepSeek Harness normally:
dsh web
To remove it:
dsh plugin --profile web remove dsh-task-notice-board
Install from GitHub
After the repository is published:
dsh plugin --profile web add github:SLin-code/dsh-task-notice-board
Git-hosted installation runs the package prepare script. pnpm may first require you to allow the reviewed tsdown build in the profile's pnpm-workspace.yaml; follow the exact key printed by DSH and repeat the install.
Runtime model
The npm package exposes one Cordis plugin entry. Internally that entry composes three implementation seats:
dsh-task-notice-board/taskowns Task records, Task context, and Session assignments.dsh-task-notice-board/task-context-syncprojects bounded Task memory into the next model step.dsh-task-notice-board/tool-task-contextexposes publish and search tools to assigned Sessions.
The browser reuses native DSH Workspace and Session services. Task creation never creates a second workspace model, and opening a Session always returns to the native DSH conversation surface.
Archived conversation history is read from DSH's durable Session log only when the user selects a Session inside its Task. It is not copied into Task long-term memory, and restoring the Task is not required to read it.
License
MIT. The initial implementation is derived from DeepSeek Harness conventions and APIs; see the repository history for changes.
Links
More in this category
Minglink/dsh-infinite-gen-4★ 2305
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 534
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 470
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
Nwflower/dsh-chat-import★ 209
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Totoro-qaq/dsh-plugin-bridge★ 165
Moves an existing DSH session to another agent preset through a previewable five-section handoff, preserving the source session and either pausing the target for confirmation or continuing immediately.
Anionex/dsh-turn-rewind★ 127
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.