Creates and inspects RecoWork local-agent-project workspaces through two bounded DSH tools and a web workspace card.
Install
# from npm (prebuilt)
dsh plugin --profile web add recowork-dsh
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:recoluan/recowork#path:/packages/recowork-dsh
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
recowork-dsh is an experimental DSH Bundle that gives an agent three narrowly scoped tools:
recowork_init: initializes one new RecoWorklocal-agent-projectworkflow.recowork_status: reads its manifest and a small, fixed set of current-work documents.recowork_import: safely adds RecoWork to one existing non-empty project without overwriting existing paths.
It also contributes a model-facing workflow protocol: use initialization only on an explicit request, inspect a workspace before durable work, then read its AGENTS.md and localized working methods before planning or editing. It intentionally does not expose a shell, arbitrary file reads, upgrades, deletion, or renaming.
In DSH Web it adds a collapsible RecoWork project cockpit:
- Selecting a recognized workspace automatically loads its authorized read-only status. The main dashboard shows a full-context continuation action, blocking decisions from open questions, the current project stage, and stable project-memory items extracted from the project brief.
- A guarded action can be queued into the current DSH conversation or copied as the same task package for another conversation. The package includes the workspace path, status read, root
AGENTS.mdprotocol, and the selected objective. - Technical metadata, document health, current-document names, and manual refresh live under Status & settings. Add project separates explicitly confirmed New workspace and Import existing project flows.
The cockpit does not maintain a second task database and cannot edit, delete, repair, or upgrade an initialized workspace. Its generated prompts instruct the agent to read AGENTS.md and the localized working methods, treat workspace documents as authoritative, and honor the project's confirmation rules before changing direction, scope, or files. New-workspace initialization rejects a non-empty destination. Existing-project import lists only non-empty direct children without rw-manifest.json, requires separate confirmation, adds only missing RecoWork files, preserves every matching path, and confines any existing root AGENTS.md change to its marker-bounded RecoWork block.
Its interface follows DSH's active zh or en preference live, including when the user changes the language in DSH Settings. Workspace document names and action text remain in the language of the selected workspace.
The Bundle has no runtime npm dependency on DSH internals. This keeps a locally linked checkout resolvable from its own source directory; DSH accepts the plugin's raw JSON-Schema tool definitions directly.
Install
- Install DeepSeek Harness and start its Web profile once so its profile exists.
- Install the published Bundle into the Web profile, then explicitly authorize one or more existing directories:
dsh plugin --profile web add recowork-dsh@latest
npx --yes recowork-dsh@latest setup --root /absolute/path/to/your/recowork-lab
dsh web
Repeat --root to authorize more than one directory. If your DSH home is not the default ~/.dsh, either set DSH_HOME or pass it explicitly:
DSH_HOME=/path/to/dsh-home npx --yes recowork-dsh@latest setup --root /absolute/path/to/your/recowork-lab
The setup command creates a timestamped backup of cordis.patch.yml, handles DSH's default [] placeholder as a single YAML document, and validates the resulting YAML after writing. If validation fails, it restores the original profile patch before reporting the error. If you previously configured recowork-dsh by hand, review that entry and rerun the command with --adopt-existing; it will back up the file before replacing only the old RecoWork entry. The default initializer and importer run npx --yes recowork@4.1.0.
For local development, replace the first command with dsh plugin --profile web add ./packages/recowork-dsh, then run node ./packages/recowork-dsh/bin/recowork-dsh.js setup --root /absolute/path/to/your/recowork-lab --dsh-home "$DSH_HOME".
Safety contract
rootmust exactly match an entry inallowedRoots;destinationmust be a descendant of that root.- Initialization requires a missing or empty directory and only permits the three supported templates and
zh/enlocales. - Import requires an existing non-empty project without
rw-manifest.json, preserves same-name paths, and only permits the same templates and locales. - Status requires
rw-manifest.jsonand reads only fixed, localized current-work files, capped at 12,000 characters each. - Existing RecoWork workspaces remain user-owned. Use
rw statusorrw upgradedirectly for upgrade review.
The only DSH Web write actions are explicitly confirmed new-workspace initialization and safe existing-project import. Both stay under the approved-root boundary and delegate lifecycle behavior to the RecoWork CLI; neither can bypass existing confirmation gates or workspace-ownership rules.
Links
More in this category
loopx-project/loopx#dsh-loopx-plugin★ 6233
LoopX, a provider-neutral, local-first state kernel and control plane for long-horizon agents: keeps Goal, Todo, gate, evidence, quota, recovery, and handoff state above DeepSeek Harness, while the plugin bootstraps the CLI and skills, admits bounded same-session continuation, and adds a loopback GoalBar for the exact bound loop.
Q00/ouroboros#integrations/dsh-plugin★ 6196
Config-only bundle that mounts Ouroboros through the DSH MCP client, exposing 36 interview, Seed, execution, evaluation, and evolution workflow tools in DSH.
chuspeeism/dashi-taskboard#deepseek-harness★ 3329
Embeds the active installed Codex Taskboard runtime in the DeepSeek Harness sidebar, using its launcher runtime descriptor instead of a fixed port.
NanmiCoder/dsh-agent-teams★ 2012
AgentTeams multi-agent teams.
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1393
Installs a dedicated AI novel-writing preset and workbench: revisioned local project assets, a compact side drawer, and native approval-gated single-file changes.
tong-io/tongflow#dsh-tongflow★ 1042
TongFlow film-crew studio for image, voice, music and video production: the agent writes per-asset TongFlow workflow files (.tongflow.json) that run through TongFlow plugins, with an embedded workflow canvas, a shot/character/take project layout and a manga-drama template; sessions starting with @tongflow open the Studio view.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.