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

截图标注引用 Max-Null/dsh-capture

DeepSeek Harnessv0.3.1
Max-Null4 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 双引擎屏幕截图:框选 + 红框标注,图片直接插入会话输入框(SSiD shell / 纯 DSH getDisplayMedia)

31.5/100
综合分
2
GitHub 星标
460
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @max-null/dsh-capture
npm 源 · @max-null/dsh-capture 的发布者账号已校验与本仓库一致

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@max-null/dsh-capture @ 0.3.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 06:58:34

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
  • 读取本地文件
    lib/index.mjs:936
    const parsed = JSON.parse(readFileSync(CONFIG_PATH, "utf8"));
  • 写入本地文件
    lib/index.mjs:947
    mkdirSync(dirname(CONFIG_PATH), { recursive: true });
  • 写入本地文件
    lib/index.mjs:948
    writeFileSync(CONFIG_PATH, JSON.stringify(next, null, 2) + "\n");
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-settings@deepseek-ai/schemastery@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-web-app
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 框选屏幕截图
  • 红框标注
  • 图片直入输入框
v0.4.02026-10-30
· Fixed · 原图预览的编辑按钮位置错:.dsh-img-edit-btn 用的是 position:fixed; top:20px; right:64px,那是相对视口定位——按钮永远贴在窗口右上角、压在最小化/最大化/关闭按钮上,跟图片在哪无关。改为按图片矩形计算位置(图片右上角内侧内缩 8px),并随窗口 resize 重算。 · 工具条改挂到 body(原先 append 进 dialog),预览关闭时由 MutationObserver 收走,不残留。 · Added · 复制图片(⧉):原图预览里的第二个按钮,把图片写进系统剪贴板。非 PNG 先用 canvas 重编码——ClipboardItem 在各浏览器实现里只可靠支持 image/png。成功时按钮短暂显示 ✓,失败走原有错误提示。 · 两个按钮合成一组工具条(.dsh-img-tools),替换原先单按钮的注入。
v0.3.12026-09-29
· 说明 本仓库此前没有任何 tag,v0.3.1 是首个——因此下面的内容不是「与上个 tag 的 diff」,而是从 0.3.0 的最后一个功能提交(938416f)之后、直到本 tag 的全部改动,由 git log --oneline 938416f..v0.3.1 提炼。 · 调整 · 截图设置换了入口:从「设置——插件」页卡片迁到「插件」页里本插件详情页的配置卡(plugins.bundle.config,key = 包名)。DSH 0.1.7 移除了旧的 settings.plugin.item,继续挂在那里等于注册到未声明的槽——设置卡完全不渲染。 · 设置卡默认展开:折叠态会让用户以为「设置不见了」。 · 设置不再走 settings.installSection(该方法已不存在):插件的 Config schema 直接构成它自己的 settings section,可变字段标 .volatile()。 · host 路由改走 ctx.connection.fetch 精确路由表:carrier-neutral,Web 载体与 Electron shell 载体分发同一个 handler(原 /api/ssid/screenshot/{get,set,trigger} 行为不变)。 · 移除 @deepseek-ai/dsh-client-runtime 依赖:该包自 DSH 0.1.2-alpha.2 起已从内核移除。 · 修复 · pnpm typecheck 由 7 条错误转为 0:补齐两个类型增强包 @deepseek-ai/dsh-client-connection(提供 ctx.connection)与 @deepseek-ai/dsh-client-ui-renderer(提供 ctx.slots 的 Context 合并)。两者此前都不在 devDependencies 里——dsh-client-connection 在 lock 中只是传递依赖,pnpm 不提升到顶层,于是 type-only import 解析不到。钉精确版本 0.2.0-rc.1,不写范围(pnpm 的 prerelease 选择规则挑不到该版本,写范围会装成旧版、让验证失真)。 · README 与实现核对(逐条回源码取证后修正):设置入口 3 处、壳层实现路径(shell/main.mjs + shell/screenshot.html → ssid-desktop/apps/desktop/src/ssid/screenshot.ts + resources/screenshot.html)、家族清单里的包名、3 分钟闲置超时的归属。 · 兼容性 内核插件兼容判定(plugin-compatibility.ts)只读 peerDependencies,且只检查 @deepseek-ai/dsh / @deepseek-ai/dsh-* 前缀。本插件的 peerDependencies 里从未声明任何 @deepseek-ai/dsh-*(仅 cordis / react / react-dom),因此 peers 为空即判兼容——在 0.1.7-rc.2 与 0.2.0-rc.1 两版内核下都不会被静默跳过(已用真实 evaluatePluginCompatibility 实测,并带合成负样本对照)。 · 构建 pnpm typecheck && pnpm test && pnpm build 三者全绿。 · 文档与截图 · docs/shots/settings-1.png 已重截为「插件」页 → 本插件详情页的配置卡片(隐藏窗口开关 + 全局快捷键)。摄于隔离的 dev 实例(内核 0.2.0-rc.1),图内显示的 v0.3.1 即该构建产物的版本。 · README 该段表头同步改为「「插件」页 → dsh-capture 详情页的配置卡片」——原表头写「设置页」,与图不符。 · 两处源码注释对齐实现:ScreenshotSettings.tsx 的文件头与 client/index.ts 的 apply 注释仍描述着旧的 settings.general.item 通用设置行。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
@max-null/dsh-capture 源码仓库:https://github.com/Max-Null/dsh-capture(npm: @max-null/dsh-capture) 本插件属于 @max-null/* 插件系列——这一系列共同构成 SSID(思灵 · Seek Soul in Darkness) 桌面体验。SSID 是整合它们的盒:dsh-capture · dsh-chat-rail · dsh-chinese-thinking · dsh-draft-polish · dsh-guardian · dsh-habit · dsh-memory · dsh-node-appearance · dsh-plugin-center · dsh-quick-toolbar · dsh-skill-mcp-center · dsh-ssid-panels · dsh-ssid-zh-ui · dsh-ssid-achievements。 DSH 双引擎快捷截图引用:框选屏幕任意区域 → 标注(矩形/椭圆/箭头/文字, 8 色可选)→ 图片自动进入当前会话的输入框(作为图片附件草稿,可加文字、可删除,回车才发送)。有标注时投递「原图 + 编辑图」两张——原图不遮挡任何原始内容,编辑图承载框/箭头/文字的强调,帮助理解方(人/模型)对照上下文。
展开完整文档(README 剩余 1 节)
@max-null/dsh-capture

源码仓库:https://github.com/Max-Null/dsh-capture(npm: @max-null/dsh-capture)

本插件属于 @max-null/* 插件系列——这一系列共同构成 SSID(思灵 · Seek Soul in Darkness) 桌面体验。SSID 是整合它们的盒:dsh-capture · dsh-chat-rail · dsh-chinese-thinking · dsh-draft-polish · dsh-guardian · dsh-habit · dsh-memory · dsh-node-appearance · dsh-plugin-center · dsh-quick-toolbar · dsh-skill-mcp-center · dsh-ssid-panels · dsh-ssid-zh-ui · dsh-ssid-achievements。

DSH 双引擎快捷截图引用:框选屏幕任意区域 → 标注(矩形/椭圆/箭头/文字, 8 色可选)→ 图片自动进入当前会话的输入框(作为图片附件草稿,可加文字、可删除,回车才发送)。有标注时投递「原图 + 编辑图」两张——原图不遮挡任何原始内容,编辑图承载框/箭头/文字的强调,帮助理解方(人/模型)对照上下文。

原图预览编辑闭环:任何已插入的图片(截图/上传/历史消息)打开「原图预览」即可直接 ✎ 编辑(整图标注,同一套工具),完成后编辑图自动投递,无需重新截图。

截图

框选与标注

| 截图时(框选选区) | 编辑模式(进入时,尚未标注) | 画箭头 / 文字(标注后) |
| 截图时 | 编辑截图时 | 使用截图工具 |

投递结果与原图预览编辑

| 确认后插入原图和编辑图 | 图片预览时编辑按钮位置 | 图片预览时编辑页 |
| 确认后插入原图和编辑图的截图 | 图片预览时编辑按钮位置截图 | 图片预览时编辑页 |

设置

| 「插件」页 → dsh-capture 详情页的配置卡片 |
| 设置卡片截图 |

双引擎

| | 思灵壳(SSiD)内 | 纯 DSH(浏览器) |
| 触发 | 托盘「截图引用」+ 全局快捷键(插件页卡片修改)+ 输入框相机按钮 | 输入框相机按钮 |
| 捕获 | desktopCapturer 逐屏抓帧:多显示器、像素级 1:1、全屏无边框浮层 | getDisplayMedia 系统选择器(一次选一个屏幕) |
| 遮蔽 | 独立浮层窗口(DSH 页面零侵入) | 页面内全屏遮罩(框选 + 标注交互相同) |
| 隐藏窗口 | ✅(插件页卡片「截图时隐藏思灵窗口」) | ❌(无此能力,设置行自动隐藏) |
| 投递 | 官方 composer 图片 intake(合成 drop,与拖拽等价) | 同左 |

运行时探测(host 的 shellAvailable)自动选择引擎;无壳时按钮点击即走浏览器捕获。

标注能力

- 矩形 / 椭圆框:拖拽绘制,实时预览 + 合成(带同色半透明填充)
- 箭头:拖拽指向要改的内容,头翼自动按方向绘制
- 文字:点一下放置锚点内联输入,回车提交;文字带细黑描边(任意底色可读,无背景块)
- 8 色调色板:红橙黄绿青紫品红白,每条标注独立着色(默认红)
- 撤销/逐级回退(右键或 Esc):画框中 → 撤标注 → 重选 → 退出

操作(思灵壳内)

1. 打开任意 DSH 会话(没有会话时截图不会进入任何地方)。
2. 托盘 →「截图引用」,或按全局快捷键(默认 Ctrl+Shift+A)。
3. 屏上出现冻结帧 + 十字准星:
- 左键拖拽 框选区域 → 选区定格后出现工具条(选区旁,微信式)。
- 工具条选色/选工具后 左键拖拽(箭头)/ 点一下(文字)标注; 回车 / 双击 /「完成」 一次确认发送。
- 右键 / Esc 逐级回退:标注中 → 撤标注 → 重选 → 退出截图。
4. 图片出现在输入框图片位;可追加文字后回车发送。

操作(纯 DSH)

1. 打开任意 DSH 会话;点输入框相机按钮(润色按钮左侧)。
2. 浏览器弹出「选择要共享的屏幕」→ 选一个屏幕 → 捕获一帧后自动停止共享。
3. 页面全屏遮罩出现:左键拖拽框选 → 选区工具条出现 → 同画面标注 → 回车/「完成」发送;右键/Esc 逐级回退。

原图预览工具(编辑 / 复制)

1. 任意图片(草稿附件或消息图片)点击缩略图 → DSH「原图预览」对话框。
2. 图片右上角内侧浮出两个按钮(跟随图片的矩形定位,不是固定在视口右上角):
- ✎ 编辑 → 整图编辑浮层(不必框选)。标注后完成:编辑图投递到输入框,预览窗口随编辑一并关闭;未标注直接完成 = 视为未修改,关闭且不投递;取消/回退放弃编辑,预览保留。
- ⧉ 复制 → 把原图写进系统剪贴板。非 PNG 的图会先重编码为 PNG,因为 ClipboardItem 在各浏览器实现里只可靠支持 image/png。
3. 预览关闭后工具条自动收走,不会留在页面上跟着别的界面走。

设置(思灵壳内:「插件」页 → dsh-capture 卡片)

- 截图时隐藏思灵窗口:开 = 冻结帧不含思灵自身(引用其他应用);关 = 冻结帧包含思灵(可框选对话内容)。默认开。
- 截图全局快捷键:Electron accelerator 语法(如 Control+Alt+B),回车/失焦即保存并立即重注册。

实现要点(维护者)

- 本仓库是插件唯一源码真身(lib/ 为构建产物,不入库:pnpm install && pnpm run build)。
思灵(SSiD)安装包以 shell/profile-template/vendor/dsh-capture(构建产物拷贝)作为内置分发载体,本仓库之外不再维护第二份源码。
- 壳层(engine A)在思灵仓库 ssid-desktop/apps/desktop/src/ssid/screenshot.ts 与 ssid-desktop/apps/desktop/resources/screenshot.html(浮层页):desktopCapturer 逐屏抓帧 → 每屏一个全屏无边框置顶浮层(不侵入 DSH 页面 DOM)→ 单阶段标注(选区工具条 + 原图坐标系绘制,合成时按选区裁剪)→ executeJavaScript 派发 ssid:screenshot CustomEvent(v2 协议 { uid, source, annotated? },主进程带 uid;旧版字符串监听器自然失效,防双投递)。
- 浏览器(engine B)在 src/client/CaptureOverlay.tsx:getDisplayMedia 抓帧 → createPortal 全屏遮罩(同一套框选/标注交互)→ 官方 drop intake。
- 原图预览编辑在 src/client/ImagePreviewEdit.tsx:MutationObserver 探测官方 ImageLightbox(role=dialog + aria-label 原图预览/Original image preview,不依赖 CSS hash),注入 ✎ 按钮;复用 CaptureOverlay 的 immediate 整图模式。
- 投递:delivery.ts 的合成 drop(new DataTransfer() + DragEvent('drop'))走 DSH 官方 composer 图片 intake(ui-attachment 的 document 级 drop 处理器)。无 DSH 核心改动;数量/大小/类型限制与官方拖拽一致。
- host 半 /api/ssid/screenshot/{get,set,trigger}(走 ctx.connection.fetch 的精确路由表, carrier-neutral——Web 载体与 Electron shell 载体分发同一个 handler);壳能力经 ssid.shell.screenshot 服务注入(bare dsh web 时 shellAvailable=false,引擎 B 接管)。
- 壳内浮层 3 分钟无交互自动取消(screenshot.html 的闲置超时;防卡屏,交互随时重置)。

已知边界

- 纯 DSH:一次一个屏幕(系统选择器选);无法隐藏宿主窗口(设置行自动隐藏);无法使用全局快捷键(无壳机制)。
- 无当前会话时截图静默丢弃(浮层文案已提示「先打开一个会话」)。
- 模型不支持图片时由 DSH 官方提示。
- 原图预览编辑投递的是编辑图(原图已在对话里,不再重复投递)。
预览分享卡片长什么样 ↓Max-Null/dsh-capture
分享 · DeepSeek Harness Hub
Max-Null/dsh-capture

DeepSeek Harness 双引擎屏幕截图:框选 + 红框标注,图片直接插入会话输入框(SSiD shell / 纯 DSH getDisplayMedia)

这是你的仓库?认领条目

回到顶部