Introduction¶
The background job list in DeepSeek Harness (dsh-client-ui-jobs) was initially designed to be read-only. This was because canceling a job requires not only notifying the model but also involves protocol changes (kill marks reported=true, which may cause the model to keep waiting). Although the backend ctx.jobs already has the capability to stop jobs, the frontend lacked an actionable entry point. The dsh-job-stop plugin solves this pain point by adding an interactive area to the job list in the session header, allowing users to stop a job after confirmation and ensuring that the model receives a termination notification.
Plugin Purpose¶
This is an MIT-licensed plugin maintained by David Bruck, intended to turn the background job list in the DeepSeek Harness session header from “read-only” into “actionable”.
Core Features¶
- Hover interaction: Hovering over a running job row in the background job list overlays the status indicator dot and displays a stop button with a tooltip.
- Confirmation dialog: Clicking the stop button opens a confirmation dialog. The dialog reuses the style of session rename and deletion, and restates the full command, job type, current status, running time, and job ID.
- Job termination and notification: After confirmation, the host kills the job via
ctx.jobs; the row status changes tostoppingand then tokilled, and the associated Agent is notified viainject(when the Agent is busy) orfollowup(when the Agent is idle). - Fault tolerance: If the job has already ended, the plugin does not call
kill; instead, it returnsalready-finishedto avoid swallowing the completion notification that the model should have received. - Accessibility and localization: Supports English and Simplified Chinese; buttons support keyboard focus and
Escapeto close the dialog.
Installation and Activation¶
Installing this plugin requires DeepSeek Harness version 0.1.2-alpha.1 or later.
dsh plugin --profile web add @gorban/dsh-job-stop
Typical Usage¶
- In the background job list in the session header, find the running job row.
- Hover over the row and click the stop button that appears.
- Confirm the action in the dialog that appears; the job will be terminated.
Configuration¶
The plugin supports configuring the notification policy and maximum wake-up count to prevent frequent operations from interrupting the Agent’s workflow.
- id: job-stop
name: "@gorban/dsh-job-stop"
config:
notice: wakeup # 选项:wakeup(唤醒 Agent)或 quiet(静默)
maxConsecutiveWakes: 3 # 限制单个 Agent 在收到插件输入之间最多打开的对话轮数
Notes¶
- The plugin requires
dsh>= 0.1.2-alpha.1. - On the browser side, it overrides built-in list entries by registering a low-priority slot (
job-list) rather than creating a new list, so the session header still displays only one control item. - The plugin does not declare peerDependencies; all dependencies are provided by the runtime DSH environment.