DeepSeek Harness plugin

llm-deepseek-image-admit

DSH 插件:接管 DeepSeek 官方 provider 路由并补 image 输入模态声明,让图片消息通过 apiproxy 准入预检(实际图片由 image-bridge 等插件在 agent/pre-step 转成文字)

Jump to install

Source facts

Repository
Seryta/llm-deepseek-image-admit
Latest update
Aug 14, 2026
Category
Models & Providers
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Seryta/llm-deepseek-image-admit
Plugin: llm-deepseek-image-admit
Author: Seryta

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

llm-deepseek-image-admit — DeepSeek 图片准入

DSH 插件:接管 DeepSeek 官方 provider 路由,给模型元数据补 image 输入模态 声明,让图片消息通过 apiproxy 的准入预检。图片真正进入 agent 循环后由 image-bridge(或同类插件)在 agent/pre-step 转成文字——DeepSeek API 永远不会收到图片

为什么存在

DeepSeek 官方模型声明 inputModalities: ['text'],apiproxy 在图片消息进入 agent 循环前按此拒绝(MODEL_DOES_NOT_SUPPORT_IMAGES)。harness 的三处图片 门禁(发送预检 / 切换模型检查 / read_image 工具)全部由 adapter.resolveModel 返回的 inputModalities 驱动,因此只包装 resolveModel 即完整解锁,无需改 listModels 或其他面。

方案

  • 禁用官方 @deepseek-ai/dsh-llm-deepseek 行(cordis.patch.yml 已带),

由本插件接管同一 provider 路由 deepseek-official——对用户透明, 模型选择器不变;

  • 本插件 = 官方 apply 逻辑的照抄(同一配置面 / settings 集成 / 凭证解析),

唯一差异:resolveModel 返回 { ...info, inputModalities: ['text', 'image'] };

  • 直接 import dsh 安装树里已构建的官方产物,零 pnpm / 零构建。

安装

dsh plugin --profile web add github:Seryta/llm-deepseek-image-admit

安装后重启 dsh web

安装树位置:默认按 ~/.npm-global/lib/node_modules/@deepseek-ai/dsh 推导;dsh 装在其他位置时设置环境变量 DSH_NPM_ROOT(dsh 安装根, 其下 node_modules/@deepseek-ai/...)。

上游漂移与检测

本插件照抄官方 apply glue(见 upstream-baseline.txt 基线快照)。升级 dsh 后 运行漂移检测:

node diff-upstream.mjs

脚本核对三件事:① DeepSeekAdapter / resolveAdapterOptions / Config 三个 import 符号仍存在;② resolveModel(provider, model, signal) 签名未变; ③ 基线关键 apply 片段仍在官方产物中。任一不满足则非零退出,按输出提示 更新本插件或基线。缺省官方产物路径按 homedir 推导,可用 DSH_NPM_ROOT 覆盖,或把官方产物路径作为第一个参数传入。

与同类解法的差异

项目暴露方式本插件的取舍
dsh-vision-proxy注册新 provider route,需手动切换模型本插件接管官方路由,对用户零切换透明
modlens生成模型变体入口本插件不新增模型入口

取舍代价:照抄官方 apply glue 有升级漂移面,由 diff-upstream.mjs 兜底; 若官方大改配置面需同步本插件。

已知限制

  • 本插件只放行图片、不转录图片;不搭配 image-bridge 等 pre-step 转录

插件时,图片会带着原始图片块到达 DeepSeek 适配器被 API 拒绝。

  • 依赖官方包产物路径布局(node_modules/@deepseek-ai/dsh-llm-deepseek 等);

dsh 改变安装布局时用 DSH_NPM_ROOT 适配。

License

MIT