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

图像切分放大 TianyiTwT/dsh-image-zoom

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

给大图加编号网格,让模型逐格放大看清细节

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 73 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 27 条)
  • 读取本地文件
    dsh-image-zoom/helper/split_helper.cjs:138
    const gj = JSON.parse(fs.readFileSync(path.join(outDir, 'grid.json'), 'utf8'));
  • 写入本地文件
    dsh-image-zoom/helper/split_helper.cjs:342
    fs.mkdirSync(outDir, { recursive: true });
  • 写入本地文件
    dsh-image-zoom/helper/split_helper.cjs:359
    fs.mkdirSync(outDir, { recursive: true });
  • 写入本地文件
    dsh-image-zoom/helper/split_helper.cjs:420
    fs.writeFileSync(path.join(outDir, 'grid.json'), JSON.stringify(manifest));
  • 发起网络请求
    dsh-image-zoom/lib/client.js:18
    const res = await fetch("/api/session.models", {
  • 发起网络请求
    dsh-image-zoom/lib/client.js:45
    const res = await fetch("/image-zoom/state?" + params.toString(), { credentials: "same-origin" });
  • 发起网络请求
    dsh-image-zoom/lib/client.js:137
    fetch("/image-zoom/enabled", {
  • 执行外部命令来自配置/变量
    dsh-image-zoom/lib/index.js:126
    const child = spawn(process.execPath, [HELPER_PATH, '', mode, '-', paramsJson], {
  • 读取本地文件
    dsh-image-zoom/lib/index.js:192
    data = await readFile(filePath);
  • 写入本地文件
    dsh-image-zoom/lib/index.js:249
    await mkdir(path.dirname(target), { recursive: true });
  • 写入本地文件
    dsh-image-zoom/lib/index.js:250
    await writeFile(target, Buffer.from(b64, 'base64'));
  • 读取本地文件
    install.mjs:27
    if (!existsSync(join(src, 'package.json'))) {
  • 读取本地文件
    install.mjs:32
    if (!existsSync(manifestPath)) return;
  • 读取本地文件
    install.mjs:33
    const json = JSON.parse(readFileSync(manifestPath, 'utf8'));
  • 写入本地文件
    install.mjs:36
    writeFileSync(manifestPath, JSON.stringify(json, null, 2) + '\n');
  • 读取本地文件
    install.mjs:42
    if (!existsSync(patchPath)) return;
  • 读取本地文件
    install.mjs:43
    const lines = readFileSync(patchPath, 'utf8').split(/ ? /);
  • 写入本地文件
    install.mjs:54
    writeFileSync(patchPath, out.join('\n'));
  • 读取本地文件
    install.mjs:62
    if (existsSync(legacyLink)) rmSync(legacyLink, { recursive: true, force: true });
  • 删除本地文件递归
    install.mjs:62
    if (existsSync(legacyLink)) rmSync(legacyLink, { recursive: true, force: true });
  • 删除本地文件递归
    install.mjs:64
    if (existsSync(legacyDest)) rmSync(legacyDest, { recursive: true, force: true });
  • 删除本地文件递归
    install.mjs:72
    if (existsSync(link)) rmSync(link, { recursive: true, force: true });
  • 删除本地文件递归
    install.mjs:73
    if (existsSync(dest)) rmSync(dest, { recursive: true, force: true });
  • 写入本地文件
    install.mjs:86
    mkdirSync(dirname(link), { recursive: true });
  • 删除本地文件递归
    install.mjs:87
    if (existsSync(link)) rmSync(link, { recursive: true, force: true });
  • 写入本地文件
    install.mjs:94
    writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
  • 写入本地文件
    install.mjs:100
    writeFileSync(patchPath, patch);
扫描于 2026/11/5(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 图像切分
  • 逐格放大细节
  • 加编号网格

为 DeepSeek Harness(dsh)里的视觉语言模型(VLM)做智能图像切分与放大。

README

由 DeepSeek 最新模型翻译生成
dsh-image-zoom 为 DeepSeek Harness (dsh) 提供的智能图像切分与放大工具。 大多数视觉大模型(VLM)在推理前会将大图强制压缩到约 64 万像素(≈800x800),导致图纸、PCB、文档或高密 UI 中的细小文字和细节完全模糊。本插件为模型提供两把手术刀(split_image / zoom_detail),让模型先看全局概览,再以全分辨率放大任意编号区域——全程在聊天中完成,结果以持久附件返回。 为什么需要 - 视觉模型压缩高分辨率图像,4K 屏幕上的文字或 PCB 上的微小元件变成模糊的马赛克。 - 让模型在模糊缩略图上猜 x,y,w,h 坐标极不可靠。 - 本插件提供带编号的标注网格(直接画在缩略图上),模型只需说“放大第 9 格”,引擎就会精确裁剪原始全分辨率图像的对应区域。 - 结果以内联图像(持久附件)返回,而非临时文件路径。
展开完整文档(README 剩余 1 节)
dsh-image-zoom

为 DeepSeek Harness (dsh) 提供的智能图像切分与放大工具。

大多数视觉大模型(VLM)在推理前会将大图强制压缩到约 64 万像素(≈800x800),导致图纸、PCB、文档或高密 UI 中的细小文字和细节完全模糊。本插件为模型提供两把手术刀(split_image / zoom_detail),让模型先看全局概览,再以全分辨率放大任意编号区域——全程在聊天中完成,结果以持久附件返回。

为什么需要

- 视觉模型压缩高分辨率图像,4K 屏幕上的文字或 PCB 上的微小元件变成模糊的马赛克。
- 让模型在模糊缩略图上猜 x,y,w,h 坐标极不可靠。
- 本插件提供带编号的标注网格(直接画在缩略图上),模型只需说“放大第 9 格”,引擎就会精确裁剪原始全分辨率图像的对应区域。
- 结果以内联图像(持久附件)返回,而非临时文件路径。

工作方式

你上传大图(或通过 image_path 传入文件) │ ▼ [split_image] ──► 生成缩略图 + 编号网格叠加层 │ (红色实线 = 精确切分边界,蓝色虚线 = 含重叠的实际范围) │ ▼ 模型查看标注概览图 ──► 选中某个编号(如第 5 格) │ ▼ [zoom_detail] ──► 裁剪原始全分辨率图像的那一区域 │ ▼ 内联返回裁剪图(可保存并继续链式放大)

完整调用线路

- 会话级门控:通过编辑器开关记住每个会话的启用/禁用状态。
- 视觉门控:自动检测当前主模型是否支持图像输入,纯文本模型拒绝执行。
- 坐标抽象:你提供的坐标是你所看到的(压缩视图)像素,引擎自动缩放映射到原始图像分辨率。
- 文件链式处理:通过 save_to 保存放大结果,再将其作为 image_path 传入,实现更深层放大。

安装

从 npm

dsh plugin --profile web add dsh-image-zoom

dsh plugin 会在 profile 目录内转发给 pnpm,包随即落入 profile 的 node_modules。然后向 ~/.dsh/profiles/web/cordis.patch.yml 追加组合行:

- insert:
- id: image-zoom
name: dsh-image-zoom

从源码(本地检出)

克隆仓库,然后运行跨平台安装器(纯 Node——Windows、macOS、Linux 通用):

git clone https://github.com/your-username/dsh-image-zoom.git
cd dsh-image-zoom
node install.mjs

安装器会把包复制到 ~/.dsh/profiles/web/dsh-image-zoom(遵循 DSH_HOME),在 profile 的 node_modules 中创建链接(Windows 为 junction,其余平台为符号链接),在 package.json 中注册 link: 依赖,并向 cordis.patch.yml 追加所需的插入行。若存在旧的 dsh-photo-zoom 安装,会自动迁移清理。

卸载命令:

node install.mjs --remove

安装完成后,重启 DSH Web 服务:

dsh --profile web

工具说明

1. split_image

生成一张带编号的标注网格图(内联附件)。网格包含:
- 红色实线:精确的网格切分边界。
- 蓝色虚线矩形:实际捕获范围包含重叠边距(蓝线与红线之间的内容也会出现在相邻格子中)。

参数:
- image_index (整数, 默认 0):最近一张附件。
- image_path (字符串):替代源,本地文件路径(PNG/JPEG/WebP/GIF)。
- save_to (字符串):可选,保存概览图的目录或文件路径。
- type (枚举):document, photo, webpage, object, misc —— 网格策略提示。
- rotate (0/90/180/270):强制旋转(默认遵循 EXIF 方向)。

2. zoom_detail

以原始全分辨率裁剪指定区域,并以内联图片返回。

参数(支持视图坐标或 tile 编号):
- x, y, w, h (整数):压缩视图中的像素坐标(自动缩放至全分辨率)。
- tile (整数):来自先前 split_image 的编号格子(最易用)。
- label (字符串):可选,输出图片的简短名称。
- image_index / image_path:同上。
- save_to (字符串):保存裁剪图到磁盘,便于链式调用。

配置

当视觉模型激活时,聊天输入栏会出现一个滑动开关,控制当前会话是否启用该工具。

- 启用(默认):工具正常执行。
- 禁用:工具拒绝执行并给出明确提示(“智能切分已关闭”)。

开关通过两个简单的 HTTP 路由与宿主通信:
- GET /image-zoom/state – 返回当前视觉状态和开关状态。
- POST /image-zoom/enabled – 更新会话开关。

无需复杂设置页面,开箱即用。

模型体验

模型能看到什么

- split_image 结果:带网格叠加的压缩 JPEG。模型读取编号和视觉布局。
- zoom_detail 结果:精确裁剪区域的原始分辨率 PNG。

Token / KV Cache 影响

工具本身不会修改 LLM 提示词或 KV Cache。它们生成图像附件,作为标准图像内容块渲染在对话中。Token 消耗完全由 DSH 原生附件系统管理(即渲染图片的常规代价)。

项目结构

dsh-image-zoom/
├── lib/
│ ├── index.js # 宿主插件(工具定义、HTTP 开关、子进程编排) │ └── client.js # 客户端(编辑器开关 UI) ├── helper/ │ └── split_helper.cjs # 基于 Sharp 的图像处理引擎(独立子进程) ├── LICENSE └── package.json # DSH Bundle 清单(dsh.client 声明) install.mjs # 跨平台安装器(Windows / macOS / Linux)

开发

辅助进程使用 sharp 处理图像,以子进程方式运行,避免阻塞主事件循环。sharp 本身不随包分发:引擎会自发现 DSH 安装自带的那份(DSH 支持的每个平台都带),因此本包保持纯 JavaScript。

修改代码后,重新运行安装器并重启 dsh web 即可生效。

发布(维护者)

cd dsh-image-zoom
npm publish

许可证

MIT
预览分享卡片长什么样 ↓TianyiTwT/dsh-image-zoom
分享 · DeepSeek Harness Hub
TianyiTwT/dsh-image-zoom

给大图加编号网格,让模型逐格放大看清细节

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部