dsh-auto-scheduler:在 DSH 中按时间窗自动启动和停止智能体会话

前言

在 DSH 里,一个常见需求不是“马上让智能体干活”,而是“让它按一个时间窗开始和停止”:到开始时间自动创建会话、下发任务;到停止时间取消当前轮次并停止会话,之后还能在会话列表里回看结果。

下面介绍的是 dsh-auto-scheduler。它是 Cheng-xiu 维护的一个 DSH 插件,用来做这类定时自动工作:用户定义开始时间、停止时间、重复方式,DSH 在宿主进程内驱动会话。

这是什么

dsh-auto-scheduler 是一个 DSH timed auto-work plugin:按用户定义的时间表启动和停止 agent sessions,并支持 ds valley/peak presetssilent 模式。

它解决的问题可以概括为三步:

  1. 到 start time 时,DSH 创建一个 Web GUI session 并发送任务。
  2. 到 stop time 时,DSH 取消当前 active turn 并停止 session。
  3. session 仍然保留在会话列表中,便于事后检查。

已核实材料中给出的许可证为 MIT

核心功能

主机端定时

定时器位于 dsh web host process 内,因此即使没有打开浏览器标签,定时也可以触发。

但有两个前提需要满足:

  • dsh web 进程必须处于运行状态。
  • 错过的时间窗按设计会跳过,不会补跑。

自动开始与自动停止

这个插件会把一个任务拆成明确的时间行为:

  • 开始时间到达:创建 Web GUI session,并发送任务。
  • 停止时间到达:取消当前 active turn,并停止 session。

这样适合需要“定时开跑、定时收手”的任务。

default 与 silent 两种模式

插件提供两种运行模式:

  • default:agent 可以询问用户;其他设置保持部署默认值。
  • silent:不会询问用户,禁用 ask_user_question,使用 silent persona,并使用 danger-full-access permissions。它会继续工作直到任务完成,但到 stop time 仍会被外部停止。

silent 模式意味着无人值守的全权限执行,只适合可信任务。

valley/peak 预设与时区处理

插件提供 ds valley/peak presets,用于一键填写以下北京时间窗口:

12:00-14:00
18:00-09:00

这些时间属于北京时间,也就是 UTC+8

时区处理规则如下:

  • 面板按你的系统时区显示和编辑。
  • 存储时转换为 UTC
  • valley presets 会转换到你的本地时区用于显示。

重复规则

重复方式支持两种:

once
daily

安装与启用

下面使用材料中给出的安装命令;它固定指向 #v0.1.4

dsh plugin --profile web add github:Cheng-xiu/dsh-auto-scheduler#v0.1.4

执行后,dsh plugin add 会自动注册插件 bundle。

需要提醒的是,材料中 README 的 #v0.1.4 与 package.json 的版本信息不一致;这里不把未确认的版本当作事实。安装前请到仓库核对当前可用标签。

安装或升级后必须重启 dsh web,因为客户端面板是在启动时注入的。重启后,侧边栏会出现 Auto Work 入口。

典型用法

先打开面板,再填写时间窗,保存后等待触发:

  1. 打开 Auto Work 侧边栏面板。
  2. 填写 goal、mode(default / silent)、start/stop times 和 repeat;也可以直接点击一个 valley-period preset。
  3. 保存。到时间后,DSH 创建 session 并发送任务;面板会显示 live status 和 next-run countdown。
  4. Run now 会立即触发一次运行;此时 stop time = now + original duration。

如果你只是想手动验证一次,而不是等待定时器,Run now 就是最直接的方式。

适用场景与注意

这个插件适合以下场景:

  • 需要在固定时间窗内自动开始 DSH 任务。
  • 希望到停止时间自动取消当前轮次并停止会话。
  • 想使用 daily 重复执行一些稳定、可信的任务。
  • 想利用 valley/peak presets 快速填写北京时间的低峰时段。

不适合的场景也很清楚:

  • 需要补跑错过的时间窗。
  • 需要 dsh web 进程不运行也能触发定时。
  • 想用 silent 模式执行不受信任、高危或不可控的任务。

使用前需要注意以下几点:

  • 定时任务运行在 dsh web 宿主进程内,因此插件行为与该宿主进程的运行环境相关。
  • silent 模式会使用 danger-full-access permissions,并且不会询问用户,只应用于可信任务。
  • 面板接口只接受 loopback 请求,或通过以下配置项放行的主机:
--trusted-host

其他请求会返回 403

  • 定时数据保存在宿主端,路径如下:
DSH_HOME/dsh-auto-scheduler.json

默认路径为:

~/.dsh/dsh-auto-scheduler.json
  • 插件会随 dsh web 宿主进程执行,安装前应检查源码和许可证。

结尾

dsh-auto-scheduler 的价值在于把 DSH 的会话创建、任务下发和停止放进一个明确的时间窗里,适合固定时段的可信自动任务。它不是官方应用商店的一部分;DSH 社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系。

已核实材料未确认目录页具体地址;仓库地址如下:

https://github.com/Cheng-xiu/dsh-auto-scheduler
羽毛球分组比赛记分
小程序二维码

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

小夜