前言¶
在 DSH 里,一个常见需求不是“马上让智能体干活”,而是“让它按一个时间窗开始和停止”:到开始时间自动创建会话、下发任务;到停止时间取消当前轮次并停止会话,之后还能在会话列表里回看结果。
下面介绍的是 dsh-auto-scheduler。它是 Cheng-xiu 维护的一个 DSH 插件,用来做这类定时自动工作:用户定义开始时间、停止时间、重复方式,DSH 在宿主进程内驱动会话。
这是什么¶
dsh-auto-scheduler 是一个 DSH timed auto-work plugin:按用户定义的时间表启动和停止 agent sessions,并支持 ds valley/peak presets 与 silent 模式。
它解决的问题可以概括为三步:
- 到 start time 时,DSH 创建一个 Web GUI session 并发送任务。
- 到 stop time 时,DSH 取消当前 active turn 并停止 session。
- 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 入口。
典型用法¶
先打开面板,再填写时间窗,保存后等待触发:
- 打开
Auto Work侧边栏面板。 - 填写 goal、mode(
default/silent)、start/stop times 和 repeat;也可以直接点击一个 valley-period preset。 - 保存。到时间后,DSH 创建 session 并发送任务;面板会显示 live status 和 next-run countdown。
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