给 DSH Desktop 用的窗口截图,支持 macOS 和 Windows:macOS 按两边 Command、Windows 按两边 Ctrl(或点输入框旁相机)捕获当前前台窗口并附加到会话,同时把 VoiceOver 风格的辅助功能树注入为隐藏上下文。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-appshots
# Release 预构建包
dsh plugin --profile web add "https://github.com/WongYuYe/dsh-appshots/releases/latest/download/dsh-appshots.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:WongYuYe/dsh-appshots
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
简体中文 | English
给 DSH Desktop 用的窗口截图,支持 macOS 和 Windows。
macOS 同时按两边 Command,Windows 同时按两边 Ctrl,或点输入框旁的相机,捕获当前前台窗口,附加到会话草稿,并读取窗口文字作为隐藏上下文。
- 只捕获最前面的窗口,不截整个屏幕
- 截图附加到输入框草稿,不会自动发送
- 读取可用的窗口文字(macOS 辅助功能 / Windows UI Automation),作为隐藏的模型上下文注入
- 跳过 DSH Desktop 自身,避免截到插件自己的窗口
- 截图后自动把 DSH Desktop 调到前台
安装
dsh plugin --profile desktop add dsh-appshots
安装后重启 DSH Desktop。
从源码安装:
git clone https://github.com/WongYuYe/dsh-appshots.git
cd dsh-appshots
dsh plugin --profile desktop add .
Windows 会在第一次截图时用系统自带的 csc.exe(.NET Framework 4.x)编译助手,不需要安装 Visual Studio。
发布:把 package.json 版本改成 X.Y.Z 后推 vX.Y.Z tag。GitHub Actions 会打 GitHub Release 并用 Trusted Publisher(OIDC)发到 npm。
权限
macOS
系统设置 → 隐私与安全性:
- 屏幕录制:捕获最前面窗口所必需
- 辅助功能:监听两个 Command 键、读取窗口文字所必需
把这两项授予 DSH Desktop。如果热键不触发,同时允许 appshot-capture。
Windows
- 截图走
CopyFromScreen,系统可能弹一次屏幕访问授权 - 窗口文字走 UI Automation,部分提权或受保护的应用几乎读不到文字
- 默认热键是同时按两边 Ctrl。如果不触发,可改成
hotkeyMode: win-hotkey
使用
- 聚焦你想分享的窗口。
- macOS 同时按两个 Command,Windows 同时按两个 Ctrl,或点击输入框里的相机按钮。
- DSH Desktop 来到前台,截图已附加。
- 输入提示词并发送。
如果当前有打开的会话,Appshot 会附加到那里;如果没有,会新建一个会话。连续截图会进入同一个会话。
设置
命名空间 dsh-appshots,位于 ~/.dsh/settings.yaml:
| 字段 | 默认值 | 含义 |
|---|---|---|
skipSelf |
true |
跳过 DSH Desktop 自身 |
attachText |
true |
发送时把辅助功能树作为隐藏模型上下文注入 |
recentWindowMs |
60000 |
没有打开会话时,复用这个时间窗口内截图过的会话 |
hotkeyMode |
auto |
auto / both-command / both-control / carbon / win-hotkey / off |
carbonKeyCode |
0 |
hotkeyMode 为 carbon 时的 Carbon 键码 |
carbonModifiers |
256 |
Carbon 修饰键;256 是 Command |
winVk |
44 |
hotkeyMode 为 win-hotkey 时的虚拟键码(44 是 PrintScreen) |
winModifiers |
3 |
win-hotkey 的 Win32 修饰键;3 是 Ctrl+Alt |
auto 在 macOS 上是两边 Command,在 Windows 上是两边 Ctrl。
限制
- 仅支持 macOS 和 Windows
- 窗口文字来自系统辅助功能树,部分应用只暴露可见文本
- 隐藏文本按 VoiceOver / UI Automation 树输出(角色、缩进、Description / Value / URL),不再做成扁平行
- 点击已附加的 Appshot 预览时,右上角可「查看文本」,展示当前窗口读到的辅助功能文字
- 终端像素(如 VS Code xterm)默认不进辅助功能树,编译日志仍以截图为准
- Windows 截的是窗口矩形的屏幕像素,被挡住的窗口会带上挡住它的内容
License
MIT
链接
同类插件
liustack/modlens★ 4341
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
ysr666/dsh-vision-router★ 1156
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
Anionex/dsh-vision-toolkit★ 903
让纯文本模型处理视觉任务:粘贴图片后自动切换到 Vision Toolkit 变体,支持图片问答、多图比较、长截图 OCR、截图还原前端 UI、元素定位与像素对比。默认无需 API Key——图片经作者自建的免费服务处理,每台机器每天 100 张;也可改为指向自己的服务商。
dickpy/dsh-imagegen★ 125
面向 DSH Web GUI 的 AI 生图插件:通过可配置的 OpenAI 兼容端点(gpt-image-2 / gpt-image-1 / dall-e-3)实现文生图与图生图,提供 api_url/api_key 设置卡片与侧边栏分栏生图工作台。
fandc520/dsh-comfyui★ 119
让 DeepSeek Harness 的 Agent 直接驱动本地或远程 ComfyUI:comfyui_run / comfyui_object_info / comfyui_workflow 工具生成与编辑图像、视频,附带工作流库(图工作流提取:按分量 / 主流程 / 整体)、加载区分辨率自动匹配、实时队列、SDXL 与 Wan 2.1 模板、配套 skill 与同源媒体代理。
sunxin-ai/dsh-design-qa★ 44
给纯文本模型的设计稿保真判定:`deepseek_vision` 工具从任意 OpenAI 兼容视觉路由借来一只眼,让模型判断实现与设计稿是否一致——并附上支撑该判定的基准(4 组夹具、23 处注入缺陷、逐格原始输出)与其依赖的提问纪律。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。