bgjobs
独立于 DSH 进程的后台任务(schtasks 托管):bgjob_submit/bgjob_status 工具、网页「后台任务监控」实时面板、可选完成后通知创建者 agent(notify 参数);支持可选 dsh 沙箱(read-only/workspace-write)约束后台任务文件效果。关 DSH/关终端不影响任务运行。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:bitsmug/dsh-bgjobs说明文档
阅读完整 README ↗使用(agent 工具)
bgjob_submit(name, command, workdir, [notify], [notify_mode])— 提交后台任务(command 为 bat 语法);bgjob_submit_pwsh(name, command, workdir, [sandbox], [justification], [notify], [notify_mode])— 提交后台任务(command 为 PowerShell 语法,UTF-8 日志、exit语义安全);bgjob_status(jobId)— 查询状态 / 退出码 / 日志尾部。
直接对 AI 说一句即可:
把「下载 https://example.com/large.zip 到 D:\data」提交成后台任务,任务名叫「下载大文件」。
- 任务输出实时写入
\.dsh\bgjobs\\stdout.log; - 退出后
\.dsh\bgjobs\\exitcode.txt写入退出码,网页弹 Toast; - 完成后默认不打扰会话;需要让 agent 主动得知并收尾时,传
notify: on-exit(或on-completion仅成功 /on-fail仅失败),并可选notify_mode(wakeup空闲唤醒 /quiet仅入收件箱 /always)。
使用须知
workdir必须是 DSH 工作区内的绝对路径;- 任务默认「仅用户登录时运行」:关 DSH/终端不影响,但注销 Windows 会终止任务;
- 命令不要自带
> log类重定向(插件已整体重定向并保证 UTF-8); - 沙箱:
sandbox只约束文件效果(写工作区/临时区外会被拒),网络不受限;它是"尽力而为"而非数学边界——工作目录若落在 Everyone 可写的位置会失效;沙箱任务的任务目录会授 Everyone 只读(脚本文本对本地用户可见);bat 引擎任务恒为全权限,受限会话需开启「全权限」才能提交; - 受限会话里请求超出会话模式的权限会弹窗审批,
justification说明理由即可。