前言¶
DeepSeek Harness(简称 dsh)是 DeepSeek 开源的智能体运行时,目前仍处于 developer preview。官方页面把设计原则写得很直接:Everything is a plugin——模型适配、工具、技能、会话、沙箱、存储、调度和界面,都做成可替换的插件。装一个插件,等于给当前这条 agent 流水线多挂一块能力,而不必去改 Harness 源码。
社区里已经有不少独立目录在收录这类插件。本文用到的 DeepSeek Harness 插件库 是社区站点,和 DeepSeek / 幻方没有官方从属关系;官方仓库仍以 GitHub topic dsh-plugin 作为发现入口。目录里的安装命令可以抄,源码和许可证还是要自己打开仓库核对。
实际用 dsh 写代码时,另一个问题很快就会冒出来:不少主模型本身是纯文本的,截图、报错图、UI 界面它看不见。你可以把图片路径贴进对话,模型也只能猜。dsh-vision 做的事情比较克制:不改主模型,而是把识图交给你自己配置的外部视觉 API,识别文本再送回当前会话或 agent 工具结果里。下面按仓库 README、package.json 和目录页交叉核对后的内容介绍它。
这是什么¶
dsh-vision 是一款面向 DeepSeek Harness 的工具与能力插件,由 linenxi-ctrl 维护,许可证为 MIT。npm 包名是 @linenxi-ctrl/dsh-vision,当前版本 v0.2.6,主要语言是 JavaScript。README 标明兼容 DeepSeek Harness 0.1.0-rc.6,平台覆盖 Windows、macOS 和 Linux。
一句话定位:给本来没有视觉输入的 Harness 会话,外挂一套可配置地址、密钥、模型名和提示词的识图通道。目录页收录于 2026-08-15。截至 2026-08-18,目录页与 GitHub 仓库均显示 12 颗星。
GitHub 上还有其他同名仓库(例如 oil-oil/dsh-vision),能力和安装命令都不一样。本文只写 linenxi-ctrl/dsh-vision 这一份。
核心功能¶
仓库 README 和目录详情页列出的能力一致,可以分成四块。
1、网页配置按钮与面板。启用 client 插件后,页面右下角会出现一个可拖动的 DeepSeek 鲸鱼圆形按钮。点开后可以填识图 API 地址、密钥、模型名、识图提示词(skill)、HTTP 代理和超时。密钥按 secret 处理,面板回读配置时不会把密钥原文带回来,只报告是否已配置。
2、发送图片识图并自动回传。打开一个会话后,在面板里点「发送图片」选图。插件把图片转成 base64,经同源接口 POST /api/vision/recognize 交给 host 侧的识图服务;识别完成后,文本会自动作为消息注入当前会话,主模型基于这段文本继续作答,不必手工复制粘贴。识别期间右上角会显示「外挂模型正在识图当中」。
3、模型自己截图 + 识图。agent 平面会注册两个工具:screenshot(截屏)和 recognize_image(识图),并注入一段系统提示词,告诉模型「先截图、再把路径交给识图」。直接对模型说「看看我现在屏幕上的报错」,按 README 的用法,模型会走「截图 → 识图 → 基于文本继续」这条路径。recognize_image 也可以直接吃用户拖入或磁盘上已有的图片路径。
4、自动适配识图 API 协议。内置四种协议:OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Google Gemini,默认 protocol=auto,按 apiBase 探测;认不出来时回退 openai-chat。另外提供 custom 模板协议,用 requestTemplate 和 responsePath 去接长尾接口。
识图请求在 host(Node)侧发出,不走浏览器直连外网,因此不受 CORS 限制。图片上限在源码里写死为解码后 20MB。
安装与启用¶
目录页给出的安装命令是:
dsh plugin add github:linenxi-ctrl/dsh-vision
插件会以当前 dsh 进程的权限运行,安装时可能执行代码。装之前应检查源代码仓库和许可证。若需要可复现安装,目录页建议固定 commit 哈希。当前 main 最新提交为 50f6ba065e8cf42c4ecc5a06c4e96dc2d5c69b11(对应 v0.2.6):
dsh plugin add github:linenxi-ctrl/dsh-vision#50f6ba065e8cf42c4ecc5a06c4e96dc2d5c69b11
仓库 README 另外给了 npm 安装方式(需要 Node.js 18+ 与 pnpm),这是作者标注的推荐路径,会把插件装进 web profile,并由 DSH 自动把 cordis.patch.yml 合入 profile layer:
dsh plugin --profile web add @linenxi-ctrl/dsh-vision
# 可选:配置 agent 工具平面,让模型能自己截图 + 识图
node ~/.dsh/profiles/web/node_modules/@linenxi-ctrl/dsh-vision/install.mjs
如果本机没有 pnpm,也可以从 Releases 下载 zip。Windows 双击 install.bat,macOS / Linux 执行 bash install.sh。脚本检测不到 Node.js 时,会尝试从 npmmirror / 华为云 / 腾讯云拉取免安装版,不需要管理员权限。装完后关闭再重新执行 dsh web。
卸载对应 uninstall.bat / uninstall.sh / uninstall.mjs。若当初是 npm 安装的,README 要求先执行:
dsh plugin --profile web remove @linenxi-ctrl/dsh-vision
再跑卸载脚本,清掉 preset 和设置残留。
配置¶
点右下角鲸鱼按钮,或直接改 $DSH_HOME/settings.yaml 里的 vision 段。字段与默认值以 README 为准:
| 字段 | 默认值 | 说明 |
|---|---|---|
apiBase |
https://api.openai.com/v1 |
识图模型基础路径 |
apiKey |
空 | API 密钥 |
model |
gpt-4o-mini |
模型名称 |
protocol |
auto |
auto / openai-chat / openai-responses / anthropic / gemini / custom |
prompt |
仓库内置识图 skill | 可自定义 |
proxy |
空 | 例如 http://127.0.0.1:65532 |
timeoutMs |
60000 |
单次识图超时(毫秒) |
requestTemplate |
空 | 仅 custom:请求体 JSON 模板 |
responsePath |
空 | 仅 custom:从响应取文本的点号路径 |
apiBase 要填到协议对应的基础路径。README 的对应关系是:OpenAI 填到 /v1,Anthropic 填 https://api.anthropic.com,Gemini 填到 /v1beta。填错常见后果是 HTTP 404。
custom 协议的占位符必须裸写、不要加引号,支持 {{model}}、{{prompt}}、{{image}}、{{dataUrl}}、{{mime}}。鉴权默认是 Authorization: Bearer;README 写明需要特殊鉴权头的接口暂不支持。
典型用法¶
用户选图识图。 先打开一个会话,确认右下角有鲸鱼按钮,再点「发送图片」。没有打开会话时,点发送不会有反应。识别文本会自动进当前对话,之后主模型按文本回答。
模型看屏幕。 对 agent 说「看看我现在屏幕上的报错」。前提是 tool.js 已经写进当前 preset 的 agent.cordis.yml,并且这个会话用的就是该 preset。npm 安装后需要再跑一次上面的 install.mjs;zip 一键安装会创建名为 vision 的 agent preset 并设为默认。
截图实现按平台不同:
- Windows:PowerShell +
System.Drawing - macOS:
screencapture - Linux:ImageMagick 的
import
Linux 上如果截图失败,先确认本机装了 ImageMagick。
适用场景与注意事项¶
适合已经在用 DeepSeek Harness Web UI、主模型看不到图、但又有现成视觉 API(OpenAI / Anthropic / Gemini,或兼容这几类协议的中转)的人。典型需求包括:把报错截图、终端输出、网页界面转成文字再交给编码 agent,或者让模型自己截当前屏幕再继续排查。
它不是内置免费视觉模型。没有可用的识图 API 密钥,插件只提供通道,不会自己「长出」眼睛。它也不替代目录里其他视觉插件(例如 modlens、dsh-vision-router);那些项目的链路和输出格式不同,不要按同名去混装、混配。
使用前建议核对这几条:
- 插件以当前 dsh 进程权限运行,能截主屏、读你交给它的本地图片,也会把图片发到你配置的外部 API。安装前看源码和 MIT 许可证,只装自己信任的来源。
- Harness 仍在 developer preview,本插件的 peerDependencies 钉在
@deepseek-ai/dsh-* ^0.1.0-rc.6和@deepseek-ai/cordis ^4.0.1。版本对不上时,优先看仓库 Issues 和 Releases,而不是假设向前兼容。 - 较早的 0.2.4 及之前版本,Release 说明里记录过
cordis.patch.ymlBOM、client 注册 id 等问题,可能导致 DSH 无法启动。当前应使用 v0.2.6。 - 识图失败时按状态码排查:401/403 多半是密钥,404 多半是
apiBase或协议不匹配;结果为空可以手动指定protocol。
小结¶
dsh-vision 把「选图识图回传」和「agent 截图识图」接到同一套 host 侧视觉服务上,协议覆盖常见云厂商接口,并保留 custom 模板。它解决的是纯文本 Harness 看不见图的问题,前提是你自己准备好识图模型和密钥。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-vision-linenxi-ctrl/
GitHub:https://github.com/linenxi-ctrl/dsh-vision