视觉增强的 DeepSeek 适配器:由视觉模型把图片描述成文字,纯文本 DeepSeek 模型再基于描述推理。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:NagasakiSoyo-ui/dsh-llm-deepseek-vision
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
给 DeepSeek Harness 的纯文本模型装上"眼睛"的视觉插件。 Vision-augmented adapter plugin for DeepSeek Harness.
它让纯文本模型能够"看"图片:每个附加的图片先交给另一个视觉模型描述成文字,再由纯文本模型基于描述进行推理。推理模型永远不需要直接处理图片字节——另一个模型是它的眼睛。默认文本推理与图片描述都跑在 OpenCode Zen Go(opencode-go)。
工作原理 / How it works
- 注册一个额外的 provider 路由:DeepSeek (Vision)(
deepseek-vision),对外广告与 DeepSeek 目录相同的模型 id(deepseek-v4-flash/deepseek-v4-pro),但声明[text, image]输入。 - 不带图片的请求:零开销,直接透传给文本推理路由(默认
opencode-go)。 - 带图片的请求:配置的视觉模型把每张图描述成文字(
[Image #N description: …]),图片块被描述替换,纯文本模型再作答。
快速开始 / Quick start
1. 安装插件
推荐(一键安装)——插件已发布到 npm,声明了 dsh.bundle manifest:
dsh plugin --profile web add @deepseek-ai/dsh-llm-deepseek-vision
或从源码安装:
git clone https://github.com/NagasakiSoyo-ui/dsh-llm-deepseek-vision.git
cd dsh-llm-deepseek-vision
npm install
npm run build
然后把构建产物接入你的 Harness 部署。如果你在 Harness monorepo 中开发,将本目录放入 packages/llm/llm-deepseek-vision 并执行 pnpm install 即可。
2. 在组合配置中挂载
在 Harness 的插件组合配置(如 profile 的 cordis.patch.yml)中添加:
- id: llm-deepseek-vision
name: '@deepseek-ai/dsh-llm-deepseek-vision'
config:
# 提供视觉模型的 provider 路由
visionProvider: opencode-go
# 该路由上的视觉模型 id —— 即"眼睛"
visionModel: mimo-v2.5
# 给视觉模型的指令
visionPrompt: 'Describe the attached image in detail…'
# 单次视觉描述的输出上限
visionMaxTokens: 1024
# 实际进行推理的纯文本路由
delegateProvider: opencode-go
# 该路由对外广告的模型目录;默认镜像 DeepSeek 目录
models:
- id: deepseek-v4-flash
name: DeepSeek-V4-Flash
contextWindow: 1000000
- id: deepseek-v4-pro
name: DeepSeek-V4-Pro
contextWindow: 1000000
3. 前置条件 / Prerequisites
视觉 provider 路由必须存在,且其模型被声明为支持图片输入(
input: [text, image])。 对 pi-ai 路由(settings.yaml的llm-pi-ai:段),给模型条目加上图片模态:llm-pi-ai: providers: { opencode-go: { api: openai-completions, baseURL: https://opencode.ai/zen/go/v1, models: [ { id: mimo-v2.5, input: [text, image] }, # ... ] } }视觉模型的 provider 必须能完成认证(在凭据库中配置它的
apiKeyEnv)。Harness 必须挂载持久化附件服务(
dsh-base已内置)。
💡 提示:
mimo-v2.5是 OpenCode Zen Go 目录上最便宜的文图模型(输入/输出 0.14/0.28,与deepseek-v4-flash同价)。kimi-k3要贵得多(3/15)。
4. 使用 / Usage
在模型选择器中选 DeepSeek (Vision) 和一个模型 id(deepseek-v4-flash / deepseek-v4-pro),然后在消息中附加图片。想设为会话默认,把 agent-default-model 指向它:
agent-default-model:
provider: deepseek-vision
model: deepseek-v4-flash
配置项 / Configuration reference
| 字段 | 默认值 | 说明 |
|---|---|---|
visionProvider |
opencode-go |
提供视觉模型的 provider 路由 |
visionModel |
mimo-v2.5 |
视觉模型 id(必须支持 [text, image] 输入) |
visionPrompt |
内置默认提示词 | 给视觉模型的描述指令 |
visionMaxTokens |
无 | 单次视觉描述输出上限 |
delegateProvider |
opencode-go |
接收文字请求并推理的路由 |
models |
DeepSeek 目录镜像 | 该路由广告的模型目录 |
注意事项 / Notes
- 视觉描述每轮都会重新生成:会话日志里如果包含图片,每轮都会重新描述;回放一个视觉轮次会重新运行视觉模型。
- 视觉模型必须能被其 provider 路由解析;手写声明的 pi-ai 路由条目若未声明推理能力,会被按"可关闭思考"处理(发送
off)。
开发 / Development
npm run build # tsc 编译到 lib/
npm test # vitest 单元测试(含视觉/委托双路由桩)
许可 / License
MIT © 2026 NagasakiSoyo-ui
链接
同类插件
liustack/modlens★ 4063
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
ysr666/dsh-vision-router★ 1125
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
Anionex/dsh-vision-toolkit★ 884
让纯文本模型处理视觉任务:粘贴图片后自动切换到 Vision Toolkit 变体,支持图片问答、多图比较、长截图 OCR、截图还原前端 UI、元素定位与像素对比。默认无需 API Key——图片经作者自建的免费服务处理,每台机器每天 100 张;也可改为指向自己的服务商。
dickpy/dsh-imagegen★ 93
面向 DSH Web GUI 的 AI 生图插件:通过可配置的 OpenAI 兼容端点(gpt-image-2 / gpt-image-1 / dall-e-3)实现文生图与图生图,提供 api_url/api_key 设置卡片与侧边栏分栏生图工作台。
fandc520/dsh-comfyui★ 89
让 DeepSeek Harness 的 Agent 直接驱动本地或远程 ComfyUI:comfyui_run / comfyui_object_info / comfyui_workflow 工具生成与编辑图像、视频,附带工作流库(图工作流提取:按分量 / 主流程 / 整体)、加载区分辨率自动匹配、实时队列、SDXL 与 Wan 2.1 模板、配套 skill 与同源媒体代理。
sunxin-ai/dsh-design-qa★ 44
给纯文本模型的设计稿保真判定:`deepseek_vision` 工具从任意 OpenAI 兼容视觉路由借来一只眼,让模型判断实现与设计稿是否一致——并附上支撑该判定的基准(4 组夹具、23 处注入缺陷、逐格原始输出)与其依赖的提问纪律。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。