dsh-timer-agent:DSH 定时任务与 Agent 会话插件

前言

在 DSH 的插件化使用方式中,定时任务通常有两个具体需求:一是希望按 cron 周期自动执行一段写好的 prompt,而不是每次从页面手动触发;二是执行过程最好落在真实 agent 会话里,保留会话或项目上下文。

dsh-timer-agent 是一个 DSH Web GUI 插件,提供 host 常驻定时任务引擎:dsh web 服务启动即生效,浏览器 GUI 关闭也照常触发。下面介绍它的功能、安装方式和需要注意的限制。

这是什么

dsh-timer-agent 由 LouisHaoL 维护,许可证为 MIT。它把 5 段 cron 调度、真实 agent 会话执行、模型工具 timer_agent 和 Web GUI 任务面板放在同一个插件里,用于完成“到点自动执行 prompt,也能到点直接运行命令”的无人值守任务。

核心功能

定时调度

  • 支持 5 段 cron:分、时、日、月、周。
  • 支持 **/na-b、逗号列表。
  • 提供 cron 预设下拉:每天 09:00、每小时、每 10 分钟、每周一 09:00。

任务目标

  • 指定已有会话:每次触发继续该对话,选中会话即钉住该对话。
  • 指定项目 workdir:在该项目内新建会话运行。
  • 两者都留空:在默认工作空间新建会话发起新对话。
  • 目标树选择器按项目分组,可折叠,可选已有会话或新增会话。

管理入口

  • Web GUI 侧边栏出现「定时任务」入口,任务面板提供列表、搜索过滤、详情页。
  • 详情页支持 cron 编辑、执行历史、跳转会话 transcript、立即执行、重置、删除。
  • 对话中可通过 timer_agent 模型工具管理任务,动作包括 create / list / update / pause / resume / archive / restart / remove / run
  • 插件会注册 plugin:timer-agent 播报段,向 agent 告知本插件能力与协作方式。

普通命令任务

除 AI Agent 任务外,还支持普通任务(命令):到点直接 spawn 命令+参数,可选工作目录、超时,不经过 AI、不消耗额度。stdout / stderr 尾部(≤16k 字符)与退出码随执行记录入账。

安装与启用

先获取插件目录,再使用本机绝对路径安装:

dsh plugin --profile web add link:<本目录绝对路径>

安装后重启 dsh web。侧边栏出现「定时任务」入口即生效。

典型用法

创建 AI Agent 定时任务

1、在 DSH 对话中调用 timer_agent 工具,使用 create 动作创建任务。

2、填写 5 段 cron,例如:

0 9 * * *

prompt 必须自包含,不能依赖现场提问。

3、选择目标:已有会话、项目 workdir,或两者都留空使用默认工作空间。

4、保存后等待到点触发,也可以在任务详情页使用“立即执行”。

创建普通命令定时任务

1、使用 timer_agent 或 Web GUI 新建普通任务(命令)。

2、填写命令+参数,必要时指定工作目录和超时。

3、到点触发后,执行记录会保留 stdout / stderr 尾部(≤16k 字符)和退出码。

适用场景与注意

dsh-timer-agent 适合在受控的本机或私有环境中使用。它适合把自包含的 prompt 定时交给 agent 会话执行,也适合定时运行自己审查过的脚本。

使用前请检查源码与许可证。该插件中普通任务会在你的机器上以当前用户权限执行任意命令,没有任何沙箱或白名单。API 路由仅回环 + 同源可访问,但仍需要注意以下限制:

  • 任何能新建/编辑任务的人、能调用 timer_agent 工具的 agent 会话、能访问回环 API 的本机进程,都可能让任意程序定时运行。
  • 任务台账 ~/.dsh/timer-agent/jobs.json 可被篡改即等价于本机任意代码执行;谨慎使用。
  • 不要把该插件暴露给不可信环境。
  • 定时执行依赖 dsh web 服务进程存活;服务停了不触发,重启后只跑已顺延到期的任务,错过即跳过。
  • 任务运行中到点跳过本次,等下一个 cron 匹配点。
  • AI Agent 任务执行消耗 API 额度;定时执行无人在场,prompt 必须自包含、不可提问。

结尾

dsh-timer-agent 的价值在于把 DSH 的定时执行从页面操作变成 host 常驻引擎,并让 agent 能在对话中直接创建和管理同一批任务。许可证为 MIT。

GitHub 仓库:https://github.com/LouisHaoL/dsh-timer-agent

社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系;本文不附未核实的目录页 URL。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye