按快捷键框选屏幕区域,识别文字填入输入框
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add baibaiyi/dsh-shot-ocr该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 22 处,展示前 20 条)
- 读取本地文件index.js:87
const parsed = JSON.parse(readFileSync(SETTINGS_FILE, 'utf8')) - 执行外部命令固定命令index.js:149
execFile('powershell.exe', args, { windowsHide: true, timeout, maxBuffer: 4 * 1024 * 1024 }, async (error, _stdout, stderr) => { - 读取本地文件index.js:151
try { result = JSON.parse(await readFile(json, 'utf8')) } catch { } - 删除本地文件index.js:152
await rm(json, { force: true }).catch(() => {}) - 读取本地文件index.js:156
const bytes = await readFile(result.imagePath) - 删除本地文件index.js:157
await rm(result.imagePath, { force: true }).catch(() => {}) - 删除本地文件index.js:173
await rm(png, { force: true }).catch(() => {}) - 读取本地文件index.js:206
try { names = await readdir(INBOX_DIR) } catch { return } - 读取本地文件index.js:212
const parsed = JSON.parse(await readFile(file, 'utf8')) - 读取本地文件index.js:215
const bytes = await readFile(parsed.imagePath) - 删除本地文件index.js:216
await rm(parsed.imagePath, { force: true }).catch(() => {}) - 删除本地文件index.js:236
await rm(file, { force: true }).catch(() => {}) - 执行外部命令固定命令index.js:259
child = spawn('powershell.exe', args, { windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] }) - 写入本地文件index.js:303
await mkdir(INBOX_DIR, { recursive: true }) - 删除本地文件index.js:306
if (/^result-.* json$/.test(name)) await rm(path.join(INBOX_DIR, name), { force: true }) - 写入本地文件index.js:310
await writeFile(path.join(WORK_DIR, '.owner'), String(process.pid), 'utf8').catch(() => {}) - 写入本地文件index.js:317
await mkdir(SETTINGS_DIR, { recursive: true }) - 写入本地文件index.js:318
await writeFile(SETTINGS_FILE, JSON.stringify(saved, null, 2) + '\n', 'utf8') - 写入本地文件index.js:445
await writeFile(path.join(WORK_DIR, 'client.json'), JSON.stringify(state.client), 'utf8').catch(() => {}) - 发起网络请求client.js:176
const response = await fetch(API + pathname, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
用全局热键截取桌面区域,再用 Windows OCR 识别其中的文字,或把它附加到 DeepSeek Harness 的聊天草稿里。
README
由 DeepSeek 最新模型翻译生成截图识别文字提问(dsh-shot-ocr)
按一个全局快捷键截取桌面的一块区域,然后用 Windows 自带的 OCR 引擎识别其中的文字,或者把截图作为附件插入 DeepSeek Harness 的聊天草稿。
- Windows 10/11,Windows PowerShell 5.1(WinRT OCR)
- 全局快捷键(默认 Ctrl+Alt+S)、应用内快捷键,或输入框按钮
- 拖动框选区域、全屏、前台窗口,或鼠标所在的那块屏幕
- 两种输出:识别出的文字,或截图本身作为草稿附件
- 插件 → dsh-shot-ocr 下的设置卡片:开关、快捷键录入、截图范围、输出方式、自动发送、OCR 放大倍数和语言
- OCR 在本机运行;在你发送消息之前,任何内容都不会离开这台机器
按一个快捷键截取桌面(默认拖动框选区域),用 Windows 自带 OCR 识别文字,把结果直接填进 DeepSeek Harness 的输入框——不用先存图片、不用手动打字。
识别全部在本机完成,图片不会上传到任何地方;只有你按下发送后,文字才会作为消息进入对话。
展开完整文档(README 剩余 1 节)
截图识别文字提问(dsh-shot-ocr)
按一个全局快捷键截取桌面的一块区域,然后用 Windows 自带的 OCR 引擎识别其中的文字,或者把截图作为附件插入 DeepSeek Harness 的聊天草稿。
- Windows 10/11,Windows PowerShell 5.1(WinRT OCR)
- 全局快捷键(默认 Ctrl+Alt+S)、应用内快捷键,或输入框按钮
- 拖动框选区域、全屏、前台窗口,或鼠标所在的那块屏幕
- 两种输出:识别出的文字,或截图本身作为草稿附件
- 插件 → dsh-shot-ocr 下的设置卡片:开关、快捷键录入、截图范围、输出方式、自动发送、OCR 放大倍数和语言
- OCR 在本机运行;在你发送消息之前,任何内容都不会离开这台机器
按一个快捷键截取桌面(默认拖动框选区域),用 Windows 自带 OCR 识别文字,把结果直接填进 DeepSeek Harness 的输入框——不用先存图片、不用手动打字。
识别全部在本机完成,图片不会上传到任何地方;只有你按下发送后,文字才会作为消息进入对话。
功能
| 入口 | 默认键 | 作用 |
| 全局快捷键 | Ctrl + Alt + S | 在任何程序前面时按下都能截图(Harness 在后台也可以):屏幕冻结 → 拖动选区 → 识别 → Harness 自动切到前台,文字进输入框 |
| 应用内快捷键 | Ctrl + Shift + S | Harness 窗口在前台时使用;可先最小化 Harness 再截图。可在 设置 → 快捷键 改键 |
| 输入框按钮 | — | 输入框下方(上下文占用环旁边)的「截图识字」 |
| 插件设置卡片 | — | 插件 → 截图识别文字提问 → 配置:功能开关、全局快捷键录入、截图范围、自动发送等 |
识别结果默认只填入输入框,方便你补一句问题再发送;打开「识别后直接发送」后会直接发送。
两种输出方式
设置卡片里的「识别方式」可以切换:
| 方式 | 行为 |
| 识别文字(默认) | 选区 → Windows OCR → 文字填进输入框(可加前后缀) |
| 直接插入截图 | 选区 → 跳过 OCR → 原图作为附件插入输入框(和粘贴截图一样,可直接发送) |
「直接插入截图」适合让模型自己看图(图表、设计稿、报错截图),不需要把图里的字转成文本;也更快,因为没有 OCR 步骤。
截图范围
默认 拖动选择区域:按下快捷键后屏幕会被冻结,拖动鼠标框出要识别的部分,松开即开始识别;Esc 或右键取消。
也可以在设置卡片里改成:
| 取值 | 含义 |
| region | 拖动选择区域(默认,小字识别最准) |
| window | 当前前台窗口 |
| cursor | 鼠标所在的那块屏幕 |
| fullscreen | 整个桌面(多显示器时是全部屏幕) |
设置
打开 插件 页面 → 截图识别文字提问 → 配置,卡片里可以改:
- 启用截图识字:总开关,关掉后快捷键和按钮都不再截图
- 全局截图快捷键:点「录入」,按下新的组合键(必须含 Ctrl / Alt / Shift / Win 之一)
- 注册全局快捷键:只想用按钮/应用内快捷键时关掉
- 截图范围、识别方式(识别文字 / 直接插入截图)、识别后直接发送、截图时最小化窗口、识别放大倍数、识别语言
切到「直接插入截图」时,放大倍数和识别语言会隐藏(图片模式不做 OCR)。
保存即时生效:Host 会按新配置重启快捷键监听,无需重启 Harness。
卡片里的设置在 %USERPROFILE%\.dsh\shot-ocr\settings.json;首次运行前由 cordis.patch.yml 的 config 提供默认值,保存过一次后以卡片为准。
工作原理
全局快捷键(常驻 PowerShell 监听进程) │ 按下 Ctrl+Alt+S ▼ capture-ocr.ps1:冻结桌面 → 拖动选区 → (文字模式)放大 2× → Windows.Media.Ocr 识别 │ 文字结果或图片路径写入 %TEMP%\dsh-shot-ocr\inbox ▼ Host 插件:监视 inbox → /api/dsh-shot/pending(图片转 base64) ▼ 页面:轮询到新结果 → 文字 insertText / 图片 createDrafts + addAttachments 填入输入框
应用内快捷键和输入框按钮走 /api/dsh-shot/capture,同步返回识别文字;取消选区不会报错。
安装 / 卸载
从 GitHub 安装(推荐):
装进你的 profile(换成 web / desktop 等实际 profile 名)
dsh plugin --profile desktop add github:baibaiyi/dsh-shot-ocr
卸载
dsh plugin --profile desktop remove dsh-shot-ocr
还需要把 dsh-shot-ocr 加入 profile package.json 的 dsh.profile.bundles,或在 插件 页面启用。
本地开发时可以直接链接目录:
dsh plugin --profile desktop add link:D:/path/to/dsh-shot-ocr
修改插件自身源码后,HMR 只重载配置、不监听插件源码:需要在插件页把本插件关掉再打开,或重启 Harness。
环境要求
- Windows 10 / 11(截图与 OCR 依赖 Windows.Media.Ocr)
- Windows 自带 PowerShell 5.1(不能用 PowerShell 7:它不支持 WinRT)
- 系统装有带 OCR 的语言包。中文系统默认 zh-Hans-CN;可在 设置 → 时间和语言 → 语言和区域 给语言添加「光学字符识别」可选功能
常见问题
按下快捷键没反应 看 %TEMP%\dsh-shot-ocr\listener.json:registered: false 表示组合键被别的程序占用,在设置卡片里换一个即可(卡片会显示注册失败的提示)。
选区覆盖了 Harness 自己 全局快捷键请在目标窗口处于前台时按;应用内快捷键可打开「截图时最小化窗口」。
提示「没有识别到文字」 选区里确实没有可识别文字,或语言包不匹配;可把「识别放大倍数」调到 3。
选区一闪就没了 / 无法拖动 确认 globalHotkey 打开且 Windows PowerShell 5.1 可用;远程桌面或锁屏会话里 Win32 选区窗口无法显示。
目录结构
dsh-shot-ocr/
├─ index.js Host 插件:路由、设置存取、inbox 监视、常驻监听进程 ├─ client.js 浏览器插件:输入框按钮、快捷键、设置卡片、轮询插入 ├─ cordis.patch.yml bundle 补丁(插入插件行与首启默认值) ├─ locale/{zh,en}.json 插件页显示的名称与说明 ├─ icon.svg 插件图标 └─ scripts/ ├─ capture-ocr.ps1 冻结桌面 + 选区 + Windows OCR,输出 UTF-8 JSON └─ hotkey-listener.ps1 全局快捷键监听,识别后通知 Host预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
baibaiyi/dsh-shot-ocr
按快捷键框选屏幕区域,识别文字填入输入框
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目