New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

dsh-work-x

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dsh-work-x

Batteries-included capability suite for DeepSeek Harness: MCP manager with lazy proxy + OAuth, parallel steerable subagents, side conversations, image generation — one install, every piece verified end to end.

latest
Source
npmnpm
Version
0.4.2
Version published
Weekly downloads
78
59.18%
Maintainers
1
Weekly downloads
 
Created
Source

dsh-work-x

One install that turns a stock DeepSeek Harness into a batteries-included agent workstation.

dsh plugin --profile web add dsh-work-x dsh-better-sidebar

Restart dsh (plugins mount at startup). One line, two packages: the suite, and the sidebar its Memory/Tasks/MCP workbench tabs live in — the sidebar IS the primary form of the suite's product UI. (Headless/CLI profiles can drop dsh-better-sidebar; DSH has no way yet for one plugin to auto-install a companion — proposed upstream — which is the only reason this is two names instead of one.) That is the entire setup: the suite carries the pi2dsh engine and six capability packages, versions pinned to combinations that have been verified end to end on a real DSH loop — never "should work", always "was watched working".

一条命令,把官方 DSH 变成开箱即用的全能 agent 工作台。装完重启 dsh 即可; 所有组件版本锁死在真机端到端验收过的组合上。

What you get, and why native DSH alone doesn't have it

CapabilityStock DSHdsh-x
MCPConfig-file servers, statically mounted; every tool costs context windowLazy proxy (one tool + on-demand search/describe — dozens of servers without eating context), in-session manager, OAuth flows, MCP Apps (ui://), prompts→slash-commands, elicitation, sampling, fast cancellation — full verified matrix
SubagentsLow-level agent registry, no product surfaceSpawn / parallel / background delegation, mid-run steering, resume (in-session and across restarts), stop-with-parent, per-child model & thinking level, live inheritance of your /model switches — acceptance report
Side conversations/btw <question>: ask something off-topic without polluting the main context; answer lands in a side panel
Image generationCodex-backed image generation as a normal tool call, generated pixels shown inline (bring your own Codex credential)
Persistent memorySessions forget everythingCross-session facts, corrections and preferences (memory_add/memory_search, /memory-* commands), plus a Settings → Memory page on the web: browse and search what the agent remembers, pin/unpin standing rules with a hard budget
Background tasksA long tool call pins the conversationbg_run starts named shell jobs and keeps talking, bg_logs reads output mid-run, plus a tasks chip on the web: it joins the composer's status row while jobs run — live output, one-click kill

The suite: pi-mcp-adapter · @tintinweb/pi-subagents · pi-btw · @crazygit/pi-codex-image-gen · pi-hermes-memory · pi-background-tasks, running unmodified through the pi2dsh compatibility engine.

pi-hermes-memory builds a native SQLite store (better-sqlite3); if the install stops with ERR_PNPM_IGNORED_BUILDS, run pnpm approve-builds inside the profile directory (select better-sqlite3) and re-run the add — that gate is the host's own supply-chain approval, not an error. Vision companion routes are off in this suite; subscription logins stay whatever your DSH profile already has.

Web first

dsh-work-x targets dsh web (and the desktop shells that wrap it) as its primary surface. The automated regression drives a real browser against a clean install and asserts each bundled package's own command is offered by the composer — not that a file exists somewhere.

dsh plugin --profile web add dsh-work-x dsh-better-sidebar
dsh web --port 5179

dsh-better-sidebar is the community sidebar the suite's product UI seats into: its Tasks page shows your subagents natively (click through to steer or stop them), and dsh-work-x adds an MCP tab there — this session's servers grouped by layer (project / global), with per-project enable/disable. A machine-wide view of the same servers lives in Settings → MCP and works with or without the sidebar. With the sidebar installed, Memory and Jobs tabs appear there too — the same panels in workbench form. Without dsh-better-sidebar everything still runs — Settings → Memory and the tasks chip carry the same functionality. (DSH has no way yet for one plugin to declare a companion bundle — we've proposed one — so the install command names both.)

On the DSH 0.1.2-alpha line? The sidebar ships per DSH generation: install dsh-better-sidebar@0.18.0-alpha.0 there (its latest tag serves the rc lines). dsh-work-x itself is one build for every supported generation.

Memory & background tasks

Primary form — the sidebar. With the one-line install above, the right sidebar (VSCode-style, per session) carries the suite's workbench tabs: open the next to the tab strip and add Memory or Jobs — they sit beside Files, Terminal, Source Control, and stay while you chat.

  • Memory tabThis project's memories first (named as such), then other projects, global, and about-you groups, with search. The Pinned rules section manages standing instructions injected into every turn: pin from the input, unpin per entry, hard budget shown. Writes run pi-hermes-memory's own /memory-pin command, so the store's single-writer anti-injection design holds; the memory list itself is read-only by design — edits and deletions go through the agent's memory tools so store and search index never drift.
  • Jobs tab — each background job's status, runtime and bytes; show output streams a job's output while it is still running; Kill runs the package's own /kill.

Without the sidebar (headless-leaning installs) the same functionality stays reachable: Settings → Memory is the full memory page, and while jobs run a small clickable "N tasks running" chip joins the host's own status row under the composer — click for the same panel; no jobs, no chip. The side-chat dot stays the only floating piece either way.

Verified by the automated regression end to end on clean installs: the memory surfaces show a fact that exists only in the plugin's store, a pin round-trips through STANDING.md and back out, and the kill provably ends a 180-second job early — asserted from the store files and task snapshots on disk, not from page text.

Configuration

Override engine config in your profile's user patch layer ($DSH_HOME/profiles/<p>/cordis.patch.yml), targeting the row by id — never insert a second row:

- id: pi2dsh
  config:
    exclude: ["pi-btw"]   # drop a suite member you don't want

Plugin-specific settings follow each plugin's own environment variables and slash commands, as documented by the plugin.

How it works

dsh-work-x is a normal DSH bundle. Its patch mounts the pi2dsh engine (re-exported through this package, so it resolves under pnpm's isolated layout), and the engine reads this package's pi2dsh.suite manifest — an explicit list, one dependency-hop from your profile — and mounts each member exactly as if you had dsh plugin add-ed it yourself. No directory scanning, no forks, no patched DSH internals; remove it with dsh plugin remove dsh-work-x and the whole suite is gone.

Relation to pi2dsh

dsh-work-x is the curated product; pi2dsh is the engine and remains independently installable for anyone who wants to pick their own Pi packages. Anything verified for pi2dsh is inherited here at the same version pins.

Keywords

dsh

FAQs

Package last updated on 15 Sep 2026

Related posts