DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Deepseek Account Vision — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@caesarloo/dsh-deepseek-account-vision

Deepseek Account Vision

为 DeepSeek Harness 中的任何主模型提供 DeepSeek-account 视觉能力:通过 deepseek_vision 工具,使用 DeepSeek-V4.1-Flash(deepseek-flash,1017)识别图像,并为任何提供商路由自动转录附加图像。无需 API 密钥。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @caesarloo/dsh-deepseek-account-vision@0.1.0
README兼容性版本

兼容性与来源证明

Deepseek Account Vision 以 @caesarloo/dsh-deepseek-account-vision 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/10/19

版本

0.1.0stable
2026/10/19

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
73.7 kB
文件数
14
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

@caesarloo/dsh-deepseek-account-vision

English | 中文


English

Give any main model in DeepSeek Harness the vision of the DeepSeek account: recognize images with DeepSeek-V4.1-Flash (deepseek-flash, release 1017) — through a deepseek_vision tool, or automatically for images attached to a text-only chat model. No API key, no extra VLM account, no image library.

What it does

  • Adds a model-facing tool deepseek_vision: pass a local PNG/JPEG/WebP/GIF path or an http(s) image URL, get back a complete textual rendition (verbatim OCR, layout, visual elements, key details).
  • Answers with the DeepSeek account route (deepseek-account / deepseek-flash by default), so it reuses the DeepSeek login you already have in DSH — the plugin never stores credentials.
  • Registers automatic image-transcription routes: for every registered provider it adds a <provider>-vision route that declares image input, turns each attached image into text with DeepSeek-V4.1-Flash, then delegates the conversation to the original model. A pure-text main model can finally "see" a pasted screenshot.
  • Caches results by image content hash (in-process only), merges concurrent identical requests, cools down a failed image for 60 s, and fails fast instead of hanging.
  • Works alongside everything: text-only conversations pass through untouched; the original model, tools and history shape stay the same.

Install

dsh plugin --profile <profile> add @caesarloo/dsh-deepseek-account-vision

From a local checkout, install by directory instead: dsh plugin --profile <profile> add <project-directory>.

Restart DSH once (bundle layers have no hot reload), then verify that deepseek_vision appears in the tool list of a new session. A patch-layer development install (- insert: with the plugin entry file) reloads hot without a restart.

Requirements: DSH >= 0.2.1-rc.2, a signed-in DeepSeek account, and the standard llm / attachments / fs services (all present in the shipped bundle).

Usage

1. Tool — any main model can call it

{
  "image_path": "screenshot.png",
  "prompt": "Transcribe every visible character and describe the layout"
}

or, for a remote image:

{ "image_url": "https://example.com/chart.png" }

The tool returns { text, model, source, truncated }. The image never enters the main model's context — only the transcription does. A custom prompt is passed to the vision model verbatim; leave it out to use the built-in full-transcription prompt.

2. Automatic transcription route — paste images into a text-only chat

Pick the route named <provider> + 自动识图 (id <provider>-vision, configurable) in the model selector, then attach an image as usual. The image block is transcribed before the original adapter sees the request:

GUI image ──▶ <provider>-vision route (declares image input → attachment admitted)
                  │  each image block is transcribed by DeepSeek-V4.1-Flash
                  ▼
            original model (receives plain text, answers normally)

Transcribed text is prefixed with [图片转译]. When transcription fails and failureMode is placeholder (default), an explicit [图片转译失败: …] marker is inserted and the conversation continues.

SituationWhat to use
Any model, image exists as a file or URLdeepseek_vision tool
Text-only model, image attached in the GUIthe <provider>-vision route
Main model already accepts imagesno plugin needed for that turn

Configuration

Defaults ship in cordis.patch.yml; override them in your profile's cordis.patch.yml with an - id: dsh-deepseek-account-vision entry. Unlisted keys fall back to the defaults below.

KeyDefaultMeaning
visionProviderdeepseek-accountRegistered provider route used for image recognition
visionModeldeepseek-flashVision model id (DeepSeek-V4.1-Flash / 1017)
visionMaxTokens4096Output cap for the vision model
timeoutMs120000Per-image recognition timeout
tooltrueRegister the deepseek_vision tool
toolNamedeepseek_visionTool name exposed to models
autoTranscribetrueRegister automatic image-transcription routes
wrapAllProviderstrueWrap every registered provider (including ones registered later)
innerProviders[]Providers to wrap when wrapAllProviders=false
routeSuffix-visionRoute id suffix: <provider><routeSuffix>
routeNameTemplate{name} + 自动识图Route display name; {name} / {provider} are substituted
marker[图片转译]Prefix added to each transcription
failureModeplaceholderplaceholder keeps the turn alive; error fails the whole turn
transcribePrompt''Override the automatic-transcription prompt (empty = built-in)
recognitionPrompt''Override the deepseek_vision prompt (empty = built-in)
cacheSize

Dependencies

  • No API key, no separate VLM account. Recognition goes through ctx.llm.stream() on the DeepSeek account route; DSH's account service owns the credentials.
  • No image library. Attachment normalization (size, pixels, format validation) is done by DSH's attachment service; the plugin only ships schemastery for config.
  • Node built-ins only beyond that (crypto, path, global fetch / AbortSignal).

Boundaries

  • It does not turn the main model into a multimodal model: the original model still receives only text. It does make image input usable for it via transcription.
  • It does not replace read_image: read_image hands the native image block to an image-capable model; deepseek_vision returns text so any model can consume it.
  • It only accepts PNG / JPEG / WebP / GIF — no PDF, audio or video.
  • Transcription is a lossy summary for dense screenshots: very small text or fine UI details may be missed. Use a stronger visionModel or a more explicit prompt when exactness matters.
  • Images are sent to DeepSeek with the recognition request (that is the point) and are not otherwise persisted by the plugin; the result cache lives in process memory only.

Development

pnpm install
npm test                 # unit tests + BOM + fingerprint/credential + bundle-manifest checks
npm run check-leaks      # fingerprint scan only

prepublishOnly runs npm test, so a package with a failing test, a BOM-prefixed source file, or a machine-specific fingerprint cannot be published. Publish explicitly against the official registry:

npm publish --registry https://registry.npmjs.org/

License

MIT


中文

让 DeepSeek Harness 里的任意主模型都用上 DeepSeek 账号的视觉能力:用 DeepSeek-V4.1-Flash(deepseek-flash,1017 版)识别图片——既可以由模型调用 deepseek_vision 工具,也可以给纯文本主模型自动转译 GUI 里贴的图片。不需要 API Key,不需要另找视觉模型账号,不装图像库。

它做什么

  • 注册模型可见的工具 deepseek_vision:给一个本地 PNG/JPEG/WebP/GIF 路径或 http(s) 图片地址,返回完整文字转译(逐字 OCR、版面结构、视觉元素、关键细节)。
  • 识图后端走 DeepSeek 账号路由(默认 deepseek-account / deepseek-flash),复用 DSH 里已登录的 DeepSeek 账号,插件自身不保存任何凭据。
  • 注册自动转译路由:为每个已注册 provider 加一条 <provider>-vision 路由,对外声明支持图片输入,收到图片后先用 DeepSeek-V4.1-Flash 转成文字,再交给原模型作答。纯文本主模型也能“看到”粘贴的截图。
  • 按图片内容哈希缓存(仅进程内)、合并并发的同图请求、失败图片冷却 60 秒、超时快速失败而不是卡死。
  • 与现有能力并存:纯文本对话零改动直达原模型,原模型、工具与会话历史结构都不变。

安装

dsh plugin --profile <profile> add @caesarloo/dsh-deepseek-account-vision

本地检出目录安装:dsh plugin --profile <profile> add <项目目录>。

安装后重启一次 DSH(bundle 层不支持热重载),再在新会话的工具列表里确认出现 deepseek_vision。开发期也可以用 patch 层 - insert: 指向插件入口文件装载,改完热生效、无需重启。

依赖:DSH >= 0.2.1-rc.2、已登录的 DeepSeek 账号,以及标准的 llm / attachments / fs 服务(随官方 bundle 提供)。

使用

1. 工具——任意主模型都能调

{
  "image_path": "screenshot.png",
  "prompt": "逐字识别所有可见文字,并说明版式"
}

远程图片:

{ "image_url": "https://example.com/chart.png" }

返回 { text, model, source, truncated }。图片本身不会进入主模型上下文,只有转译文字会。自定义 prompt 会原样交给识图模型;留空才使用内置的完整转译提示词。

2. 自动转译路由——给纯文本模型直接贴图

在模型选择器里选 <provider> + 自动识图(id 为 <provider>-vision,可配置),然后照常附加图片。图片块会在原适配器收到请求之前被转译:

GUI 图片 ──▶ <provider>-vision 路由(声明支持图片 → 附件放行)
                  │  每个 image 块交给 DeepSeek-V4.1-Flash 转译
                  ▼
            原模型(收到纯文本,正常作答)

转译文本带 [图片转译] 前缀。转译失败且 failureMode 为默认的 placeholder 时,会插入 [图片转译失败: …] 占位文本并继续对话。

场景用什么
任意模型,图片是文件或 URLdeepseek_vision 工具
纯文本模型,在 GUI 里贴图<provider>-vision 路由
主模型本来就支持图片该轮不需要本插件

配置

默认值随 cordis.patch.yml 提供;在 profile 的 cordis.patch.yml 里用 - id: dsh-deepseek-account-vision 条目覆盖。未列出的键回落到下表默认值。

键缺省含义
visionProviderdeepseek-account识图使用的已注册 provider 路由
visionModeldeepseek-flash识图模型 id(DeepSeek-V4.1-Flash / 1017)
visionMaxTokens4096识图模型输出上限
timeoutMs120000单张图片识图超时
tooltrue是否注册 deepseek_vision 工具
toolNamedeepseek_vision暴露给模型的工具名
autoTranscribetrue是否注册自动转译路由
wrapAllProviderstrue包裹全部已注册 provider(含之后动态注册的)
innerProviders[]wrapAllProviders=false 时要包裹的 provider
routeSuffix-vision路由 id 后缀:<provider><routeSuffix>
routeNameTemplate{name} + 自动识图路由显示名;{name} / {provider} 会被替换
marker[图片转译]每条转译文本的前缀
failureModeplaceholderplaceholder 保住本轮对话;error 让整轮失败
transcribePrompt''覆盖自动转译提示词(留空用内置)
recognitionPrompt''覆盖 deepseek_vision 提示词(留空用内置)
cacheSize200进程内结果缓存条数(0 关闭)
urlTimeoutMs30000下载 http(s) 图片的超时

依赖约定

  • 无 API Key、无独立视觉账号:识图经 ctx.llm.stream() 打在 DeepSeek 账号路由上,凭据由 DSH 账号服务持有。
  • 无图像库:尺寸/像素/格式归一化由 DSH 附件服务完成;插件自身只依赖 schemastery 做配置校验。
  • 其余只用 Node 内建能力(crypto、path、全局 fetch / AbortSignal)。

边界(明确不做)

  • 不把主模型变成多模态模型:原模型收到的仍然只有文字;本插件做的是“把图片转成文字再交给它”。
  • 不替代 read_image:read_image 把原生图片块交给支持图片的模型;deepseek_vision 返回文字,所以任何模型都能消费。
  • 只接受 PNG / JPEG / WebP / GIF,不支持 PDF、音频、视频。
  • 转译对密集截图是有损摘要:极小的字或精细 UI 细节可能丢失;要求精确时换更强的 visionModel 或把 prompt 写具体。
  • 图片只随识图请求发送到 DeepSeek(这正是功能本身),插件不另行持久化;结果缓存只在进程内存中。

开发与发布

pnpm install
npm test                 # 单测 + BOM + 本机指纹/凭据 + bundle 清单一致性检查
npm run check-leaks      # 只跑指纹扫描

prepublishOnly 跑 npm test:单测失败、源码带 BOM、或命中本机指纹/凭据时都发不出去。发布时显式指定官方 registry:

npm publish --registry https://registry.npmjs.org/

License

MIT

200
In-process result cache entries (0 disables)
urlTimeoutMs30000Timeout for downloading an http(s) image

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Experimental Voice Input Bundle@deepseek-ai/dsh-experimental-voice-input-bundle实验性语音输入,使用本地 SenseVoice;首次使用时下载其运行时Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Deepseek Ivideodeepseek-ivideoiPolloWork HyperFrames Video Studio,以及 27 个可编辑视频模板,以原生 DeepSeek Harness 对话视图呈现。Imagegen@dickpy/dsh-imagegen适用于 dsh Web GUI 的 AI 图像生成插件:通过可配置的提供商渠道进行文生图和图生图(gpt-image-2 / grok-imagine-image / nanobanana series / seedream-5.0-pro / dall-e-3,原生支持 xAI Grok Imagine、Google Nano Banana a