dsh-task-control: Adding Pause, Resume, and Cancel Capabilities to DeepSeek Harness

p2coder/dsh-task-control

Workflow & AutomationVerified
Listed on 2026-08-20
Page last updated 2026-08-20

Adds pause/resume/cancel for DSH plugin tasks, with safe and force modes, resuming from breakpoints.

Flexibly control running conversation tasks in the DSH Web input area, with safe and force pause modes, resuming from the pause point to avoid redoing work.

install
dsh plugin --profile web add github:p2coder/dsh-task-control
Category
Workflow & Automation
Platform
DSH-Plugin
Author
p2coder
Distribution
Plugin

dsh-task-control Key Features

Pause/resume/cancel tasksSafe and force pauseConfirm tools on resumeState persistenceSlash commands & API

dsh-task-control Repository

p2coder
Publisher
p2coder
Repository
p2coder/dsh-task-control
4
Stars
0
Forks
0
Watchers
0
Open issues
LanguageJavaScript
LicenseMIT License
Website
Repo last push2026-08-16 16:33:17
Repo created2026-08-15 15:00:38
Topics
dsh-plugin
Default branchmain

dsh-task-control Repo Summary

dsh-task-control is a task control plugin (DSH plugin) for DeepSeek Harness, adding pause, resume, and cancel capabilities for running conversation tasks in the DSH Web input area. It solves the problem of inflexible interruption during long tasks or migrations, and avoids redoing completed work when resuming. Core features include safe pause (waits for tools/inference to complete before pausing), force pause (immediately interrupts and remembers the interrupted tool), resume with confirmation to rerun or skip, and cancel current turn. Maintained by p2coder under the MIT license, last updated 2026-08, it is a workflow/orchestration tool in the dsh-plugin ecosystem.

What pause modes does the dsh-task-control DSH plugin support?

The plugin offers three pause granularities, configurable in Settings → Task Control, taking effect immediately: safe wait (default) waits for inference and tools to finish naturally, suitable for long tasks, migrations, and testing; safe stop pauses after tools complete but can interrupt current inference, for faster pausing; force immediately interrupts inference and in-flight tools, for emergency stops. Force pause may leave partial side effects from tools; before resuming, you can choose to rerun, skip, or stay paused.

How to install and quickly use dsh-task-control?

Install with the following command, then fully restart dsh web and refresh the browser:

bash
dsh plugin --profile web add github:p2coder/dsh-task-control

While a task is running, three persistent buttons appear next to the input box: ⏸ Pause (pauses with default granularity), ▶ Resume (continues from pause point), ⏹ Cancel (immediately terminates current turn). Gray buttons are unavailable, black buttons are clickable.

What slash commands does dsh-task-control support?

The plugin provides /pause (pause with default mode), /pause force (force pause), /pause safe wait (safe pause without interrupting inference), /pause safe stop (safe pause with interruptible inference), /resume (resume task), /resume confirm rerun (resume after rerunning interrupted or undispatched tools), /resume confirm skip (resume skipping that tool), and /cancel (cancel current turn).

How can other DSH plugins use dsh-task-control?

Access the service via ctx.get("taskControl"), which provides APIs: pause(sessionId, options?), resume(sessionId, options?), cancel(sessionId), and state(sessionId) (querying idle, running, or offline status and pause info). Pause state is stored in ~/.dsh/task-control/, surviving restarts; for testing, use DSH_TASK_CONTROL_STATE_DIR to change the storage directory.

What are the caveats for dsh-task-control?

Sending a new message while paused starts a new turn; pause only controls the current turn. Scheduled reminders from dsh-schedule still wake up. Spawned sub-agents are not paused by the parent task. The browser polls state every 2 seconds; restart dsh web after modifying the plugin. Tests can be run with node test/host-smoke.mjs.

See more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ