dsh-automation 使用指南
为 DeepSeek Harness 引入"独立会话的定时任务":在全新 Agent + Session 中按计划执行自包含任务,提供 Web 控制台与 Agent 工具双入口。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-automation
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add github:titanwings/dsh-automation
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- DSH Web:使用对话里的自动化 Tab 创建规则、暂停或恢复、立即运行、删除,并检查最近运行。
- **任意符合条件的 root Agent:**直接用自然语言提出要求。六个 scoped tools 让 Agent 只能管理自己准确工作区内的 automation。
- 一个新的 Session ID 和 fresh root Agent;
- 保存的 prompt,而不是来源对话的历史;
- 创建时捕获的 workspace、cwd、Agent preset、model target 与 permission preset;
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
这个插件是给 DSH 加一个 cron 吗?
比 cron 更严格也更安全。每个触发都会在全新 root Agent + 新 Session 中执行自包含 prompt,权限仅限 read-only 或 workspace-write,不接受 danger-full-access,也不会执行原始 shell。
自动任务能继承当前会话的上下文吗?
不能。每个 run 拿不到源会话历史、收件箱、授权或历史审批;任务以 source.kind = "automation" 显式投递,行为可审计。
主机宕机错过了执行时间会重跑吗?
不会。默认 15 分钟容错窗口内只补跑最近一个 due 项,更早的会被记为 misfire 跳过;写入类副作用绝不会被悄悄补做。
执行超时或崩溃会怎样?
单次 run 默认 60 分钟后被取消并记为 failed;Host 重启时会把残留的 queued/running 记录标为 failed(host_interrupted),不会偷偷重做。
能从 Web 和 Agent 两个地方管理吗?
能。Web 端有 Automations 标签页(创建/暂停/立即执行/删除/查看历史),任何 root Agent 可调用 6 个工具:automation_create / list / update / run_now / runs / delete,且工具会绑定到调用者所在的工作区,不能指向其他工作区。
删除任务会把历史记录也删掉吗?
不会。删除只是把定义删掉,已结束的 run 记录会保留用于审计;只有最旧的已结束记录会被 historyLimit 默认 200 条裁剪,正在运行或排队的永不裁剪。
同一时刻能并发跑多少个任务?
默认全局并发上限 2,且每个自动化内部仍互斥(已存在 queued/running 时下一次 due 会被记为 skipped(overlap))。可在 cordis.patch.yml 中把 maxConcurrentRuns 调到 1-32。
archiveRunSessions 打开后归档的会话还能回看吗?
日志仍然在"自动化运行历史"里,Session ID、摘要、错误都可读;但当前 DSH 主机没有 unarchive API,archive 后该 Session 在普通会话列表里只能看到标记,无法直接打开。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 未声明
- Node: ^22.19.0 || >=24.0.0
- Platforms: 跨平台
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则