🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

截图标注 19north/dsh-shot

DeepSeek Harness
19north29 天前有提交已提供中文文档扫描:含敏感能力

在窗口内框选截图并标注,直接插入输入框

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 19north/dsh-shot
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 执行外部命令固定命令
    lib/index.js:155
    child = spawn('powershell.exe', args, { windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] })
  • 读取本地文件
    lib/index.js:208
    if (path === '' || !existsSync(path)) {
  • 读取本地文件
    lib/index.js:214
    data = readFileSync(path)
  • 删除本地文件
    lib/index.js:219
    rm(path, { force: true }).catch(() => {})
  • 执行外部命令固定命令
    lib/index.js:243
    const child = spawn('powershell.exe', [
  • 读取本地文件
    lib/index.js:294
    scriptPresent: existsSync(SCRIPT_PATH),
  • 读取本地文件
    lib/index.js:328
    if (!existsSync(SCRIPT_PATH)) return json(500, { ok: false, error: `capture script missing at ${SCRIPT_PATH}` })
  • 发起网络请求
    lib/client.js:1381
    const response = await fetch(`${API}/capture`, {
  • 发起网络请求
    lib/client.js:1388
    const imageResponse = await fetch(`${API}/image?id=${encodeURIComponent(body.id)}`, { cache: 'no-store' })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 窗口内框选截图
  • 插入输入框

DeepSeek Harness 的 Composer 截图控制:在窗口内浮层里框选并标注截图,截图时可选择隐藏 DSH 窗口。

README

由 DeepSeek 最新模型翻译生成
dsh-shot 为 DeepSeek Harness 打造的输入框截图控件:输入框里 + 旁边有个相机按钮,点开是两项菜单,截图后在窗口内部的浮层里框选和标注(不占全屏,窗口原地不动)。结果以图片附件的形式落到当前会话的输入框里。 | 菜单项 | 行为 | | 直接截图 | 立刻抓取整个虚拟屏幕;挡在上面的东西也会一起截进去。 | | 隐藏本窗口 | 先隐藏 DSH 窗口,截图,然后原样恢复(包括「原本是最小化状态」)。 | 仅支持 Windows —— 截图本身是一个 PowerShell 子进程,负责驱动 Win32(查找窗口、隐藏/恢复、兼容 DWM 的屏幕抓取)。 环境要求 - DeepSeek Harness 0.1.7 或更新版本,desktop/web 配置档。 - Windows(宿主侧会调用 scripts/capture.ps1)。 - Node ^22.19.0 || >=24.0.0。 - 无运行时依赖:宿主侧只导入 node: 内置模块。
展开完整文档(README 剩余 1 节)
dsh-shot

为 DeepSeek Harness 打造的输入框截图控件:输入框里 + 旁边有个相机按钮,点开是两项菜单,截图后在窗口内部的浮层里框选和标注(不占全屏,窗口原地不动)。结果以图片附件的形式落到当前会话的输入框里。

| 菜单项 | 行为 |
| 直接截图 | 立刻抓取整个虚拟屏幕;挡在上面的东西也会一起截进去。 |
| 隐藏本窗口 | 先隐藏 DSH 窗口,截图,然后原样恢复(包括「原本是最小化状态」)。 |

仅支持 Windows —— 截图本身是一个 PowerShell 子进程,负责驱动 Win32(查找窗口、隐藏/恢复、兼容 DWM 的屏幕抓取)。

环境要求

- DeepSeek Harness 0.1.7 或更新版本,desktop/web 配置档。
- Windows(宿主侧会调用 scripts/capture.ps1)。
- Node ^22.19.0 || >=24.0.0。
- 无运行时依赖:宿主侧只导入 node: 内置模块。

安装

from a checkout
dsh plugin --profile <profile> add ./dsh-shot

from a packed tarball
pnpm pack
dsh plugin --profile <profile> add ./dsh-shot-0.1.0.tgz

from npm (once published)
dsh plugin --profile <profile> add dsh-shot

声明了 dsh.bundle 的包会自动追加到 dsh.profile.bundles,下次启动时这一层就组装好了。不启动也能验证:

dsh --profile <profile> --dump-config # look for the "== dsh-shot" layer

然后重启应用 —— 客户端 bundle 的 URL 里带着启动时算出的构建版本号,所以只刷新页面不足以让 lib/client.js 的改动生效。

使用

1. 点输入框里 + 旁边的相机按钮,从两项菜单里选一个。
2. 浮层出现,盖住窗口:拖一个框选出区域。
3. 想标注就标注,然后确认。

| 操作 | 效果 |
| 拖八个手柄(四角 + 四边中点) | 从该手柄缩放。 |
| 在框内部拖动 | 移动框,大小不变。 |
| 方向键 | 移动一个像素;按住 Shift 移动十个像素。 |
| 右键 / 重新选择 | 放弃选区,从头再来。 |
| Esc / 右键 | 退回上一层(撤销标注 → 重新选择 → 退出)。 |

标注工具:矩形、箭头、文字(点一个位置,输入,Enter 确认,Esc 取消;双击已有文字即可编辑)、八色调色板,还有撤销和重新选择。文字带一层半透明深色底板,放在任何背景上都看得清。

确认(或按 Enter)后,图片进入输入框草稿。它就是普通图片附件:可以预览、可以配文字,只有你发送时才会发出去。

各部分怎么拼起来

| 一半 | 文件 | 运行位置 |
| 宿主 | lib/index.js | DSH 服务端;注册 /api/dsh-shot/ 路由,并拉起 scripts/capture.ps1。 |
| 客户端 | lib/client.js | 浏览器端;输入框按钮,以及取景/标注浮层。 |
| 截图 | scripts/capture.ps1 | 一个分离的 PowerShell 子进程;找到 DSH 窗口,隐藏/恢复它,抓取虚拟屏幕。 |

客户端那一半在 package.json 的 dsh.client 下声明,由 /plugins/dsh-shot/client.js 提供。

已知限制

- 仅支持 Windows。 截图路径依赖 Win32 + DWM。
- 浮层覆盖的是窗口,不是屏幕。整张截图按适应缩放并居中,剩下的边距是深色信箱边——所以整个屏幕始终可见(没有任何裁切),代价是当窗口宽高比与屏幕不一致时会出现深色条带。在 2560x1440 屏幕上放一个 1296x828 窗口,上下各约 50px。
- 多显示器会作为一整块虚拟屏幕截图;内容全都可见,但小窗口显示出来就很小。
- 隐藏模式会让 DSH 窗口短暂消失(大约 0.3–1.2 s)。
- 罕见情况:截图脚本可能返回几乎空白的帧(几十 KB,而不是几 MB)。重新截图就能成功;自动重试还没实现。

开发

static contract checks (patch, manifest, red lines)
dsh-plugin-dev check --cwd .

pack + install/start/uninstall in a throwaway DSH_HOME
dsh-plugin-dev verify --cwd .

这个插件的无头回归测试套件放在包外,位于 dsh-screenshot-research/(test-host.mjs、test-client.mjs、deliver-probe.mjs、e2e-shot.mjs);它们驱动一个用完即弃的无头 Edge,带自签名的会话 cookie,绝不碰真实的浏览器配置档。

DESIGN.md 是实现与决策日志:每个设计选择背后的实测证据,以及已经踩过的坑。

许可证

MIT。
预览分享卡片长什么样 ↓19north/dsh-shot
分享 · DeepSeek Harness Hub
19north/dsh-shot

在窗口内框选截图并标注,直接插入输入框

这是你的仓库?认领条目

回到顶部