前言¶
在 DeepSeek Harness (DSH) 的开发流程中,经常需要让大模型理解当前应用程序的界面状态。传统的做法是手动截图并复制关键文本,这会打断工作流。dsh-appshots 插件通过自动化机制解决了这个问题,它可以直接捕获当前活动窗口,并将截图和窗口文本作为上下文注入到会话中。
插件介绍¶
dsh-appshots 是一个为 DSH Desktop 设计的插件,支持 macOS 和 Windows。它专注于捕获最前面窗口,而非截取整个屏幕,并将截图附加到输入框草稿中,同时读取窗口文字作为隐藏的模型上下文。
核心功能¶
- 精准捕获:只捕获最前面窗口,不截整个屏幕。
- 草稿附件:截图附加到输入框草稿,不会自动发送。
- 上下文注入:读取窗口文字作为隐藏模型上下文注入。
- 自我排除:自动跳过 DSH Desktop 自身。
- 自动前台:截图后自动把 DSH Desktop 调到前台。
- 跨平台:支持 macOS 和 Windows。
安装与启用¶
在终端中执行以下命令安装插件:
dsh plugin --profile desktop add dsh-appshots
安装完成后,需要重启 DSH Desktop 使插件生效。
使用步骤¶
- 聚焦你想分享的窗口。
- 触发截图:macOS 同时按两个 Command,Windows 同时按两个 Ctrl,或点击输入框里的相机按钮。
- DSH Desktop 会自动来到前台,截图已附加到当前会话。
- 输入提示词并发送。
配置说明¶
插件配置位于 ~/.dsh/settings.yaml,命名空间为 dsh-appshots。主要配置项包括:
skipSelf:是否跳过 DSH Desktop 自身(默认 true)。attachText:发送时是否将辅助功能树作为隐藏模型上下文注入(默认 true)。recentWindowMs:没有打开会话时,复用这个时间窗口内截图过的会话(默认 60000)。hotkeyMode:热键模式,支持auto、both-command、both-control等(默认 auto)。
注意事项¶
- 系统权限:
- macOS:必须授予 DSH Desktop 的屏幕录制和辅助功能权限。
- Windows:截图走
CopyFromScreen,系统可能在首次截图时弹窗请求屏幕访问授权。
- 文本读取限制:
- 窗口文字来自系统辅助功能树(macOS)或 UI Automation(Windows)。部分应用只暴露可见文本,或因提权/受保护而无法读取。
- 隐藏文本按 VoiceOver / UI Automation 树输出(包含角色、缩进、Description / Value / URL),不再做扁平化处理。
- 终端像素(如 VS Code xterm)默认不进辅助功能树,编译日志仍以截图为准。
- 截图行为:
- Windows:截取窗口矩形的屏幕像素,被其他窗口遮挡的内容会显示在截图上。
- macOS:需授予屏幕录制权限。
dsh-appshots 通过自动化捕获和上下文注入,简化了多窗口环境下的交互流程。更多详情可查阅 GitHub 仓库 或 社区目录。