dsh-plugin-deepeye

DSH PLUGIN视觉与多模态

仓库 Favio8/dsh-plugin-deepeye · npm dsh-plugin-deepeye

视觉与多模态 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DeepEye 为 DeepSeek Harness 提供视觉能力,支持图片描述、OCR、视觉问答、UI 布局分析和剪贴板截图分析,让纯文本模型也能看懂图片。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 3 复刻 0 · 未关闭 issue 1
最近更新 2026-08-17 创建于 2026-08-13
README 10.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-plugin-deepeye
兼容 DSH 版本0.2.0-rc.2 等 12 个版本版本不匹配时安装会报错
Node.js 要求>=22.19.0来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@^4.0.1、@deepseek-ai/dsh-llm@^0.1.0-rc.6 等 3 个需要同时安装的同级依赖
npm 包名dsh-plugin-deepeye可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-plugin-deepeye:DeepSeek Harness 的视觉插件,让纯文本模型看懂图片

  • 图片描述与 OCR
  • 视觉问答与 UI 分析
  • 剪贴板截图分析
  • 粘贴图片自动翻译

适用场景

视觉识别

上游标签

cordisdeepseek-harnessdshdsh-pluginmultimodalocrvision

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

视觉与多模态
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Favio8仓库 dsh-plugin-deepeye · 默认分支 master
分类视觉与多模态vision
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证none商用或二次分发前请确认条款原文
星标 / 复刻 / issue3 / 0 / 1收录时的数值,非实时
创建 / 更新2026-08-13 · 2026-08-17最后推送 2026-08-17
本站收录2026-08-16首次进入本站目录的时间

README 全文

10.7 KB
作者原文,中文版优先;只做安全转义,不改内容

DeepEye Vision for DSH

为 DeepSeek Harness 提供视觉能力的原生 Cordis 插件。

让纯文本模型获得"眼睛":图片描述、OCR 文字提取、视觉问答、UI 布局分析、剪贴板截图分析,以及粘贴图片自动翻译(在纯文本模型会话里直接粘贴图片也能发)。

特性

  • 原生集成 — 直接注册到 ctx.tools,无 MCP 中间层开销
  • 多后端 — 支持 OpenAI (GPT-4o)、Google Gemini、自定义 OpenAI-compatible 端点
  • 智能预处理 — 自动缩放过大图片、转换 JPEG 以节省 token
  • 结果缓存 — LRU 缓存减少重复 API 调用(含 TTL,键覆盖后端/模型,切换后端不会误命中)
  • 友好错误处理 — 鉴权失败/限流/超时给出可执行的修复建议,不再回显原始 API 报错
  • 非阻塞剪贴板读取 — vision_clipboard 异步读取系统剪贴板(不卡事件循环、可取消),且能区分「剪贴板是文本」「没有内容」并给出引导
  • System Prompt — 自动注入提示段落,让模型知道何时使用视觉能力
  • 粘贴图片兼容 — 纯文本模型(如 DeepSeek)会话中直接粘贴图片,自动翻译成文字后交给模型(见下文 pasteCompat)

安装

本插件是一个标准 dsh bundle(声明了 dsh.bundle.patch),通过 dsh 的 profile 插件机制安装:

# 发布后(npm 安装)
dsh plugin --profile web add dsh-plugin-deepeye

# 本地开发时(从插件源码目录的上一级执行)
dsh plugin --profile web add ./dsh-plugin-deepeye

安装时 dsh 会:
1. 首次使用自动初始化 profile(含 @deepseek-ai/dsh-base)
2. 用 pnpm 把本包链接进 profile 目录
3. 因本包声明了 dsh.bundle,自动追加到 dsh.profile.bundles 层叠

验证与启动:

dsh --profile web --dump-config   # 确认出现 dsh-plugin-deepeye 层
dsh web                           # web 是 --profile web 的别名

配置

API Key 解析优先级

插件支持多层 API Key 解析,用户可以选择最方便的方式:

  1. cordis.yml 显式配置 — config.apiKey: !!js process.env.XXX
  2. 自动环境变量回退 — 根据 provider 自动匹配对应环境变量
  3. 通用变量 — DEEPEYE_API_KEY(适用于所有 provider)
provider 自动回退的环境变量
openai OPENAI_API_KEY
gemini GEMINI_API_KEY
custom DEEPEYE_API_KEY

最简配置:只需设置环境变量,无需在 cordis.yml 中显式写 apiKey:

# .env 或系统环境变量
export OPENAI_API_KEY=sk-xxx
# cordis.yml - 无需 apiKey 字段,自动从 OPENAI_API_KEY 读取
- id: deepeye-vision
name: 'dsh-plugin-deepeye'
config:
provider: openai

使用 OpenAI

- id: deepeye-vision
name: 'dsh-plugin-deepeye'
config:
provider: openai
# apiKey: !!js process.env.OPENAI_API_KEY  # 可省略,自动回退
model: gpt-4o                    # 可选,默认 gpt-4o
# baseUrl: ''                    # 可选,代理或 Azure 端点

使用 Gemini

- id: deepeye-vision
name: 'dsh-plugin-deepeye'
config:
provider: gemini
model: gemini-2.0-flash          # 可选,默认 gemini-2.0-flash

使用智谱 GLM-4V(免费)

智谱的 glm-4v-flash 是免费视觉模型,走 OpenAI-compatible 端点,对应 provider: custom。

把 examples/zhipu-glm4v.cordis.patch.yml 的内容合并到 profile 的用户 patch 层(%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml,Linux/macOS 为 ~/.dsh/profiles/web/cordis.patch.yml):

- id: deepeye-vision
config:
provider: custom
baseUrl: https://open.bigmodel.cn/api/paas/v4
model: glm-4v-flash
maxTokens: 1024

API Key 通过环境变量提供(custom provider 自动读取 DEEPEYE_API_KEY):

# PowerShell
$env:DEEPEYE_API_KEY = "<你的智谱 API Key>"

使用自定义端点

适用于 vLLM、Ollama、LM Studio 等 OpenAI-compatible 服务:

- id: deepeye-vision
name: 'dsh-plugin-deepeye'
config:
provider: custom
baseUrl: http://localhost:8080/v1   # 必填:端点地址
model: qwen-vl-plus                 # 必填:模型名
# apiKey: !!js process.env.DEEPEYE_API_KEY  # 可省略

完整配置参考

- id: deepeye-vision
name: 'dsh-plugin-deepeye'
config:
provider: openai              # 'openai' | 'gemini' | 'custom'
apiKey: ''                    # 留空则自动读 env(见上表)
baseUrl: ''                   # custom 端点或代理地址
model: ''                     # 留空使用 provider 默认模型
cacheEnabled: true            # 结果缓存开关
cacheMaxSize: 200             # 缓存最大条目
cacheTtlSeconds: 86400        # 缓存条目有效期(秒,0 表示不过期)
maxImageDimension: 1536     # 图片最大尺寸(超过自动缩放)
jpegQuality: 85               # JPEG 压缩质量
maxTokens: 4096               # OpenAI-compatible 视觉模型最大输出 token
requestTimeout: 30000         # 单次请求超时(毫秒)
maxRetries: 2                 # 瞬时失败(429/5xx/网络错误)重试次数
retryDelay: 1000              # 首次重试前的基础延迟(毫秒,指数退避)
maxImageDownloadBytes: 20971520  # URL 图片最大下载字节数
pasteCompat: auto             # 'off' | 'auto' | 'force',粘贴图片兼容模式

> 缓存键包含「provider + baseUrl + 图片 + prompt + model」:切换后端或模型不会误命中旧缓存;条目按 cacheTtlSeconds 过期。

粘贴图片兼容(pasteCompat)

DSH 前端原生支持把图片粘贴/拖拽进输入框(以附件形式存储,消息里是一个 image 引用块)。但有两道关卡会让带图消息发不出去:

  1. 宿主网关准入:dsh-host-apiproxy 在发送时校验模型能力——DeepSeek 等纯文本模型被显式声明为不支持图片(MODEL_DOES_NOT_SUPPORT_IMAGES),前端直接提示"当前模型不支持图片",请求根本不会发出
  2. 适配器拒绝:即使消息提交成功,dsh-llm-deepseek 适配器也会拒绝 image 块(UNSUPPORTED_CONTENT)

本插件通过两层机制解决:

层 机制
准入 包装 ctx.llm.resolveModelInfo:纯文本模型的 inputModalities 报告为"未知"而非"明确不支持",通过网关准入,图片消息得以进入会话
翻译 llm/stream 瀑布钩子:把 image 附件交给视觉后端翻译成文字,替换后重放请求——模型以文本形式"看到"图片
模式 行为
off 不介入,粘贴图片行为与未安装插件时一致
auto(默认) 仅当目标模型不支持图片输入时自动翻译;支持图片的模型(如 pi-ai)原样放行
force 无论模型是否支持图片,一律翻译后重放
  • 翻译用的视觉后端与工具共用同一套配置(provider / apiKey / model / 缓存)
  • 视觉翻译失败时自动降级为友好提示文本,不会让会话报错
  • 仅改写含 image 块的请求,重放请求不含图片,不会重复改写
  • resolveModelInfo 包装有防重复标记(HMR 安全),且不改动模型路由与请求内容
  • 已实测:DeepSeek deepseek-v4-flash + 智谱 glm-4v-flash,粘贴截图后模型正常收到图片的文字翻译

启用方式

安装为 bundle 后(见上文「安装」),插件默认以 provider: openai 配置随 profile 自动加载。需要换后端或调整参数时,在 profile 的用户 patch 层按 id 定向覆盖其 config:

# %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml
- id: deepeye-vision
config:
provider: openai
apiKey: !!js process.env.OPENAI_API_KEY

开发期也可以不落盘,直接用 --patch 临时叠加:

dsh web --patch ./examples/zhipu-glm4v.cordis.patch.yml

提供的工具

工具名 功能 必填参数
vision_describe 详细描述图片内容 image_source
vision_ocr 提取图片文字(OCR) image_source
vision_ask 根据图片回答问题 image_source, question
vision_layout UI 布局结构化分析(JSON) image_source
vision_clipboard 分析剪贴板截图 无(自动读取剪贴板)

图片来源格式

所有 image_source 参数支持四种格式:
- 本地路径: /path/to/image.png 或相对路径
- file:// URL: file:///path/to/image.png
- HTTP(S) URL: https://example.com/screenshot.png
- Data URI: data:image/png;base64,iVBOR...

环境变量

复制 .env.example 为 .env 并填入你的 key:

变量 用途 对应 provider
OPENAI_API_KEY OpenAI API Key openai
GEMINI_API_KEY Gemini API Key gemini
DEEPEYE_API_KEY 通用 Key / 自定义端点 custom / 所有

开发

cd dsh-plugin-deepeye
pnpm install        # 首次需安装依赖(含 sharp 原生库)
pnpm run typecheck  # 类型检查
pnpm test           # 单元测试(vitest)
pnpm run build      # 构建 lib/(tsdown)

> pnpm install 会通过 prepare 自动构建 lib/。开发期修改 src/ 后需
> 重新 pnpm run build 并重启 dsh(或热重载)才会生效;
> 若 sharp 未安装,插件仍可运行,但图片不会缩放/转 JPEG(token 开销更大),
> 启动日志会给出一次性警告。

架构

src/
├── index.ts          # Cordis 插件入口 (name/inject/Config/apply)
├── config.ts         # 配置 schema (schemastery)
├── engine.ts         # VisionEngine: 统一执行管道
├── cache.ts          # LRU 缓存
├── image-utils.ts    # 图片加载 + 预处理
├── errors.ts         # 错误分类与友好提示
├── http.ts           # 超时/重试/退避 HTTP 封装
├── layout.ts         # 布局 JSON 健壮提取
├── prompts.ts        # 默认提示词
├── paste-compat.ts   # 粘贴图片兼容:resolveModelInfo 能力包装(通过网关准入)+ llm/stream 瀑布钩子(图片→文字翻译重放)
└── vision/
├── base.ts       # VisionAdapter 接口
├── openai.ts     # OpenAI 适配器
├── gemini.ts     # Gemini 适配器
└── factory.ts    # 适配器工厂

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-deepeye 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-plugin-deepeye` 即可。对应的 npm 包名是 `dsh-plugin-deepeye`。

dsh-plugin-deepeye 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-plugin-deepeye 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-plugin-deepeye 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-plugin-deepeye 需要什么运行环境?

Node.js >=22.19.0;需要同时安装 @deepseek-ai/cordis@^4.0.1、@deepseek-ai/dsh-llm@^0.1.0-rc.6、@deepseek-ai/dsh-tools@^0.1.0-rc.6。环境不满足时安装会失败,建议先确认本机版本。

dsh-plugin-deepeye 用的是什么许可证?

上游标注为 none。商用或二次分发前请到仓库确认许可证原文。

dsh-plugin-deepeye 有哪些功能?

图片描述与 OCR、视觉问答与 UI 分析、剪贴板截图分析、粘贴图片自动翻译。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

视觉与多模态
按星标排序,可作替代方案

open-design

open-design

L4 · 沙盒安装通过 10.0 万 星

awesome-gpt-image-2

awesome-gpt-image-2

GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+ 套工业级模板与可复用 Skills,新增 2.5 同提示词对比

L3 · 安装规范通过 3.4 万 星

PicGo

PicGo

L3 · 安装规范通过 2.7 万 星

iPolloWork

iPolloWork

L4 · 沙盒安装通过 6,775 星

modlens

modlens

ModLens 是 DeepSeek Harness 的视觉插件,为纯文本模型外挂视觉能力,粘贴图片即得结构化 JSON 证据(OCR、版面

L5 · 运行验证通过 4,207 星

OpenBiliClaw

OpenBiliClaw

本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微

L4 · 沙盒安装通过 3,398 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。