DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Workflows — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
W

@zaalipro/dsh-workflows

Workflows

Installable saved-workflow and supervised-run product for DeepSeek Harness

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:zaalipro/dsh-workflows#0d8c57118bee279d6d7ae09669ce66136c4568a3
READMECompatibilityVersions

Compatibility and provenance

Workflows is published as @zaalipro/dsh-workflows and currently resolves to version 0.1.0-rc.5. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/4/2026

Versions

0.1.0-rc.5prerelease
9/4/2026
Show 1 more versionCollapse versions
0.1.0-rc.3prerelease
8/23/2026

Related plugins

Loading related plugins…

Latest
0.1.0-rc.5
DSH
*
HMR
Process restart
Tree shaking
Declares sideEffects: false
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/4/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Agent Teams@nanmicoder/dsh-agent-teamsAgentTeams for DeepSeek Harness: multi-agent team collaboration (captain, members, tasks with dependencies, messaging) driven by natural language, with a tree monitor in the web GUI

README

@zaalipro/dsh-workflows

English | 中文

@zaalipro/dsh-workflows@0.1.0-rc.5 is one installable DeepSeek Harness bundle for saved JavaScript workflows, supervised background runs, retained inspection, slash commands, and the Web dashboard. It targets official DeepSeek Harness 0.1.2-rc.1 and ships one package-owned MIT compatibility evaluator for replay-safe background execution; it contains no Grok CLI code, account, quota, binary, protocol, or runtime dependency, and no Rhai parser or evaluator.

Compatibility

The verified Host is official DeepSeek Harness 0.1.2-rc.1. Plugin 0.1.0-rc.5 is compiled and smoke-tested against that exact release, and its direct Harness peer dependencies are pinned to that exact version. Stock 0.1.0-rc.8 remains unsupported, and later Harness versions require a new verified plugin release.

The package requires Node ^22.19.0 || >=24.0.0, uses pnpm@11.7.0, and is distributed under the MIT license. Native-lock attribution is in NOTICE.md.

Installation

Ensure pnpm is on the service user's PATH. Install the pinned release tag like any other profile plugin; it adds one dependency and one bundle layer named @zaalipro/dsh-workflows, with no manual profile patch or install-time build.

dsh plugin --profile web add github:zaalipro/dsh-workflows#v0.1.0-rc.5
dsh plugin --profile headless add github:zaalipro/dsh-workflows#v0.1.0-rc.5

For an exact tested tarball copied to a durable path (not /tmp):

dsh plugin --profile web add /absolute/path/zaalipro-dsh-workflows-0.1.0-rc.5.tgz
dsh plugin --profile headless add /absolute/path/zaalipro-dsh-workflows-0.1.0-rc.5.tgz

After 0.1.0-rc.5 is publicly published on npm, the equivalent registry install is:

dsh plugin --profile web add @zaalipro/dsh-workflows@0.1.0-rc.5
dsh plugin --profile headless add @zaalipro/dsh-workflows@0.1.0-rc.5

Web loads the Host product and browser Client; headless loads only the Host product and never evaluates browser code. The plugin leaves the stock ctx.workflowEngine untouched. Its supervisor privately uses the package-owned compatibility evaluator emitted as lib/compat-engine/index.js and worker.cjs.

Removal

Remove both the dependency and bundle entry, then restart the profile:

dsh plugin --profile web remove @zaalipro/dsh-workflows
dsh plugin --profile headless remove @zaalipro/dsh-workflows

The unmodified official profile boots after removal; the command does not rewrite an official profile file.

Saved definitions and authoring

Definitions and runs are different resources. A definition is a flat UTF-8 <name>.workflow.json file discovered from the first winning root in this order: a configured bundled root, the nearest Git project root's .dsh/workflows directory (or the Session cwd when no Git root exists), then $DSH_HOME/workflows. Missing roots are allowed; an unsafe, malformed, oversized, linked, or otherwise invalid matching file makes the complete observation fail instead of disappearing from the catalog.

Each file contains exactly metadata-as-data and one plain JavaScript body:

{
  "meta": {
    "name": "review-changes",
    "description": "Review a change and verify the findings",
    "whenToUse": "Before merge",
    "phases": [
      { "title": "Review" },
      { "title": "Verify" }
    ]
  },
  "script": "phase(\"Review\");\nconst review = await agent(\"Review the requested change. Return evidence.\", { label: \"reviewer\", phase: \"Review\" });\nif (review === null) complete({ ok: false, reason: \"review failed\" });\nphase(\"Verify\");\nconst verified = await agent(`Verify this review against the workspace:\\n${review}`, { label: \"verifier\", phase: \"Verify\" });\ncomplete({ ok: verified !== null, review, verified });"
}

Names are lowercase kebab-case, start with a letter, use at most 64 UTF-16 code units, match the filename stem, and avoid command-reserved and Windows device names. Run /create-workflow [detail] for the installed authoring skill, which gathers intent and fan-out, writes JavaScript with metadata kept as JSON data, validates one representative args-selected path with canned agent results, and saves only after that smoke check succeeds. Its inline tool call defaults to save_scope: "project", or uses save_scope: "user" for $DSH_HOME/workflows; user scope works without a Session cwd. See the installed authoring skill for the complete hook and quota reference.

Structured agent() schemas may put inclusive minItems and maxItems bounds on array nodes. Each bound must be a non-negative safe integer (not -0), minItems cannot exceed maxItems, and neither keyword may sit beside oneOf. The evaluator checks the declaration before launching a child and checks the returned value again; its stock-RC2 adaptation removes the two keywords only from the provider-facing schema copy.

Launch and operate

Launch a saved definition with /workflow <name> [<json-args>] or its generated /<name> [<json-args>] alias. An ordinary command keeps a colliding bare name; the workflow receives the first free repeatedly prefixed alias such as /workflow-review-changes, while /workflow review-changes always works. Launch returns immediately with Started workflow "<display-name>" in the background. Open /workflows to watch it.; later runs of the same metadata name use display handles such as review-changes-2 without exposing internal ids.

In Web, bare /workflow opens the saved-definition picker and exact bare /workflows is a browser-only slash action that opens the dashboard without Host command lifecycle events or a model turn. Arguments and attachments are refused locally and remain in the composer. In headless, bare /workflow prints usage; /workflows is intentionally not a Host command because there is no dashboard surface. The dashboard lists saved definitions with Start, plus live and retained runs, phases, agent spend, member outcomes, logs, terminal results, and chunked scratch artifacts. Pause, Resume, Stop, and eligible Save actions are revision-checked; keyboard and narrow-screen drill-down remain available.

An eligible terminal run attempts one owner-visible completion notice. It prefers bounded scratch/report.md, otherwise uses a bounded result preview, and ends with Open /workflows to inspect the run. The notice is appended directly to the durable Session surface, so it becomes visible without waking the model or entering an Agent inbox. Delivery is at most once: a process failure may omit a notice but cannot retry a claimed, delivered, or abandoned notice.

Replay, recovery, and security

Pause and Resume are same-process only. After an attempt result settles and disposal drains admitted child and scratch work, the package evaluator's quiescent checkpoint is the only replay authority. Matching committed journal calls replay without spending another agent or repeating their committed effects; observer events are not authority. An external effect whose result did not commit can run again, so effectful prompts and verification steps must be idempotent.

await_user() resumes the same acknowledged attempt and commits that gate; pause() is uncommitted and re-fires on replay while its condition remains true. A budget-limited run cannot be resumed by a human control: the model tool must use the internal resume token with an absolute agent_budget greater than the old total and no greater than 1,024.

Process death converts every retained active row to non-resumable Interrupted, cancels its displayed running members, and restores inspection data only. No Agent, args, script authority, journal, checkpoint, gate, child reference, or effect claim is reconstructed across processes; Interrupted runs cannot Resume or Save.

The version-2 store lives under $DSH_HOME/workflow-runs. One permanent .workflow-storage.lock anchor holds a native advisory lease for the Host lifetime, and a second cooperating process fails with workflow storage root is already owned by another live process. Descriptor-rooted identity, owner, mode, type, and link checks fail closed. The lease coordinates cooperating same-user Hosts; it is not a defense against a malicious process running as the same OS user and ignoring the lease or replacing its anchor.

Workflow scripts have the same trust premise as existing model shell access. A worker and node:vm shape available APIs and contain the host event loop, but they are not a hostile-code security sandbox.

Limitations

  • Workflow bodies are plain JavaScript with top-level await; there is no Rhai language path.
  • Workflow scripts have no nested workflow() hook.
  • Cross-process execution resume and exactly-once external effects are not provided.
  • This package neither contacts nor reuses Grok CLI in any form.
  • Validate-only compiles the full script but executes one args-selected path with canned outputs; it does not cover every branch, live tool, or possible agent response.

Documentation

  • User guide — create, validate, launch, inspect, control, and troubleshoot workflows.
  • Architecture — Host/Client composition, lifecycle authority, storage, Remote paging, and package build.
  • Testing and release acceptance — automated evidence and the final manual Web checklist.
  • Installed authoring skill — JavaScript globals, schemas, budgets, scratch, and safe authoring patterns.
  • License and native dependency notice.
  • Official Harness 0.1.2-rc.1 supplies the Host, Agent, Session, provider, and Client services. The plugin compatibility evaluator owns its private deferred-start, journal, gate, scratch, and checkpoint protocol.