A DeepSeek Harness plugin that periodically detects added, modified, and deleted files in a workspace and reports the changes.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-workspace-monitor
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Rainier-Z/dsh-workspace-monitor
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
dsh-workspace-monitor 0.2.0
安装
dsh plugin --profile desktop add dsh-workspace-monitor
快速开始
可以直接在当前会话中使用自然语言操作监测任务:
- "开始监测当前工作区"
- "列出监测"
- "把
<taskId>改为每分钟" - "停止监测
<taskId>" - "继续监测
<taskId>"
同一个会话可以同时创建多个监测任务。每个任务都有独立的 taskId、工作区、扫描基线和运行状态;"列出监测"只列出当前会话拥有的任务。
运行规则
- 新任务默认每 60 秒扫描一次(
intervalMs: 60000)。 - 可以在运行时修改间隔,例如"把
<taskId>改为每分钟";修改会立即作用于后续调度,不需要重启。 - 创建任务时先扫描一次并静默建立基线,不发送首轮变化通知。
- 从第二轮开始,每个周期都会发送扫描摘要;发现变化时列出新增、修改和删除,未发现变化时也会明确报告无变化。
- 扫描只读取文件元数据,不读取文件内容,也不写入被监测工作区。默认忽略
.git、node_modules和.dsh-workspace-monitor,并可通过配置调整扫描规模与摘要中的变化数量。 - "停止监测"会暂停任务;"继续监测"会恢复任务并执行一次补偿扫描,然后按原间隔继续运行。
- 任务归属于当前会话的
sessionId,不依赖某一个暂时存活的 Agent 实例;Agent 释放后,任务仍保持运行。 - 每轮扫描先把基线、时间和待投递报告一起持久化,再尝试送达。Agent 忙、暂时不可用或持久化确认失败时,报告会保留并在后续重试;只有
sessions.flush()成功且 revision 仍一致时才清除。 - 扫描失败也会形成可恢复的待投递通知,且不会推进文件基线。
- Session 归档前会报告仍在运行的监测任务;如果归档流程要求停止活动,任务会保留配置并转为
PAUSED(session_archived),不会删除历史基线。
重启后的状态
持久化任务在运行环境重启后会恢复为原状态。原为 ACTIVE 的任务会重新进入调度;到期任务只执行一次补偿扫描,未送达的报告也会从持久状态恢复。手动暂停任务仍保持暂停。旧版本留下的 restart_requires_confirmation 或 agent_disposed 系统暂停原因会在启动时自动迁移为 ACTIVE。
配置与集成边界
插件包自带 cordis.patch.yml,默认配置如下:
- insert:
- id: dsh-workspace-monitor
name: dsh-workspace-monitor
config:
intervalMs: 60000
ignore: [.git, node_modules, .dsh-workspace-monitor]
maxEntries: 100000
maxChanges: 200
Desktop profile 是当前配置的主入口;旧的 Web 配置已移除。侧边任务栏集成留待后续阶段,本阶段尚未实现。
本地验证
在本项目目录执行:
npm test
npm run check
npm run pack:check
Links
More in this category
loopx-project/loopx#dsh-loopx-plugin★ 6398
LoopX, a provider-neutral, local-first state kernel and control plane for long-horizon agents: keeps Goal, Todo, gate, evidence, quota, recovery, and handoff state above DeepSeek Harness, while the plugin bootstraps the CLI and skills, admits bounded same-session continuation, and adds a loopback GoalBar for the exact bound loop.
Q00/ouroboros#integrations/dsh-plugin★ 6260
Config-only bundle that mounts Ouroboros through the DSH MCP client, exposing 36 interview, Seed, execution, evaluation, and evolution workflow tools in DSH.
chuspeeism/dashi-taskboard#deepseek-harness★ 3388
Embeds the active installed Codex Taskboard runtime in the DeepSeek Harness sidebar, using its launcher runtime descriptor instead of a fixed port.
NanmiCoder/dsh-agent-teams★ 2368
AgentTeams multi-agent teams.
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1753
Installs a dedicated AI novel-writing preset and workbench: revisioned local project assets, a compact side drawer, and native approval-gated single-file changes.
Miaotofu01/Study-Mate★ 1144
Your AI learning companion: helping you plan your studies, understand concepts, and build projects to master a subject.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.