前言¶
DeepSeek Harness (DSH) 依赖插件扩展能力,但在原生功能中缺少全局快捷键截取当前窗口的上下文注入方式。这通常迫使开发者手动截屏、切换窗口、复制粘贴,增加了工作流中的摩擦成本。
dsh-plugin-appshot 是为此目的设计的插件。它为 macOS 和 Windows 提供全局快捷键截图,利用原生能力捕获当前窗口,并自动作为图片上下文挂入 DSH 的 Composer。这实现了从“触发截图”到“Agent 获得上下文”的零摩擦传递。
安装与启用¶
在终端中执行以下命令安装插件:
dsh plugin --profile web add dsh-plugin-appshot
安装完成后,重启 DSH。启动日志中出现 [dsh-plugin-appshot] plugin applied successfully 和 native agent ready 表示加载成功。
macOS 权限配置: 首次触发截图时,系统会弹出授权引导。必须授予“屏幕录制”和“辅助功能”权限,插件才能正常工作。
核心功能¶
通用能力¶
- 单窗口精准截图: 仅截取当前前台窗口,不包含其他窗口、桌面、菜单栏或 Dock。
- Composer 草稿挂载: 截图自动进入当前会话的输入框草稿区。支持连续触发以追加多张截图。
- 无残留: 临时 Staging 文件按“单一 Owner”规则管理,在成功挂载或失败清理后自动删除,无文件残留。
macOS 平台¶
- 快捷键: 默认使用左右 Command(⌘+⌘)组合。支持在设置面板切换为双击 Command 等模式。
- 技术实现: 基于系统 ScreenCaptureKit,支持 Retina 高清分辨率,自动过滤透明层、阴影和 Tooltip。
- 先截后唤: 严格遵循“先截图,后唤起 DSH”的流程。截图落盘后,Native Agent 才会唤醒并置顶 DSH 窗口,防止误截 DSH 自身。
- 权限反馈: 缺少权限时弹出系统授权引导,并通过系统通知提示失败原因。
Windows 平台¶
- 快捷键: 默认使用左右 Ctrl(Ctrl+Ctrl)。可在 DSH 设置面板中自定义修饰键组合,配置跨重启保留。
- 静默交付: 截图过程不激活、不聚焦 DSH 窗口。通过 Node 内存与 HTTP 长轮询将图片静默挂入 Composer,不打断当前工作流。
- 两阶段截图: 采用“置前 + 降级”策略。先备份窗口内容,若置前失败则降级使用备份,确保截取到的即用户看到的内容。
- 无打扰反馈: 提供快门音、边框闪烁与缩略图飞入动画(可在设置中关闭)。所有失败提示均为不抢焦点的轻量浮层。
使用方法¶
- 触发截图: 在任意应用中按下全局快捷键。
- macOS:同时按下左 ⌘ 与右 ⌘。
- Windows:同时按下左 Ctrl 与右 Ctrl。
- 查看结果:
- macOS: 截图完成后,DSH 窗口自动唤起并聚焦。
- Windows: 截图静默进入当前会话输入框,DSH 保持原样。
- 提交: 在 Composer 中输入描述(如“分析这个报错”),点击发送。截图将随文本一起提交。
限制与注意事项¶
- 平台要求: 仅支持 macOS 14+ (Apple Silicon / arm64) 和 Windows 10 19041+ (x64)。WebUI 暂不支持(浏览器沙箱无法获取全局快捷键)。
- 功能缺失: 不包含区域框选、全屏截图、图片标注、OCR 与历史图库管理。
- 依赖约束: 依赖
@deepseek-ai/cordis(^4.0.1) 与@deepseek-ai/dsh-tools(exact 0.1.0-rc.6)。在 Windows 下,peer 依赖可能因权限问题安装失败,建议在开发者模式下安装。
总结¶
dsh-plugin-appshot 通过全局快捷键将截图能力无缝集成到 DSH 工作流中。无论是 macOS 的自动唤起还是 Windows 的静默挂载,都旨在减少上下文准备的步骤,让 Agent 能够更直接地获取当前窗口的视觉信息。
- 项目主页: https://github.com/TaurusWood/dsh-plugin-appshot
- 目录页: https://www.skillhub.cn/plugins/TaurusWood/dsh-plugin-appshot