返回插件库
dsh-monitor 封面

dsh-monitor

持久后台监视器:文件收件箱或命令输出有新内容时自动唤醒 agent

github.com/AbnerAI/dsh-monitor
3 MIT 作者 AbnerAI 更新于

安装

dsh plugin --profile web add dsh-monitor

dsh-monitor

让 agent 不再只是「等你发消息」:在文件收件箱或命令输出上布个监视器,有新内容就自动把它叫醒。

解决什么问题

DSH 的 agent 默认只在收到消息时才行动,无法主动「盯着」某个来源等待新输入——这正是 Claude Code Monitor 工具解决的问题。dsh-monitor 把这一能力带进 DeepSeek Harness:agent 调用一次 monitor 工具,即可在消息源上布防持久后台监视器,有新内容到达时由插件唤醒所属 agent,机制与 Claude Code 的 <task-notification> 一致。

它支持两类来源:source: file 监听只追加写入的 NDJSON 收件箱,新行落地即投递;source: command 按固定间隔重跑一条 shell 命令,投递自上次运行以来的输出增量。agent 空闲时开新回合(agent.followup()),忙碌时把消息排入下一步(agent.inject())。监视器在会话内持久存在,可随时用 monitor_list 查看、用 monitor_stop 解除,插件卸载时自动清理。

核心功能

  • 文件收件箱监听:source: file 监听只追加的 NDJSON 文件,新行落地即唤醒 agent
  • 命令输出轮询:source: command 按 poll_interval_ms 间隔重跑命令,投递输出增量
  • agent 自动唤醒:空闲时开新回合、忙碌时排队注入,对齐 Claude Code 的 <task-notification> 语义
  • 会话内持久管理:monitor_list 列出已布防监视器,monitor_stop 按 id 解除
  • 自然的消息格式:NDJSON 每行一个 JSON 对象,content 字段优先投递,否则投递原始行
  • 无侵入生命周期:卸载时自动拆除所有监视器,不留残留定时器

快速上手

安装后重启 dsh web,直接在对话里用自然语言让 agent 布防,例如「帮我在 /absolute/path/to/inbox.ndjson 上布一个监视器,有新行就叫醒我」。agent 会调用 monitor 工具:

monitor(source=“file”, path=“/absolute/path/to/inbox.ndjson”, name=“my-inbox”, poll_interval_ms=1000)

path 必须是绝对路径(或以 ~ 开头,插件会自动展开);poll_interval_ms 默认 2000,聊天类收件箱用 1000 更跟手。之后每往文件追加一行,agent 就会被自动唤醒。随时管理监视器:

monitor_list

monitor_stop(id=“monitor-1”)

要盯一条命令的变化,改用 source="command",例如 command="tail -n 5 /var/log/app.log"。

适合谁

  • 依赖 Claude Code Monitor 在空闲时响应外部消息、想在 DSH 里获得同样能力的用户
  • 用文件收件箱或通知总线与 agent 联动、做自动化编排的场景
  • 希望 agent 能主动响应日志、队列等增量输入而不必手动投喂的团队
标签 Agent 增强 自动化工作流

内容根据项目 README 整理 · 版权归原作者所有

报告问题 / 申请下架

相关插件