DeepSeek Harness 自动化任务

想让 Agent 每天定时帮你整理记录、生成周报,或者半小时后提醒你检查一次部署?DeepSeek Harness 的自动化任务(Schedule)就是为此准备的:在对话里用一句话创建提醒,到期后宿主自动恢复对应会话并把任务投递进去。

本章节介绍自动化任务(Schedule)的入口、支持的调度规则、投递语义与使用边界。

创建第一个提醒

直接在会话里提出请求即可,模型会调用 schedule_create 完成 创建。

每天 23:00 提醒我查看天气。

接下来会自动创建这个任务:

创建后打开自动化任务页面,选中刚创建的提醒,检查频率一栏显示的是「每日」规则和所需时区,而不是「仅一次」。

自然语言里的时间默认按浏览器上报的时区解释,显式指定时区可以避免歧义,尤其是跨时区协作或在意夏令时的场景。


能力入口与前提

发布的 Web profile 自带宿主 Schedule 服务与「自动化任务」页面,桌面版同样提供该入口。

使用前先完成模型配置——创建提醒本质上是让模型调用工具,没有可用的模型就无法创建。

配置方法参见模型配置,首次启动与工作区设置参见第一次使用。

运行环境定时任务能力
Web profile宿主 Schedule 服务 + 自动化任务页面,开箱即用
标准 / PTC / 创造模式声明 schedule_create、schedule_list、schedule_update、schedule_delete 四个工具,外加把当前时间与浏览器时区交给模型的时钟上下文
极简模式不声明工具与时钟上下文,无法创建提醒
子代理(subagent)委派行已 deny 这四个工具,子代理看不见也不能调用

为什么要带时钟上下文:模型本身不知道「现在几点」。

preset 把当前时间和时区交给模型,它才能把「每天晚上 11 点」换算成正确的规则。


支持的调度规则

定时任务支持六类规则,从一次性延迟到 cron 表达式全覆盖。

规则类型说明示例
一次性延迟(After)正整数秒,从创建时刻起算30 分钟后提醒我
绝对时间(At)绝对日期时间,可带 IANA 时区2026-11-01 09:00 提醒我
固定间隔(Every)至少 1 分钟的固定间隔,按经过时间触发每 2 小时检查一次日志
每日带 IANA 时区的每日本地时间每天 Asia/Shanghai 23:00
每周带 IANA 时区 + ISO 星期(周一 1 至周日 7)每周五 18:00 生成周报
cron五字段表达式,带显式 IANA 时区,以规范化形式保存工作日 09:30 站会提醒

夏令时与异常时间的处理有明确规则:不存在的每日本地时间(如夏令时切换时被跳过的 02:30)会被跳过;重叠时间选择当天较早的一次。

绝对时间请求则直接拒绝不存在的本地时间,重叠时同样取较早时刻。


管理任务:查看、修改与删除

从侧栏打开自动化任务页面,可以查看所有提醒,不需要激活。

页面支持按任务名称、指令或所属会话 id 搜索,并用「全部 / 已开启 / 已结束」状态筛选。

点击具体的任务可以查看任务规则、关联的会话及删除任务:

修改活动任务

选中活动任务打开「规则」,可修改名称、指令和运行时间,修改先存本地草稿,点「保存更改」一次性提交。

模型侧的 schedule_update 是等价入口:原地修改提醒,保留任务 id、原对话和已保存的投递记录。

「重复」菜单提供每周、周一至周五、每天、每 N 小时 / 分钟 / 秒、仅一次和自定义 cron;规范化后等价的规则不会重设计时——例如把 Every 间隔保存为相同值,不会重新起算。

删除任务

选择删除并确认,可停止未来投递并将任务从列表移除,包括未运行的任务。

删除会连带移除该任务的全部已保存历史,且不会删除原对话,也不会撤回已进入队列的消息。


时间与投递语义

定时任务什么时候触发、错过怎么办,官方语义可以归纳成几条:

场景行为
宿主运行期间到期恢复原 Session 并排入 follow-up,不中断当前工作
宿主重启后补投逾期的一次性提醒,或每条重复任务最近错过的一次
宿主关闭调度停止,直到宿主再次启动
同一 Session 多个到期任务可以共用一条消息投递
固定间隔改变改变前与创建时间对齐,改变后与接受保存的时间对齐

投递不保证恰好一次:收件箱持久化后崩溃或任务写入失败,可能留下未记入发送记录的已投递消息并重复投递。

对精确性要求高的场景(如对外通知),应把自动化任务当作触发器,在指令里让 Agent 先检查再执行。


投递历史与保留策略

已保存的记录在追加确认时自动裁剪:宿主保留确认时间落在 deliveryHistoryDays 窗口内的记录,且最多保留最新的 deliveryHistoryRecords 条。

最近一次回执始终保留;发生裁剪时,页面会标记更早记录不可用。

历史保存在内存中,每次确认都会重写完整任务行;分页只是限制单次返回的条数,不限制保留的历史总量。

没有已保存历史的任务只能显示已有的最近一次回执,缺失的更早记录无法恢复,也不会用当前指令顶替缺失的指令快照。


边界与不支持的操作

自动化任务有几个明确的「不支持」,使用前心里有数:

不支持的操作说明与替代做法
暂停任务没有暂停开关;不需要时删除,需要时重新创建
每次运行新建 Session投递总是回到原会话;想要全新上下文,请在指令中让 Agent 自行开子代理处理
跨会话转交工作流修改只能原地(保留 id 与原对话),不能把任务转移到另一个会话
自动调度仅存在于旧日志的提醒仅记录在旧 Session 日志中的提醒不会自动调度,重新创建仍需要的提醒即可

一句话总结:自动化任务是「会话级提醒」——任务绑定创建它的会话,到期把消息送回那个会话。

它不是 cron 系统的替代品,没有外部通知渠道,也不能保证执行成功。


常见问题

现象原因与处理
模型说无法创建提醒当前 preset 是极简模式,或请求发给了被委派的子代理;换标准 / PTC / 创造模式在主会话重试
创建的时间不对自然语言时间按浏览器时区解释;显式指定 IANA 时区,创建后到页面核对频率
任务从对话目录里消失了一次性任务投递后变为未运行;目录和 schedule_list 只显示活动任务,用「未运行」筛选找回
运行记录显示已投递但没看到结果记录只确认消息进入收件箱,不代表模型完成了工作;打开原会话查看实际执行情况
重启后没有收到提醒宿主关闭期间调度停止;重启后只补投逾期一次性提醒或重复任务最近错过的一次
更早的运行记录不见了超出 deliveryHistoryDays 窗口或超过 deliveryHistoryRecords 上限被裁剪;最近一次回执始终保留