前言¶
在 DSH 这类插件化智能体环境里,有些任务需要按固定间隔把 prompt 投回当前 agent:例如周期性检查状态、跟进未完成任务,或让模型在多轮之间持续调整。vlln/dsh-loop 解决的就是这个场景:它提供一个 /loop 命令、一个 loop 工具,以及聊天页上方的活动状态条,并在单个会话内支持并发多个循环。
下面介绍它的功能、安装方式、典型用法,以及使用时需要注意的边界。
插件定位¶
vlln/dsh-loop 是一个 DSH 定时循环插件,维护者为 vlln,许可证为 MIT。它由 dsh.bundle 与 dshClient channel 交付,标注为 0 patch。
它适合需要“定时把一段 prompt 交给当前 agent 处理”的任务。循环只在当前 harness 进程内存在:进程退出后消失,不在重启之间持久化。这一点与 Claude Code 的 /loop 语义一致。
核心能力¶
loop 工具¶
loop 工具面向模型侧,支持以下动作:
start:启动一个新循环stop:停止指定循环或全部循环status:查看状态list:列出当前会话中的循环
模型可以在每一轮调用 loop 工具,根据当前状态自行调整循环参数。
/loop 命令¶
用户侧可用以下命令:
/loop [interval] <prompt>
/loop list
/loop stop <id>
/loop stop
其中:
/loop [interval] <prompt>:启动一个新循环/loop list:列出当前会话中的循环/loop stop <id>:停止指定 id 的循环/loop stop:停止当前会话中的所有循环
活动状态条¶
状态条位于聊天页输入框上方的 dock 槽:
- 单个循环时,显示提示词、间隔和下次时间
- 多个循环时,折叠为计数条,点击可展开列表
单个会话内可以并发运行多个循环。
安装与启用¶
先确认环境满足 package.json 声明的要求:Node.js >=22.19.0,DSH >=0.1.0-rc.5。
从 git 源安装:
dsh plugin --profile web add "github:vlln/dsh-loop#main"
这条命令会把 vlln/dsh-loop 的 main 分支加入 web profile。
如果使用 npm 源,资料中的示例为:
dsh plugin --profile web add @vlln/dsh-loop@0.3.0
注意:README 推荐 npm 源安装版本为 @vlln/dsh-loop@0.3.0,而 package.json 中 version 为 0.3.1。资料内存在版本差异,实际安装前建议核对目标来源。
安装完成后,先重启 web 使其生效,因为 bundles 在启动时组合。之后可以在设置页的 Plugins 面板中 disable/enable,运行时生效并持久化。
典型用法¶
用户侧¶
下面示例展示从启动到停止的基本流程。
启动一个间隔为 5m 的循环,投递 prompt check PRs on the deploy branch:
/loop 5m check PRs on the deploy branch
查看当前会话中有哪些循环,以及它们的 id:
/loop list
停止指定 id 的循环:
/loop stop loop-1
停止当前会话中的所有循环:
/loop stop
模型侧¶
模型可以通过 loop 工具发起或检查循环。
让模型启动一个间隔 2m 的循环,prompt 为 fix flaky test:
loop action=start prompt="fix flaky test" interval="2m"
查看循环状态:
loop action=status
停止指定循环:
loop action=stop loop_id="loop-2"
适用场景与注意¶
适合:
- 需要在 DSH web 会话中做定时轮询或周期性任务跟进的开发者
- 希望模型在每一轮调用
loop工具,并根据当前状态调整循环参数的使用者
注意:
- 循环是进程内的:当前 DSH harness 进程退出后,循环会消失;不要在需要跨重启持久化的任务中使用它
- 插件会以当前 dsh 进程权限运行。安装前请检查源码、许可证和安装来源
- 社区目录是独立站点;文中给出的
dshfind目录页不等于 DeepSeek 或幻方的官方应用商店
链接¶
- GitHub:
https://github.com/vlln/dsh-loop - 插件目录页:
https://dshfind.com/en/plugins/vlln/dsh-loop?ref=badge