Vision & Multimodal
vision-route
314857493/dsh-vision/packages/vision-route · ★ 2
Registers a `deepseek-vision` provider route: the Web GUI accepts pasted images and transcribes them to text via the free Zhipu GLM vision API before delegating to the DeepSeek adapter.
README body is shown in Chinese.
安装
dsh plugin --profile web add github:314857493/dsh-vision#path:/packages/vision-routeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
Table of contents
给 DeepSeek Harness(DSH)注册一个自动识图包装路由:声明图像输入(inputModalities: ['text','image']),
粘贴到 Web GUI 的图片在请求流里被免费的智谱 GLM 视觉模型(glm-4v-flash 降级链)转译成文字,再委派给真正的
目标适配器。默认是 deepseek-official → deepseek-vision,也可包裹火山方舟等自定义 provider。
完整说明见仓库根目录的 README。
安装
dsh plugin --profile web add dsh-vision-proxy-route
npm: https://www.npmjs.com/package/dsh-vision-proxy-route
或在 profile 的 cordis.patch.yml 中追加:
- insert:
- id: dsh-vision-proxy-route
name: dsh-vision-proxy-route
前提
- DSH
0.1.0-rc.8、0.1.1-rc.1、0.1.1-rc.2、0.1.2-rc.1或0.2.1-rc.2(均通过一次性 Web Profile 安装、启动与卸载验收) - 智谱 GLM 免费 key:环境变量
GLM_API_KEY或ZHIPU_API_KEY(Windows 也可setx GLM_API_KEY "id.secret",插件自动读注册表)
插件通过 DSH 注入的 llm / attachments 服务使用结构化 adapter 契约,不安装或直接导入
@deepseek-ai/dsh-llm、@deepseek-ai/dsh-attachment 等官方运行时包。
权限与证据边界
- 只通过 DSH
attachments服务读取当前请求或明确追问引用的图片,并只向固定的智谱 HTTPS 端点 发送图片字节。 - 只读取 GLM 环境变量;Windows 环境变量缺失时使用固定参数执行系统自带的只读
reg query, 不使用 shell 字符串,也不记录或持久化 Key。 - 无 npm 运行依赖和安装期生命周期脚本;只新增
dsh-vision-proxy-routeEntry ID,不写 DSH Profile 或替换官方组件。完整边界见 SECURITY.md。 - 已验证三个声明版本的一次性 Web Profile 安装、配置合成、冷启动和卸载;rollback、真实用户 Profile、带真实 GLM Key 的端到端结果、Windows 运行和独立安全审计仍未验证。下一验收门槛是 推送固定 Commit 后取得公开 CI 运行记录;这些低层证据不会被表述成真实 Profile 或安全审计通过。
使用
模型选择器切到「DeepSeek + 自动识图」,直接粘贴图片/截图并附带问题即可。后续可用“这张图” “上一张”“第一张”或“两张图对比”等方式追问;路由会在有限的最近用户轮次内选择对应 attachment, 带上本次问题重新分析,并按顺序编号后注入当前消息。弱指代只关联紧邻图片,无关的“登录页面” 或“这个问题”不会触发旧图重传。主模型不需要 DSH 内部绝对路径,用户也无需重复上传图片。
视觉描述会被标成不可信观察数据;图片里的命令或提示词只作为可见文字,不会成为下游模型指令。 临时网络、Key 或限流错误不会进入缓存,恢复后同一问题可以直接重试。
转译失败会替换为 [图片转译失败: ...] 文本,对话不卡死。
自定义 provider
目标 provider 须先在 DSH 中配置并可正常完成纯文本请求。然后为本插件设置:
- insert:
- id: dsh-vision-proxy-route-ark
name: dsh-vision-proxy-route
config:
targetProvider: volcengine-ark
provider: volcengine-ark-vision
displayName: 火山方舟 + 自动识图
| config | 默认值 | 说明 |
|---|---|---|
targetProvider |
deepseek-official |
真正处理转译后文字请求的 provider |
provider |
deepseek-vision |
新包装路由的 ID,必须与目标不同 |
displayName |
DeepSeek + 自动识图 |
模型选择器显示名称;自定义目标时默认使用 <targetProvider> + 自动识图 |
包装路由会在模型枚举、模型解析、重试策略和流请求阶段把自身 provider 映射回 targetProvider,
因此可委派给 dsh-llm-pi-ai 这类同时服务多个 provider 的适配器。