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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-power-after-task

Power After Task

DeepSeek Harness (DSH) plugin for Windows: sleep, shut down, or restart the PC once the current agent task finishes. Ships disabled; arm it from a compact composer-dock control, watch a frame-wide countdown ribbon you can cancel any time. No dependencies, no build step.

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-power-after-task@1.0.1
READMECompatibilityVersions

Compatibility and provenance

Power After Task is published as dsh-power-after-task and currently resolves to version 1.0.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/27/2026

Versions

1.0.1stable
10/27/2026

Related plugins

Loading related plugins…

Latest
1.0.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
48.5 kB
Files
10
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
10/26/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-baseExperimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundleOptional bundle that adds Schedule, its task page, and time context to the Web compositionClient 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 / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。

README

dsh-power-after-task

Windows Sleep / Shut down / Restart after the current agent task finishes — a compact, disabled-by-default DeepSeek Harness plugin.

Nothing happens on its own: the power command only runs after you press Arm, the agent has actually stopped working, and the grace countdown expires. Cancel at any point returns it to off.

Requirements

  • Windows host — power commands are Windows-specific; other platforms are rejected with an error.
  • Web composition (dsh web): the dock control talks to the Host over this plugin's own HTTP route; a Desktop page has no web server, so no control appears there.
  • Node 20+ for the Harness Host. No build step, no dependencies.

Install and enable

Plugin Manager → Install bundle → dsh-power-after-task

The bundle's patch inserts the plugin row with disabled: true, so installing changes nothing else. Enable when you need it via Settings → Plugins → Power after task; the dock entry appears within about two seconds, and disabling the row (which also clears every pending arm) removes it again — no page refresh needed.

UI

One entry in the composer dock, beside Activity and Usage:

  • Idle — just a small power icon.
  • Click — expands inline into two drop-downs (Action, Grace) and an Arm button.
  • Armed — icon shrinks and lights up (brand while waiting, amber while counting), a Cancel button appears; hover shows action + remaining time. No status text by design.

While a countdown runs, a wide semi-transparent ribbon (registered in shell.overlay) shows a large m:ss.mmm timer, a tiny Until sleep / Until shut down / Until restart caption, and a Cancel button. The layer is click-through — only Cancel takes pointer events — and a failed power command keeps the ribbon visible with the error.

All colours are --dsw-alias-* theme tokens, so dark/light follows the Harness theme automatically.

When the task counts as finished

The task is the whole span between your prompt and the agent's turn stop — across steps, continuations, and subagents. It counts as finished when the agent answers, errors out without a result, or you cancel; also if the session is archived/removed while armed. It does not fire while a goal driver or continuation is still running, and any new message puts the countdown back to waiting. Detection uses the session-status signal (api-session/status), not a guess.

Arm → waiting → agent goes idle → grace countdown → power command
      ↑ new activity returns here                Cancel → off

Grace (default 45 s, choices 15 s / 30 s / 1 m / 2 m / 5 m, cap 3600 s) is the cancellable gap between "finished" and "fires" — long enough to rescue a mis-click or unsaved work.

Commands run: shutdown.exe /s /t 0, shutdown.exe /r /t 0, or Sleep via kernel32!ApplicationSuspend (deliberately not rundll32 SetSuspendState, which hibernates when hibernation is enabled; rundll32 is only the fallback).

Agent tool

power_after_task — action: status | arm | cancel | execute, session, power: sleep | shutdown | restart, grace_seconds. execute fires immediately and is not reachable from the HTTP route; the page can only Arm and Cancel.

Configuration

Set in cordis.patch.yml (override with your own patch):

KeyDefaultMeaning
defaultActionshutdownPreselected action: sleep · shutdown · restart
graceSeconds45Countdown after finish; capped at 3600

Security

Arm/Cancel refuse requests that prove they are not this page: non-loopback Host (DNS rebinding), browser-reported cross-site Sec-Fetch-Site, or non-loopback Origin. Requests carrying none of that evidence pass — that is the Harness page transport (it forwards Cookie but not fetch metadata) or a local process, which could run shutdown.exe directly anyway. Route: POST /power-task/arm, POST /power-task/cancel, GET /power-task/state, GET /power-task/debug. See SECURITY.md.

Files

FileRole
index.jsHost half: /power-task route, session watcher, countdown, Windows power commands, tool
client.jsUI half: composer-dock control + shell.overlay countdown ribbon
cordis.patch.ymlPlugin row, disabled by default, with config
locale/en.json, locale/fa.jsonPlugin Manager title/description
icon.svgPlugin Manager artwork

Troubleshooting

SymptomFix
No dock entryRow is disabled — enable it in Settings → Plugins
Arm answers 403Read GET /power-task/debug → lastPost: host, secFetchSite, origin, accepted. A non-loopback host means a proxy or foreign hostname
Ribbon missing after upgradeRefresh the page once to load the new client bundle
… failed in the ribbonCommand rejected — power settings, hibernation/fast-startup, shutdown privileges; Cancel clears state
Nothing firesSession is still running (goal continuation, subagent, queued message)

Development and releases

See CONTRIBUTING.md — checks (npm run check), local debugging, and the staged npm release flow.

License

MIT — see LICENSE.