安装
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 能主动响应日志、队列等增量输入而不必手动投喂的团队
内容根据项目 README 整理 · 版权归原作者所有
报告问题 / 申请下架