纯文本模型双层识图:优先本地快速 OCR(RapidOCR,离线),不足时回落视觉模型(modlens)。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-quicksight
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Isanti2016/dsh-quicksight
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 双层图片识别插件:为纯文本模型补上识图能力,本地图片识别 + 模型识别双通道。
┌─────────────────────────────────────────────────────────┐
│ 本地图片识别(Local OCR) 模型识别(Vision Model) │
│ Tier-1 快速本地 OCR Tier-2 视觉模型兜底 │
│ RapidOCR / PP-OCR / ONNX modlens + 任意视觉引擎 │
│ 约 2-3 秒 · 完全离线 · 不上传 约 20 秒 · 结构化证据 │
│ 中文/英文准确 · 零 API 成本 summary/OCR/版面/语义 │
└─────────────────────────────────────────────────────────┘
规则:能用本地 OCR 快速拿到文字就先 OCR(本地图片识别);OCR 不行(空/过短/乱码)或需要视觉理解时,才回落模型识别(视觉模型)。
特性
- 注册
quicksight_ocr工具,自动执行双层策略(模型无需选择,直接调用) - Tier-1 完全本地离线:图片与文字不上传任何服务器,零 API 成本
- Tier-2 复用 modlens 生态:任何已配置的视觉引擎(Nvidia NIM / Gemini / OpenAI 兼容端点 / Anthropic)
- 零运行时依赖(Node 内置 API),纯服务端插件,不监听任何端口
- 全路径可配置(插件配置或环境变量),无硬编码凭据
架构
粘贴图片 / 图片路径 / 图片 URL
│
▼
quicksight_ocr 工具
├─ Tier-1: python ocr.py <图> → RapidOCR(本地,2-3s)
│ └─ 文本 ≥ minChars(默认20) → 直接返回 ✅
└─ Tier-2: modlens CLI analyze <图>(~20s)
└─ 结构化证据:summary / OCR / 版面 / 不确定性
依赖
| 依赖 | 用途 | 必须? |
|---|---|---|
| Node.js ≥ 22.13 | 插件运行时 | ✅ |
Python ≥ 3.10 + rapidocr_onnxruntime |
Tier-1 本地 OCR | 建议(无则只走 Tier-2) |
| @liustack/modlens 插件 + 已配置的视觉引擎 | Tier-2 视觉兜底 | 建议(无则只走 Tier-1) |
安装
1. 安装插件
# 已发布到 npm 后:
npx -y @deepseek-ai/dsh plugin --profile web add dsh-quicksight
# 或直接从本仓库安装:
npx -y @deepseek-ai/dsh plugin --profile web add github:Isanti2016/dsh-quicksight
安装后重启 dsh web 服务(dsh restart)并新建会话,quicksight_ocr 工具即注册到模型。
2. 准备 Tier-1(快速本地 OCR,推荐)
在标准目录建 Python 虚拟环境并安装 RapidOCR:
python -m venv ~/.dsh/tools/ocr-venv
~/.dsh/tools/ocr-venv/Scripts/pip install rapidocr_onnxruntime # Windows
~/.dsh/tools/ocr-venv/bin/pip install rapidocr_onnxruntime # macOS/Linux
也可用任意已装
rapidocr_onnxruntime的 Python,通过配置ocrPython指向它。
3. 准备 Tier-2(视觉兜底,可选但推荐)
按 modlens 文档 安装并配置至少一个视觉引擎,配置写入 ~/.modlens/config.json(例如 Nvidia NIM / 免费 Gemini key / 任意 OpenAI 兼容端点)。示例:
npx -y @liustack/modlens config set openai.baseUrl <https://.../v1>
npx -y @liustack/modlens config set openai.apiKey <你的 key> # 仅存本机
npx -y @liustack/modlens config set openai.model <视觉模型>
npx -y @liustack/modlens config set provider openai
配置
插件配置项(在 profile 的 cordis.patch.yml 里给插件传参,或通过环境变量):
| 配置键 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
toolName |
QUICKSIGHT_TOOL_NAME |
quicksight_ocr |
注册的工具名 |
minChars |
— | 20 |
Tier-1 视为成功的文字阈值(字符数) |
ocrPython |
QUICKSIGHT_OCR_PYTHON |
~/.dsh/tools/ocr-venv/{Scripts|bin}/python |
装有 rapidocr 的 Python 解释器 |
modlensCli |
QUICKSIGHT_MODLENS_CLI |
~/.dsh/profiles/web/node_modules/@liustack/modlens/dist/main.js |
modlens CLI 入口 |
modlensEnabled |
— | true |
是否启用 Tier-2 回落 |
timeoutMs |
— | 120000 |
单次识别超时(毫秒) |
本地目录与端口(接入必读)
- 本插件不监听任何端口,纯工具型插件,无 HTTP/WS 服务。
- Tier-1:完全本地,不产生任何网络请求。
- Tier-2:发起出站 HTTPS 请求到所配置的视觉引擎(默认示例为 Nvidia NIM
https://integrate.api.nvidia.com:443;也可指向任何 OpenAI 兼容端点)。不开放任何入站端口。 - 若同时使用 modlens 的粘贴接管(
/modlens/paste),它走 dsh web 服务默认监听127.0.0.1:3080(本地回环)——与本插件无关,但注意 dsh web 需要常驻。 - 标准目录约定:
~/.dsh/tools/ocr-venv(Python 环境)、modlens 插件在~/.dsh/profiles/<profile>/node_modules/。全部可用配置覆盖。
隐私与安全
- 本仓库不含任何 API key / 令牌 / 个人路径。
- Tier-1 图片不出机器;Tier-2 图片会发送到你自选的视觉引擎(如 Nvidia/Gemini),敏感图片请优先 Tier-1 或自建本地视觉引擎。
- 凭据只存本机:modlens 的 key 在
~/.modlens/config.json,不入库、不入会话日志。
致谢(引用的开源项目)
dsh-quicksight 站在以下优秀开源项目之上,特此致谢:
- RapidOCR(RapidAI)— Tier-1 本地 OCR 引擎(
rapidocr_onnxruntime,PP-OCR 模型 + ONNX Runtime),中文/英文识别准确、CPU 秒级、跨平台。 - PaddleOCR / PP-OCR(PaddlePaddle)— RapidOCR 所承载的 OCR 检测/识别模型(PP-OCRv3+)的原始出处。
- modlens(@liustack)— Tier-2 视觉桥接:dsh-quicksight 复用其 CLI 与
~/.modlens/config.json配置,接入任意 OpenAI 兼容/Anthropic 视觉引擎。 - Nvidia NIM / Gemini / 其他 OpenAI 兼容端点 — Tier-2 可选的上游视觉引擎示例(由用户自行配置)。
- DeepSeek Harness(dsh)— 插件宿主框架。
说明:dsh-quicksight 不包含上述项目的代码,仅按各自开源协议调用/复用;Tier-1 使用 RapidOCR 需在其许可范围内,Tier-2 使用 modlens 与其所选引擎受各自条款与额度约束。
已知限制
- 免费视觉引擎(如 Nvidia 免费额度)存在速率限制:连续调用可能返回 429/404,稍后自动恢复;Tier-2 失败时工具会降级报错并提示配置。
- Tier-1(RapidOCR)只提取文字,不分析颜色/布局/图表/人脸;此类需求由 Tier-2 视觉模型处理。
- 支持常见图片格式(PNG/JPG/BMP/TIFF/WebP);不支持 PDF(需先逐页转图)。
卸载
npx -y @deepseek-ai/dsh plugin --profile web remove dsh-quicksight
License
MIT
链接
同类插件
liustack/modlens★ 2185
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
Anionex/dsh-vision-toolkit★ 485
让纯文本模型更好地做视觉任务:带意图的图片问答、长截图 OCR、UI 还原等。
ysr666/dsh-vision-router★ 304
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
linenxi-ctrl/dsh-vision★ 11
外挂识图插件:鲸鱼按钮配置面板、图片识图自动回传、模型自主截图识图工具。
Flyvhidbwo/dsh-vision-proxy★ 9
DeepSeek 大脑 + 自动识图:GUI 附加的每张图片自动经 OpenAI 兼容 VLM 转译成文字,再交给纯文本的 DeepSeek 作答——有 key 自动走快速通道(默认 qwen3.7-flash,支持百炼/智谱/OpenRouter 等任意 OpenAI 兼容端点),无 key 自动探测本地 Ollama(零配置,图片不出本机)。
jyh20030112/dsh-visual-plugin★ 9
给纯文本模型装上眼睛:把用户图片转发给任意 OpenAI 兼容的视觉模型生成描述,并在 Web UI 右侧面板展示结果。