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

图像理解 shaking/dsh-vision

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

识别图片文字并理解画面内容,绕过模型无图像输入限制

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

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

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

状态速览

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 删除本地文件
    lib/index.js:84
    return { path: tmpOut, cleanup: () => void unlink(tmpOut).catch(() => {}) };
  • 读取本地文件
    lib/index.js:94
    const imageBytes = await readFile(path);
  • 发起网络请求
    lib/index.js:108
    res = await fetch(`${baseUrl}/chat/completions`, {
  • 读取本地文件
    lib/core.js:31
    if (!existsSync(credPath)) return null;
  • 读取本地文件
    lib/core.js:32
    const content = readFileSync(credPath, "utf8");
  • 发起网络请求
    clipboard/clip-hint.js:40
    const res = await fetch(STATE_URL, { cache: "no-store" });
  • 读取本地文件
    clipboard/clip-state-server.js:15
    const files = readdirSync(IMG_DIR)
  • 读取本地文件
    clipboard/clip-state-server.js:17
    .map((f) => ({ name: f, mtime: statSync(join(IMG_DIR, f)).mtimeMs }))
  • 读取本地文件
    mcp/server.js:76
    const imageBytes = await readFile(imagePath);
  • 发起网络请求
    mcp/server.js:88
    res = await fetch(`${provider.baseUrl}/chat/completions`, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 识别图片文字
  • 理解画面内容
  • 提供视觉能力

给 DeepSeek Harness(dsh 插件)与 Claude Code(MCP)提供视觉能力:本地 OCR(macOS / Windows)+ 云端 VLM(多供应商,OpenAI 兼容)

README

由 DeepSeek 最新模型翻译生成
dsh-vision 为 DeepSeek Harness(dsh)插件与 Claude Code(MCP)提供视觉能力的工具:本地 OCR(macOS / Windows)+ 云端 VLM(多供应商)图片理解。 DeepSeek 的模型 API 目前不支持图像输入,read_image 因此无法使用。本插件提供两个工具绕过这个限制: | 工具 | 能力 | 成本 | | read_image_text | 识别图片中的文字(macOS Vision / Windows 内置 OCR,免费离线,中英文) | 免费 | | describe_image | 理解图片的画面内容(云端 VLM,多供应商,OpenAI 兼容端点) | 按量付费 | 特性 - 🔒 本地 OCR:macOS 基于 Vision.framework,Windows 基于内置 OCR 引擎,图片不出本机,隐私安全 - ☁️ 云端 VLM:默认阿里云百炼 qwen3-vl-flash(快且便宜),OpenAI 兼容接口,可换成任意提供商 - 🖼️ 自动压缩:VLM 调用前用 sips 把大图压到 2048px / JPEG 85%,省钱省流量 - 🔑 灵活取 Key:环境变量或 ~/.dsh/.credentials.yaml
展开完整文档(README 剩余 1 节)
dsh-vision

为 DeepSeek Harness(dsh)插件与 Claude Code(MCP)提供视觉能力的工具:本地 OCR(macOS / Windows)+ 云端 VLM(多供应商)图片理解。

DeepSeek 的模型 API 目前不支持图像输入,read_image 因此无法使用。本插件提供两个工具绕过这个限制:

| 工具 | 能力 | 成本 |
| read_image_text | 识别图片中的文字(macOS Vision / Windows 内置 OCR,免费离线,中英文) | 免费 |
| describe_image | 理解图片的画面内容(云端 VLM,多供应商,OpenAI 兼容端点) | 按量付费 |

特性

- 🔒 本地 OCR:macOS 基于 Vision.framework,Windows 基于内置 OCR 引擎,图片不出本机,隐私安全
- ☁️ 云端 VLM:默认阿里云百炼 qwen3-vl-flash(快且便宜),OpenAI 兼容接口,可换成任意提供商
- 🖼️ 自动压缩:VLM 调用前用 sips 把大图压到 2048px / JPEG 85%,省钱省流量
- 🔑 灵活取 Key:环境变量或 ~/.dsh/.credentials.yaml
- 🧪 零依赖单测:核心逻辑用 Node 内置 node:test 覆盖(13 用例)
- 🌏 多供应商 VLM:内置百炼 / 硅基流动 / 智谱 / 火山方舟,OpenAI 兼容可加任意家
- 🔌 双形态:既是 dsh 插件,也是 MCP server(Claude Code 等 MCP 客户端直接用)
- 📋 剪贴板贴图:复制图片即贴给 agent(macOS 监听 + 前端提示条 + 多图支持),无需手动存文件
- 🪟 Windows 支持:附 PowerShell OCR 后端(Windows.Media.Ocr),VLM 通道跨平台

安装

方式 A:从 npm 安装(推荐)

dsh plugin --profile web add @floatingsk/dsh-vision

方式 B:从源码拷贝

把本仓库拷贝到你的 dsh profile 插件目录
cp -R dsh-vision ~/.dsh/profiles/node_modules/dsh-vision

方式 C:从 GitHub Release 下载预编译二进制(免编译,推荐)

维护者在打 v tag 时,GitHub Actions 会自动在两种 macOS 架构上编译并附到 Release:

1. 打开本仓库的 Releases 页面,选择最新版本
2. 按你的 Mac 架构下载:
- Apple Silicon(M 系列):vision-ocr-arm64
- Intel Mac:vision-ocr-x86_64
3. 放到插件目录并加执行权限:

cp vision-ocr-arm64 ~/.dsh/profiles/node_modules/dsh-vision/bin/vision-ocr
chmod +x ~/.dsh/profiles/node_modules/dsh-vision/bin/vision-ocr

编译 OCR 二进制(macOS 需要 Xcode Command Line Tools)

cd ~/.dsh/profiles/node_modules/dsh-vision
显式指定 clang 模块缓存目录(沙箱/受限环境下必需) swiftc -Xcc -fmodules-cache-path="$PWD/.cache" -O bin/vision-ocr.swift -o bin/vision-ocr

在 profile patch 中启用插件

编辑 ~/.dsh/profiles/web/cordis.patch.yml(你的 profile 对应文件),追加:

- insert:
- id: dsh-vision
name: 'dsh-vision'

配置 VLM API Key(describe_image 需要)

任选其一:

方式 A:环境变量
export DASHSCOPE_API_KEY=sk-xxx

方式 B:写入 dsh 凭据文件
echo 'DASHSCOPE_API_KEY: sk-xxx' >> ~/.dsh/.credentials.yaml

Key 从你的 VLM 提供商控制台获取(默认阿里云百炼:bailian.console.aliyun.com)。

重启 dsh

重启后工具即可用。注意:需要新开一个对话,工具列表在会话开始时注入。

使用

在对话中把图片保存到磁盘,告诉 agent 路径即可:

看下 /path/to/image.png 里有什么读取 /path/to/截图.png 中的文字

Agent 会自动选择合适的工具(读文字走 OCR,看画面走 VLM)。想指定 VLM 供应商时,可让 agent 传 provider 参数(如 bailian / siliconflow / zhipu / volcengine)。

配置

通过 cordis.patch.yml 中 dsh-vision 节点的 config 覆盖默认值。

多供应商 VLM

内置五家供应商(默认 DeepSeek 原生视觉,最便宜),describe_image 可传 provider 参数选择(留空用 defaultProvider):

- insert:
- id: dsh-vision
name: 'dsh-vision'
config:
defaultProvider: 'deepseek' # 默认供应商 providers: deepseek: # DeepSeek 原生视觉(V4-Flash-Vision-Exp,约0.001元/张) baseUrl: 'https://api.deepseek.com' model: 'deepseek-v4-flash-vision-exp' apiKeyEnv: 'DEEPSEEK_API_KEY' bailian: # 阿里云百炼 baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1' model: 'qwen3-vl-flash' # 或 qwen3-vl-plus / qwen-vl-ocr apiKeyEnv: 'DASHSCOPE_API_KEY' siliconflow: # 硅基流动 baseUrl: 'https://api.siliconflow.cn/v1' model: 'Qwen/Qwen2.5-VL-7B-Instruct' apiKeyEnv: 'SILICONFLOW_API_KEY' zhipu: # 智谱 baseUrl: 'https://open.bigmodel.cn/api/paas/v4' model: 'glm-4v-flash' apiKeyEnv: 'ZHIPU_API_KEY' volcengine: # 火山方舟(豆包) baseUrl: 'https://ark.cn-beijing.volces.com/api/v3' model: 'doubao-seed-1.6-vision' apiKeyEnv: 'ARK_API_KEY' 自定义 OCR 二进制路径(默认插件 bin/vision-ocr) ocrBin: '' 上传前压缩最长边(像素) vlmMaxImageDim: 2048

更换供应商:修改 defaultProvider,或在调用时指定 provider 参数;添加新供应商:在 providers 下添加任意键名(任何 OpenAI 兼容端点均可)。

推荐的视觉模型(阿里云百炼)

| 模型 | 特点 |
| qwen3-vl-flash(默认) | 快、便宜,日常够用 |
| qwen3-vl-plus | 质量更高,稍慢稍贵 |
| qwen-vl-ocr | 纯文字识别专用,比本地 OCR 更强(需联网) |

Claude Code / MCP 使用

本仓库附带一个零依赖的 MCP server(mcp/server.js),让 Claude Code(以及任何支持 MCP 的客户端)也能用这两个工具——即使你的 Claude Code 接的是不支持视觉的模型(如 DeepSeek)。

接入 Claude Code sh 全局接入(所有项目可用) claude mcp add dsh-vision -- node /path/to/dsh-vision/mcp/server.js

或者只给当前项目(在项目根目录建 .mcp.json): {
"mcpServers": {
"dsh-vision": {
"command": "node",
"args": ["/path/to/dsh-vision/mcp/server.js"],
"env": { "DASHSCOPE_API_KEY": "sk-xxx" }
}
}
}

describe_image 的 API Key 读取优先级:环境变量 > ~/.dsh/.credentials.yaml。用 .mcp.json 时可在 env 里直接配。

验证 sh claude mcp list # 应看到 dsh-vision claude mcp test dsh-vision # 或直接问 Claude:看下 /path/to/xxx.png 里是什么

MCP server 为纯 Node 实现(stdio JSON-RPC),无第三方依赖,Node >= 18 即可。

剪贴板贴图(copy-to-agent)

配套工具集(clipboard/):复制图片 → 直接贴给 agent,不用手动存文件、不用给路径。
sh
cd clipboard && bash install.sh # 一键安装:LaunchAgent 自启 + 状态服务 + 前端提示

复制图片后,dsh web 右下角显示 [图片已就绪],对 agent 说“看下我刚贴的图”即可。支持连续多张、Finder 多选。详见 clipboard/README.md。

开发 sh 运行单元测试
node --test test/

重新编译 OCR 二进制 swiftc -Xcc -fmodules-cache-path="$PWD/.cache" -O bin/vision-ocr.swift -o bin/vision-ocr

平台支持

| 能力 | macOS (Apple Silicon) | macOS (Intel) | Windows |
| 本地 OCR | ✅ 已编译 | ✅ 自编译或用 Release 二进制 | ✅ PowerShell 后端(Windows.Media.Ocr,未实测) |
| 云端 VLM | ✅ | ✅ | ✅(纯 Node) |

- macOS OCR:依赖 Vision.framework。仓库不含编译产物(见 .gitignore):
- Apple Silicon:npm run build:ocr 自编译,或下载 GitHub Release 的 vision-ocr-arm64
- Intel:npm run build:ocr 自编译,或下载 Release 的 vision-ocr-x86_64
- 打 v tag 推 GitHub 时,Actions 自动在两种架构编译并附到 Release
- Windows OCR:bin/vision-ocr.ps1(Windows 10/11 内置 OCR 引擎,需装中文 OCR 语言包),插件 ocrBin 指向它即可: powershell powershell -ExecutionPolicy Bypass -File bin/vision-ocr.ps1 -Json

注:该脚本在 macOS 上开发,未在 Windows 实测,欢迎提交 issue/PR。
- VLM 通道:Node >= 18(内置 fetch),全平台可用。

许可证

MIT
预览分享卡片长什么样 ↓shaking/dsh-vision
分享 · DeepSeek Harness Hub
shaking/dsh-vision

识别图片文字并理解画面内容,绕过模型无图像输入限制

这是你的仓库?认领条目

回到顶部