DeepSeek Harness 延迟工具 (dsh-delay-tools)

前言

DeepSeek Harness (DSH) 的后台任务通常绑定在代理回合的生命周期上,回合结束任务即销毁。直接使用 shell 定时器无法实现“在相同对话中延迟唤醒代理”的功能。本插件通过宿主机级定时器与官方 agent.followup() 通道,解决了跨回合唤醒与定时阻塞的问题。

插件介绍

dsh-delay-tools 是 DeepSeek Harness 的一个工作流插件,提供两个核心工具:schedule_reminder 和 wait。前者用于在相同对话中延迟唤醒代理(智能体在等待时继续工作),后者用于阻塞当前回合直到倒计时结束。

安装

执行以下命令安装插件:

dsh plugin add github:keyiadiannao/dsh-delay-tools#master

功能说明

1. 延迟唤醒 (schedule_reminder)

调用此工具后,智能体在等待期间会继续处理其他任务。倒计时结束后,插件会通过 agent.followup() 将消息送回当前的对话上下文中。

  • 多提醒支持:同一对话中可设置多个提醒,每个提醒有独立的 reminder_id。
  • 不干扰对话:无论倒计时期间发生多少次对话交互,提醒都会在指定时间准时送达。

2. 定时门控 (wait)

此工具会阻塞当前回合,智能体直到倒计时结束后才会继续执行后续逻辑。

  • 消息队列:在等待期间发送的消息会进入队列,倒计时结束后统一处理。
  • 可中断:如果在等待期间点击停止按钮,等待会立即中断,智能体不会挂起等待剩余时间。

使用示例

调用 schedule_reminder

你可以要求智能体在 30 秒后提醒你喝水:

Call the schedule_reminder tool and remind me in 30 seconds to drink water.

智能体会返回预计触发时间。倒计时结束后,它会在同一对话中回复你。

调用 wait

如果需要等待一段时间再继续:

Call the wait tool for 30 seconds, then continue.

智能体会阻塞当前回合,30 秒后自动继续。

配置项

插件支持通过 YAML 配置调整默认延迟范围。以下为示例配置:

- id: dsh-delay-tools
  config:
    defaultDelayMs: 60000       # 默认延迟毫秒数
    maxDelayMs: 3600000         # 单次延迟上限(1小时)
    minDelayMs: 1000            # 单次延迟下限(防止瞬间重入)

注意事项

  • 内存依赖:提醒仅存活于进程内存中。插件重载会取消所有待处理的提醒;DSH 主机重启也会取消所有待处理的提醒。
  • 持久化:目前不提供持久化存储,重启会导致提醒丢失。

总结

该插件解决了 DSH 中跨回合定时任务的痛点,提供了基于宿主机级定时器的可靠唤醒机制。适用于需要“稍后提醒”或“定时冷却”的场景。

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

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

小夜