dsh-loop:DeepSeek Harness 定时循环插件

前言

DeepSeek Harness (DSH) 的核心设计是「一切皆插件」。在开发需要周期性执行任务的智能体时,手动编写调度逻辑往往繁琐且容易出错。dsh-loop 插件正是为了解决这个问题而生,它为智能体提供了一个用户友好的 /loop 斜杠命令,用于管理定时循环任务。

插件定位

这是一个由开发者 XiaoWind 维护的 DSH 插件。它通过注入命令服务,为智能体增加了一个定时循环执行器。通过该插件,开发者无需编写复杂的调度代码,即可在 Web 界面直接控制 Agent 的循环行为。

核心功能

该插件主要包含以下能力:
* 定时循环指令:提供 /loop 斜杠命令,支持立即执行首次 Tick。
* 持久化配置:循环配置会在重启后保持,通过 /loop resume 可恢复。
* 灵活的时间设置:支持 ms、s、m、h、d 等时间单位,支持组合时长(如 1h30m)。
* 手动控制:支持通过 /loop stop 或销毁 Agent 来结束循环。
* 状态查询:提供 /loop status 和 /loop help 查看当前运行状态。

安装与启用

使用 dsh plugin 命令安装。由于插件依赖命令服务,它仅会在包含命令适配器的 Profile(例如 web profile)中激活。

dsh plugin --profile web add git+https://github.com/XiaoWind/dsh-loop.git

安装或更新后,必须重启 Web 应用,因为插件层会在启动时加载。

典型用法

插件提供了一组斜杠命令来控制循环:

命令 效果
/loop 30m 立即执行一次,随后每 30 分钟执行一次
/loop 30m fix the tests 设置一个 30 分钟间隔的循环,目标为修复测试
/loop fix the tests 使用默认间隔,目标为修复测试
/loop 1h30m 使用组合时长(1小时30分钟)
/loop resume 恢复上次重启前保存的循环配置
/loop status 显示当前运行的循环状态
/loop stop 停止当前循环
/loop help 显示帮助信息

语法规则为:首位是时间间隔(可选),其余部分为循环目标。如果省略时间间隔,则使用默认间隔。

配置说明

如果不指定时间间隔,插件使用默认值。可通过配置文件修改此默认值:

# cordis.patch.yml
- id: loop
  config:
    defaultIntervalMs: 900000

默认间隔为 600000 毫秒(10 分钟)。

注意事项

  • 运行环境:插件以当前 DSH 进程的权限运行,建议在安装前检查源码与许可证。
  • 激活条件:只有在配置了命令适配器的 Profile 中才会生效。
  • 文件存储:循环配置持久化在 $DSH_HOME/dsh-loop/<sessionId> 目录下。
  • 无自动完成:插件不包含自动完成检测功能,需手动停止或销毁 Agent 来结束循环。
  • 单文件:这是一个无构建步骤的单文件 ESM 插件。

总结

dsh-loop 通过简单的命令接口解决了智能体周期性任务的需求。它结合了 DSH 的插件机制,使得定时调度变得轻量且易于管理。项目源码托管在 GitHub,可通过链接访问。

  • GitHub: https://github.com/XiaoWind/dsh-loop
羽毛球分组比赛记分
小程序二维码

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

小夜