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

截图小字放大 07210905/crop-zoom

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

裁出截图小字区域并放大,让模型看清内容

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

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

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

状态速览

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

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

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

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

读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    lib/crop.js:140
    if (!existsSync(source)) fail(`no such file: ${source}`)
  • 读取本地文件
    lib/crop.js:230
    input = await readFile(request.source)
  • 写入本地文件
    lib/crop.js:300
    await mkdir(outDir, { recursive: true })
  • 写入本地文件
    lib/crop.js:335
    await writeFile(sheetPath, sheet)
  • 写入本地文件
    lib/crop.js:346
    await writeFile(target, piece.buffer)
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

把截图里的小字放大到模型能看清:裁剪区域、用指定核放大、返回新图。DeepSeek Harness(dsh)插件 + 独立命令行。

README

由 DeepSeek 最新模型翻译生成
dsh-crop-zoom 把图上的小字裁出来放大,让模型真的能认。 DeepSeek Harness(dsh)插件,注册一个 crop_zoom 工具;同一套引擎也提供独立命令行。 English → - 纯本地图像处理 —— 不联网、不调用模型、不含 OCR 引擎。 - 只有一个依赖 sharp(libvips),并且延迟加载:原生模块坏了也只会让一次工具调用失败,不会让整个 harness 起不来。 - Node ≥ 22,MIT。 它解决什么问题 一张 1920×1080 的截图不是以 1920×1080 送到模型面前的。中途会被降采样,于是 10–11px 的道具名笔画已经粘在一起 —— 再看一遍原图也没用,那些像素已经没了。 同一个结算界面上的四处读数,全都以同样的方式读错: | 实际印的 | 读出来的 | 为什么 | | 03重型盔 | D3重型盔 | 11px 时 0 和 D 共用一条左竖 | | BT6重型 | B16重型 | T 和前一个 B 粘成一个字 | | 1000戰地包 | 100D戰地包 | 四位数字并成三位加一个字母 | | 鎏影權鋒 | 盜影權杖 | 鎏 下面的「金」塌成了「皿」的样子 | 把这些区域先裁出来放大再看,字就清清楚楚。顺序不能颠倒,而且比把整张截图再送一遍便宜得多。
展开完整文档(README 剩余 1 节)
dsh-crop-zoom

把图上的小字裁出来放大,让模型真的能认。

DeepSeek Harness(dsh)插件,注册一个 crop_zoom 工具;同一套引擎也提供独立命令行。
English →

- 纯本地图像处理 —— 不联网、不调用模型、不含 OCR 引擎。
- 只有一个依赖 sharp(libvips),并且延迟加载:原生模块坏了也只会让一次工具调用失败,不会让整个 harness 起不来。
- Node ≥ 22,MIT。

它解决什么问题

一张 1920×1080 的截图不是以 1920×1080 送到模型面前的。中途会被降采样,于是 10–11px 的道具名笔画已经粘在一起 —— 再看一遍原图也没用,那些像素已经没了。

同一个结算界面上的四处读数,全都以同样的方式读错:

| 实际印的 | 读出来的 | 为什么 |
| 03重型盔 | D3重型盔 | 11px 时 0 和 D 共用一条左竖 |
| BT6重型 | B16重型 | T 和前一个 B 粘成一个字 |
| 1000戰地包 | 100D戰地包 | 四位数字并成三位加一个字母 |
| 鎏影權鋒 | 盜影權杖 | 鎏 下面的「金」塌成了「皿」的样子 |

把这些区域先裁出来放大再看,字就清清楚楚。顺序不能颠倒,而且比把整张截图再送一遍便宜得多。

作为 dsh 插件安装

dsh plugin --profile <profile> add dsh-crop-zoom # 从 registry 装
dsh plugin --profile <profile> add ./dsh-crop-zoom # 从本地目录装

然后重启应用。模型就多了一个 crop_zoom 工具,而且它的 schema 会随每一次请求重新送到模型面前。

作为命令行安装

npm install -g dsh-crop-zoom
crop-zoom -i shot.png -r 1178,588,64,24 -s 16 -o label.png

工具怎么用

// 单个区域,自动放大到长边 1600px { "path": "C:\\shots\\raid.png", "regions": [{ "x": 1178, "y": 588, "width": 64, "height": 24 }] }

// 两个区域拼成一张带标注的图,后续只需读一次 { "path": "C:\\shots\\raid.png",
"regions": [{ "x": 80, "y": 430, "width": 540, "height": 300, "label": "rank board" },
{ "x": 875, "y": 155, "width": 450, "height": 660, "label": "gear" }],
"target": 2400 }

// 还是看不清?nearest 保留像素块,专门用来分辨等宽字形 { "path": "C:\\shots\\raid.png", "regions": [{ "x": 1444, "y": 373, "width": 96, "height": 42 }], "scale": 16, "mode": "nearest" }

工具写出 PNG 并返回路径,接着用 read_image 读它。返回的文本只有几何信息,故意如此 ——免得被当成答案:

1 file written from C:\shots\raid.png (1920x1080), kernel bicubic.

#1 source 1178,588 64x24 x12 -> 768x288
#2 source 1444,373 96x42 x12 -> 1152x504

Sheet (regions stacked top to bottom, in the order above): C:\...\raid-20261014181815.png

Now read that file with read_image. Do not answer from this geometry summary alone.

参数

| 名称 | 类型 | 默认 | 含义 |
| path | string | — | 源图绝对路径。必填。 |
| regions | array | — | 1–8 个区域,按拼图顺序。必填。每项 {x, y, width, height, label?},坐标是源图像素。 |
| scale | integer | — | 整数放大倍数,1–16。不填则由 target 推导。 |
| target | integer | 1600 | 无 scale 时,把区域长边放大到这么多像素,上限 16×。 |
| mode | enum | bicubic | bicubic \| nearest \| lanczos \| mitchell。 |
| sheet | boolean | true | 把所有区域拼成一张带标注的 PNG;false 则每个区域各写一个文件。 |
| outPath | string | 临时目录 | 输出位置,必须以 .png 结尾。 |
| previewWidth | integer | — | 坐标是在降采样预览图上量的时填它:填预览图的像素宽度,所有坐标自动换算到原图。 |

bicubic 保留字形轮廓,是合适的默认值。nearest 复制整块像素,能把 0 和 D 分开 ——两者互补,某个字还是定不下来时,两种都看一眼。

命令行

crop-zoom -i <image> -r <x,y,w,h> [-r <x,y,w,h> ...] [options]

-i, --image <path> 源图(PNG / JPEG / WebP / AVIF / TIFF / GIF) -r, --region <x,y,w,h> 要放大的区域,最多重复 8 次 -s, --scale <n> 整数放大倍数,1..16 -t, --target <px> 自动放大目标(默认 1600) -m, --mode <kernel> bicubic(默认)| nearest | lanczos | mitchell -o, --out <file.png> 输出路径;每区域一个文件时作为文件名前缀 --preview-width <px> 坐标来自这个宽度的预览图 --no-sheet 每区域一个文件,不拼图 --json 额外打印原始结果对象 -h, --help 显示帮助

实现

1. 源图一次性解码进内存。区域边界按显示尺寸(EXIF 旋转之后)校验,所以竖拍照片按你看到的方向裁。
2. 逐区域 extract,再按整数倍用选定核 resize —— 整数放大不会在你正要读的笔画上引入重采样痕迹。
3. 需要时把各块合成一张图,每块上方标注几何信息,这样多区域核对只要再读一次。

限制

- 只处理本地文件。 不会去抓远程 URL,避免这个工具变成替模型发外部请求的通道。
- 输出固定为 PNG。
- 每次最多 8 个区域、16× 放大。
- 拼图上的标注是 ASCII;非拉丁标注能不能画出来取决于 fontconfig 给 librsvg 暴露了哪些字体,所以中文描述请写在区域 label 里,别指望它出现在图上。

开发

npm install
npm test # 核心几何测试 + 插件契约测试

test/run.mjs 自己合成测试图,断言精确的输出尺寸。
test/plugin.mjs 用桩 ctx 跑 apply(),并验证注册表抛错也不会逸出。

许可

MIT
预览分享卡片长什么样 ↓07210905/crop-zoom
分享 · DeepSeek Harness Hub
07210905/crop-zoom

裁出截图小字区域并放大,让模型看清内容

这是你的仓库?认领条目

回到顶部