ariesy/dsh-vision

ariesy★ 0JavaScript最后同步: 2026-08-16

在 GitHub 打开

DeepSeek Harness (DSH) dynamic Cordis plugin: global image upload button + configurable vision-model recognition with fallback

README 摘要

dsh-vision 一个运行在 DeepSeek Harness (DSH) 上的动态 Cordis 插件:为 所有会话 提供图片上传能力,并用 可配置的视觉模型 自动识别图片,支持 fallback 回退链。 源码整理为独立项目,存放在 /app/dsh-vision/ 。 功能 能力 说明 📎 全局上传按钮 每个会话的输入框工具行出现上传按钮;选图后图片作为草稿缩略图附加到消息,同时文件保存到该会话工作区的 uploads/ 目录 自动图片识别 消息中的图片由视觉模型识别,识别结果以文字笔记注入模型上下文( [uploaded image recognized by vision model ] ) 任意视觉模型选择 设置页自动列出所有声明支持 image 输入的模型,可任选其一作为主识别模型 Fallback 回退 主模型识别失败(报错或空结果)时自动切换备用模型;可独立开启/关闭 无配置默认行为 未配置时按名称优先( vl / vision / image 匹配)自动选择识别模型,避免误选不支持识别的模型 设计要点 - Host half ( src/host.js ):拦截 llm/stream waterfall。请求含图片时,先对每张图片调用视觉模型识别(不带 system 消息 —— 某些网关只认同一条用户消息内的图片),再把图片块替换为文字笔记。识别请求本身通过 inFlight 防重入保护。 - Client half ( src/client.js ):注册两个 Slot —— conversation.input.left (上传按钮)与 settings.plugins.tab ("图片识别"设置页)。Client 与 Host 之间仅通过包私有 JSON RPC( host.call )通信。 - 配置存储 :动态插件是进程内的,配置保存在进程内存中(主模型/fallback/开关),随插件生命周期;DSH 重启后需重新定义并运行插件。 安装 方式一:动态插件(推荐,无需重启 DSH) src/host.js 与 src/client.js 正是动态插件定义所需的 code.host / code.client 函数体,可直接使用: 1. 获取源码: 2. 在 DSH 中定义动态插件(可通过 GUI 的插件运行卡片,或会话内 cordis define ): - plugin 前缀任取(如 dsv ),插件名 dsh-vision - code.host ← src/host.js 内容 - code.client ← src/client.js 内容 3. 运行该插件并 在运行卡片上批准 。 4. 刷新浏览器页面(动态插件的 Client half 在页面加载时注入): - 输入框工具行左侧出现 📎 上传按钮 - 设置 →…

在 GitHub 查看完整 README →
工具/开发dsh-pluginvision

分类