How to use dsh-task-control
Adds pause, resume, and cancel capabilities to DSH Web dialogue tasks, supporting two pause granularity levels (safe and forced), with resume continuing from the pause point without redoing completed work.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
dsh-task-control
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add dsh-task-control
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
FAQ
Do I need to restart after installation?
You need to fully restart the dsh web service as per the official instructions and refresh the browser page, otherwise cordis bundle patch and client injection will not take effect.
What's the difference between pause and the built-in 'Stop' button?
The official Stop button directly terminates the current turn; this plugin's 'pause' will preserve the conversation state and write to local storage, and after resuming, it continues from the pause point without redoing completed work.
Will force pause break the tool being executed?
Yes. Any tool in progress will be immediately interrupted, which may cause some side effects; when resuming, the plugin will let you choose to re-execute, skip the tool, or continue pausing.
Where is the pause state saved? Will it be lost after restart?
Saved in the user's ~/.dsh/task-control/ folder, separated by session ID, using atomic writes (tmp+rename), and can still be read after restart; the path can be changed via the DSH_TASK_CONTROL_STATE_DIR environment variable during testing.
Can other plugins call the task control?
Yes. Get the service via ctx.get("taskControl") and call the four methods pause / resume / cancel / state by session ID.
Will timed reminders trigger during pause?
Yes. When dsh-schedule expires, it will still wake up the current session; pause only controls the current turn and does not intercept timed events.
Will child agents be paused together?
No. Already dispatched child agents run independently and are not paused along with the parent task.
What needs to be done after modifying plugin code?
After reloading the plugin, you must restart dsh web, otherwise the browser will still get the old version and the 2-second status polling will not update.
— source: plugin_wiki.faq_json
Compatibility
- DSH: >=0.1.0-rc.6
- Node: 未声明
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule