dsh-proactive:Agent 回合结束后自动唤醒汇报

前言

DSH 的 Agent 模型本质上是请求-响应过程。一旦回合结束,Agent 进入休眠状态,没有内置的计时器或进程监听机制。当需要执行长任务(如下载大文件、编译、等待服务启动)时,任务完成后 Agent 不会自动醒来汇报,用户必须主动询问。

dsh-proactive 作为一个 DSH 插件,解决了这个问题。它在 Agent 回合结束后充当“守夜人”的角色,在条件满足时注入消息并唤醒 Agent,使其主动汇报任务完成情况。

定位

这是一个工作流类插件,由开发者 mili1360 维护。核心价值是在 Agent 回合结束后自动唤醒 Agent 报告长任务完成状态。

核心功能

  • 自动唤醒:在 Agent 回合结束后,通过注入消息唤醒 Agent。
  • 多种触发器:支持文件稳定、进程退出、端口开启、定时等多种监控方式。
  • 消息注入:使用 agent.steer() 注入指令,机制同 dsh-subagent 向父代理汇报。
  • 消息重试:支持 repeatSeconds 配置,对持续变化的文件(如日志)进行持续监控。
  • 隐蔽通知:默认不渲染为用户气泡(source.kind=plugin),用户只会看到 Agent 的回复。

安装与启用

安装此插件只需一条命令:

dsh plugin add --profile web github:mili1360/dsh-proactive

安装完成后,必须重启 DSH 进程才能使插件生效。

典型用法

  • 场景示例:
    用户:“fetch that 20 GB thing and tell me when it’s done”
    Agent(开始下载 -> 回合结束 -> 休眠)
    …数小时后…
    插件(检测到文件大小停止变化 -> 注入消息 -> 唤醒 Agent)
    Agent:“Done — 20.3 GB, and I verified the checksum against the published one.”

  • 配置步骤:

    1. 在配置中添加 watch.example.json 文件。
    2. 将配置项添加到 dsh.profile.bundles 数组中。
    3. 插件启动定时器,按设定间隔检查触发条件。

适用场景与注意

  • 依赖与兼容性:
    该插件依赖 @deepseek-ai/dsh-llm 包。目前仅支持 DSH 0.1.0-rc.7(自定义构建版本)。

  • 消息渲染:
    插件源消息默认不在 UI 渲染(source.kind=plugin),Agent 主动汇报时体验更自然。若需要渲染为用户气泡,需显式设置 sourceKind: 'user'。

  • 会话选择:
    当未指定 sessionId 时,插件会唤醒最近活跃的会话。如果指定的会话不存在,该条目会被跳过并保持待命状态。

总结

对于需要处理长时间后台任务的场景,该插件填补了 Agent 休眠期间的状态同步空白。你可以通过 社区目录 查看更多详情,或在 GitHub 查看源码与文档。

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

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

小夜