跳到主内容

dsh-task-control 使用指南

为 DSH Web 增加对话任务暂停、恢复与取消能力,支持安全与强制两种暂停粒度,恢复时从暂停点继续不重做已完成工作。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-task-control

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add dsh-task-control

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

常见问题

安装后是否需要重启?

需要按官方说明完整重启 dsh web 服务并刷新浏览器页面,否则 cordis bundle patch 与客户端注入都不会生效。

暂停和官方自带的"停止"按钮有什么区别?

官方停止按钮直接终止当前回合;本插件的"暂停"会保留对话状态并写入本地存档,恢复后从暂停点继续,不会重做已完成工作。

强制暂停会破坏正在执行的工具吗?

会。任何在途的工具都会被立刻中断,可能产生部分副作用;恢复时插件会让你选择重新执行、跳过该工具或继续保持暂停。

暂停状态保存在哪里?重启会丢吗?

保存在用户目录下的 ~/.dsh/task-control/ 文件夹中,按会话 ID 分文件,原子写(tmp+rename),重启后仍可读取;测试时可通过 DSH_TASK_CONTROL_STATE_DIR 环境变量改路径。

其他插件可以调用任务控制吗?

可以。通过 ctx.get("taskControl") 获取服务,按会话 ID 调用 pause / resume / cancel / state 四个方法。

暂停期间定时提醒会触发吗?

会。dsh-schedule 到期时仍会唤醒当前会话,暂停只控制当前回合,不会拦截定时事件。

子代理会被一起暂停吗?

不会。已经派发的子代理独立运行,不随父任务一起暂停。

修改插件代码后需要做什么?

重新加载插件后必须重启 dsh web,否则浏览器端拿到的仍是旧版本,2 秒一次的状态轮询也不会更新。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: >=0.1.0-rc.6
  • Node: 未声明

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则