dsh-appshots:捕获前台窗口并注入上下文

前言

在 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 使插件生效。

使用步骤

  1. 聚焦你想分享的窗口。
  2. 触发截图:macOS 同时按两个 Command,Windows 同时按两个 Ctrl,或点击输入框里的相机按钮。
  3. DSH Desktop 会自动来到前台,截图已附加到当前会话。
  4. 输入提示词并发送。

配置说明

插件配置位于 ~/.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 仓库 或 社区目录。

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

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

小夜