清场(dsh-window-sweeper):任务收尾时收回 AI 新开的窗口

前言

在 DeepSeek Harness(DSH)里让智能体跑一轮任务,模型往往会顺手打开记事本、浏览器、资源管理器、安装向导或播放器。任务结束后若没有人收尾,桌面上会堆满窗口,干扰下一轮工作或人工操作。手动逐个最小化或关闭既费时,也容易误关你本就在用的窗口。

下面介绍社区插件 清场(dsh-window-sweeper):在每个任务开始时记录当时已有窗口的基线,只在任务收尾时处理基线之后新出现的窗口;你自己原先开着的窗口默认不会被收。插件由维护者 Yyhy110421 发布,归类为工作流,仅支持 Windows。

这是什么

清场是面向 DSH 的收尾插件:任务做完,把 AI 自己在本轮任务中新开的窗口收掉。 默认动作为最小化(可恢复),也可在设置中改为直接关闭。子任务(subagent)不自动清场,避免把主会话刚开的窗口提前收掉;内置浏览器标签页不在此硬关,文档提示模型使用 dsh_browser_reset_session,以免误关 DSH 主窗口。

核心功能

自动基线与收尾

每个任务开始时自动拍基线快照;任务收尾时通过 agent/turn-stopping 钩子自动清场。即使模型没有主动调用工具,也会执行收尾逻辑。

工具 window_sweep

除自动清场外,提供手动兜底:

  • mark:重拍基线
  • list:查看候选窗口
  • minimize:最小化(默认行为)
  • close:关闭窗口

设置界面

在 DSH 设置 → 清场 中可修改动作、进程排除名单、标题关键词黑名单。

安全边界(README 原文要点)

  1. 只处理基线之后出现的窗口(hwnd 和 pid 均不在基线中)。
  2. 系统外壳相关进程默认排除。
  3. 最小化使用 ShowWindow(SW_MINIMIZE);关闭只发 WM_CLOSE,不杀进程。
  4. 仅支持 Windows。

安装与启用

在 DSH 中打开 设置 → 插件管理器,安装下列任一来源:

github:Yyhy110421/dsh-window-sweeper
file:<本仓库的绝对路径>

装完后重启 DSH 方可生效。

注意:file: 安装为实体拷贝,改完源码需卸载再装才会更新;update 只支持 npm 注册表插件。本插件不发布到 npm。

插件以当前 DSH 进程权限运行,安装前建议阅读仓库源码与许可证(MIT)。

配置

设置文件路径:$DSH_HOME/data/window-sweeper.json;未设置 DSH_HOME 时使用 ~/.dsh。

{
  "action": "minimize",
  "excludeExe": ["explorer", "ShellExperienceHost", "StartMenuExperienceHost", "SearchHost", "TextInputHost", "LockApp"],
  "excludeTitleKeywords": []
}
  • action:minimize | close
  • excludeExe:按进程名(不带 .exe)排除
  • excludeTitleKeywords:窗口标题包含任一关键词则跳过

典型用法

  1. 通过插件管理器安装并重启 DSH后,正常发起任务即可;开始时会自动拍基线,回合结束时会自动清场。
  2. 若需在任务中途刷新基线或手动处理窗口,让模型调用 window_sweep 的 mark / list / minimize / close。
  3. 若任务期间你也会新开窗口,这些窗口可能被当作候选;用 excludeExe 或 excludeTitleKeywords 排除。

在 Windows 桌面上做本地验证时,仓库提供:

node test/manual.mjs

用于在真实桌面上跑一遍 list / minimize / close。

适用场景与注意

适合谁: 经常在 Windows 上用 DSH 跑长任务、且模型会启动各类 GUI 程序的开发者。

已知限制(资料原文):

  • 单实例程序(如记事本)若在旧进程里开新窗口,可能被判定为任务前已存在而不被收,这是为避免误伤用户自有窗口的取舍。
  • 任务期间用户自己新开的窗口也会进入候选,需靠排除名单或标题黑名单规避。

DSH 生态以「一切皆插件」为思路;社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文所述安装与能力均以仓库 README 与 package.json 为准。

结尾

清场用「基线 + 收尾钩子」把 AI 本轮新窗口的收拾做成默认行为,并保留手动工具与可配置排除规则。需要安装说明与源码时,可访问 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye