前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在智能体开发流程中,开发者经常需要持续监测本地工作区的文件变化,以触发构建、部署或代码审查等后续逻辑。dsh-workspace-monitor 旨在为 DSH 提供一种轻量级的、基于命令行的文件状态监测方案,替代手动轮询或复杂的脚本逻辑。
这是什么¶
这是一个由 Rainier-Z 维护的命令驱动型监测插件。它允许用户通过自然语言指令在当前会话中创建和管理多个独立的监测任务,每个任务都拥有独立的 taskId、工作区路径、扫描基线和运行状态。
核心功能¶
- 自然语言操作:无需编写复杂指令,通过对话即可管理监测任务。
- 多任务并发:同一个会话可以同时创建多个监测任务,互不干扰。
- 状态独立:每个任务拥有独立的
taskId、工作区、扫描基线和运行状态。 - 可配置扫描:默认每 60 秒扫描一次,支持在运行时动态修改扫描间隔(如改为每分钟)。
- 摘要报告:创建任务时会静默建立基线,不发送首轮通知。后续每轮扫描都会输出摘要,明确列出新增、修改和删除的文件;未发现变化时也会明确报告“无变化”。
- 元数据扫描:扫描仅读取文件元数据(如修改时间、大小),不读取文件内容,也不写入被监测工作区。
- 默认忽略:默认忽略
.git、node_modules和.dsh-workspace-monitor目录,减少噪音。
安装与启用¶
在终端中执行以下命令安装插件:
dsh plugin --profile desktop add dsh-workspace-monitor
典型用法¶
安装完成后,在当前会话中直接使用自然语言指令即可操作:
- 开始监测当前工作区
- 列出监测(仅列出当前会话拥有的任务)
- 把
<taskId>改为每分钟 - 停止监测
<taskId> - 继续监测
<taskId>
适用场景与注意¶
该插件适合需要持续跟踪工作区文件变更的 DSH 开发者。
- 持久化与容错:任务归属于当前会话的
sessionId,不依赖某一个暂时存活的 Agent 实例。Agent 忙碌或暂时不可用时,报告会保留并在后续重试。旧版本遗留的restart_requires_confirmation或agent_disposed系统暂停原因会在启动时自动迁移为ACTIVE。 - 权限与安全:插件以当前进程权限运行,请确保安装来源可信。侧边任务栏集成功能尚未实现。
- 本地验证:如需在本地验证插件代码,可执行:
npm test
npm run check
npm run pack:check
总结¶
dsh-workspace-monitor 为 DSH 提供了高效的工作区状态感知能力,适合需要精细控制文件监测逻辑的场景。相关源码与文档可在以下地址查阅:GitHub | 社区目录。