DeepSeek Harness 插件:dsh-job-stop(从会话头停止后台任务)

前言

DeepSeek Harness 的后台任务列表 (dsh-client-ui-jobs) 最初被设计为只读,原因在于取消任务不仅需要通知模型,还涉及协议变更(kill 会标记 reported=true,导致模型可能继续等待)。虽然后端 ctx.jobs 已具备停止能力,但前端缺乏操作入口。dsh-job-stop 插件解决了这一痛点,在会话头的任务列表中增加了可操作区域,允许用户在确认后停止任务,并确保模型能接收到任务结束的通知。

插件定位

这是一个由 David Bruck 维护的 MIT 协议插件,旨在将 DeepSeek Harness 会话头中的后台任务列表从“只读”变为“可操作”。

核心功能

  • 悬停交互:在后台任务列表的运行行上悬停,会覆盖状态指示点并显示一个停止按钮和提示(Tooltip)。
  • 确认对话框:点击停止按钮会弹出确认框,该对话框复用了会话重命名和删除的样式,会重申完整命令、任务类型、当前状态、运行时间和任务 ID。
  • 任务终止与通知:确认后,主机通过 ctx.jobs 杀死任务,行状态变为 stopping 再变为 killed,并通过 inject(Agent 忙碌时)或 followup(Agent 空闲时)通知所属 Agent。
  • 容错处理:如果任务已经结束,插件不会调用 kill,而是直接返回 already-finished,避免吞掉模型本应收到的完成通知。
  • 无障碍与本地化:支持英文和简体中文,按钮支持键盘焦点和 Escape 关闭对话框。

安装与启用

安装此插件需要 DeepSeek Harness 版本 0.1.2-alpha.1 或更高。

dsh plugin --profile web add @gorban/dsh-job-stop

典型用法

  1. 在会话头的后台任务列表中,找到正在运行的任务行。
  2. 鼠标悬停在该行上,点击出现的停止按钮。
  3. 在弹出的对话框中确认操作,任务将被终止。

配置说明

插件支持配置通知策略和最大唤醒次数,以防止频繁操作打断 Agent 的工作流。

- id: job-stop
  name: "@gorban/dsh-job-stop"
  config:
    notice: wakeup          # 选项:wakeup(唤醒 Agent)或 quiet(静默)
    maxConsecutiveWakes: 3  # 限制单个 Agent 在收到插件输入之间最多打开的对话轮数

注意事项

  • 插件依赖 dsh >= 0.1.2-alpha.1。
  • 浏览器端通过注册低优先级的槽位(job-list)来覆盖内置列表条目,而非创建新列表,因此会话头仍只显示一个控制项。
  • 插件不声明 peerDependencies,所有依赖均由运行时的 DSH 环境提供。

生态链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜