前言¶
在 DSH 里接入自定义模型时,你可能会遇到这样的情况:端点本身支持多模态,但在对话框里发图却直接报「不支持图片输入」。原因是 DSH 的 host 端会读取模型条目上的 input: ["text","image"] 声明来决定是否把原图直通给该模型,而「设置 → 模型 → 模型目录」的界面一直没有暴露这个声明的入口。
dsh-vision-plugin 要解决的就是这一步:在模型目录的模型页上补一个「图片输入」勾选框,勾一下,声明就写进 DSH settings,自定义模型就能在对话框里直接收图。
它是什么¶
dsh-vision-plugin 由 nexsjournal 维护,当前版本 1.1.1,MIT 许可证。一句话定位:给 DSH 的模型目录补上「图片输入」声明勾选框——勾一下,自定义模型就能在对话框里直接收图。
它是一个纯 host 插件,「设置 → 插件 → 插件配置」里不会出现它的卡片,这是正常现象,不是安装失败。
核心功能¶
- 在每次 DSH 启动时,幂等地给「设置 → 模型 → 模型目录」的模型页装上「图片输入」勾选框;
- 勾选 = 给该模型写
input: ["text","image"],走模型页自身的保存流程存进 DSH settings;取消勾选 = 清除该字段; - 数据完全走 DSH 原生,插件停用或卸载都不影响已保存的声明继续生效;
- 附带一条 BYO(自带端点)视觉中继:注册
visionprovider 和vision_analyze、vision_status、vision_test、vision_configure4 个工具; - 通过
vision_configure或环境变量DSH_VISION_*热配置 Base URL / 模型 / API Key 三项,不内置任何端点与密钥。
补丁机制是防御式的:已打过就跳过;锚点不匹配就跳过并记警告日志,不会写坏文件。
安装¶
前提:DSH 已部署(web profile),pnpm 可用(dsh plugin 会转发 pnpm)。包的 engines 要求 node >= 22.19。
npx @deepseek-ai/dsh plugin --profile web add github:nexsjournal/dsh-vision-plugin
安装完成后需要完全退出并重开 DSH。重启后确认三件事:
- 「设置 → 插件 → 插件列表」出现
vision-plugin一行(已启用); - 「设置 → 模型 → 模型目录」,展开任意模型,「最大输出 token」下方出现「图片输入」勾选框;
- 「设置 → 插件 → 插件配置」没有本插件的卡片——纯 host 插件,正常。
依赖说明:本包把 @deepseek-ai/* 声明为 optional peerDependencies,安装时不额外拉取,运行时由 profile 依赖树解析,标准部署自带。桌面端与网页版共用 web profile,装到 web 即两端都生效。
怎么勾选¶
以给自定义路由下的模型声明图片输入为例:
- 「设置 → 模型」,选中你的自定义路由;
- 进入「模型目录」,点模型行右侧的
>箭头展开; - 勾选「上下文窗口 / 最大输出 token」下方的「图片输入」;
- 回到对话框,模型选择器选到该模型,直接发图(原图直通)。
注意:勾选只是声明。生效前提是该路由的端点真的能处理图片,DSH 不会替端点识别。
启用与停用¶
「插件列表」本身是只读的,启用 / 停用通过 profile 补丁文件 ~/.dsh/profiles/<profile>/cordis.patch.yml 控制。
停用:在顶层数组加一个条目,然后重启 DSH:
- id: dsh-vision-plugin
disabled: true
启用:删掉该条目,或把 disabled 改为 false,重启 DSH。
停用后模型页勾选框补丁不再维护,但已装上的勾选框和已保存的 input 声明继续有效——数据走 DSH 原生,不依赖插件存活。
附带的视觉中继¶
除了勾选框,插件还附带一条 BYO(自带端点)视觉中继:host 端注册 vision provider 和 4 个工具——vision_analyze(识别图片文件)、vision_status(状态自检)、vision_test(端点连通测试)、vision_configure(对话里热配置)。
中继不内置任何端点与密钥,需要你通过 vision_configure 或环境变量 DSH_VISION_* 配置 Base URL / 模型 / API Key 三项。
常见问题与限制¶
模型页展开后没有「图片输入」勾选框时:
- 跑
vision_status,看modelsImageInputCheckbox:skipped > 0说明 DSH 升级改了模型页结构、锚点不匹配(插件不会写坏文件),等插件新版适配; - 对页面做硬刷新(Cmd/Ctrl+Shift+R)再确认。
一个已知的版本边界:补丁针对 dsh-client-ui-settings-models 0.1.0-rc.6 的编译产物。DSH 大版本升级改了模型页后,勾选框会消失(插件记警告日志、不写坏文件),需要插件发布新版适配。
安装前的检查¶
和所有 DSH 插件一样,本插件以当前 dsh 进程的权限运行。安装第三方插件前,建议先到 GitHub 仓库阅读源码、确认许可证(本项目为 MIT)再决定是否安装。
结尾¶
dsh-vision-plugin 的价值在于把一个已有但没暴露入口的原生能力补回 UI:不用手改配置,勾一下就完成 input: ["text","image"] 声明,且数据走 DSH 原生,停用卸载都不影响已保存的结果。
- GitHub:https://github.com/nexsjournal/dsh-vision-plugin
- 社区目录页:https://www.skillhub.cn/plugins/nexsjournal/dsh-vision-plugin(该地址来自线索,未能与抓取资料核对,以站点实际收录为准)
DSH 的理念是「一切皆插件」;社区目录是独立站点,与 DeepSeek、幻方没有官方从属关系。