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
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则