jypjypjypjyp/dsh-vqa-agent

Plugin插件 Native原生 ⭐ 2 Vision & Media视觉与多媒体

DSH 插件:vqa_ask 双模型视觉问答 —— 主模型提问 → 视觉模型看图回答,UI 实时展示 QA 过程,支持多模态视觉模型选择

Project Overview项目介绍

This is a native DSH Web plugin that enables visual question answering workflows inside the DeepSeek Harness environment. It exposes a vqa_ask tool that allows the main LLM to send raw image bytes directly to a separate vision model for processing. The DSH UI updates in real time to show the full question-and-answer process from main model prompt to vision model response. It also adds a dedicated settings section where users can select from multiple multi-modal vision model providers, and selections are saved persistently across restarts.

The plugin is built for DSH users who want to add reliable visual QA capabilities to their existing DSH Web setup. A typical workflow starts when a user uploads an image and the main LLM triggers the vqa_ask tool. The plugin automatically detects the actual image format (PNG, JPEG, WebP, GIF) regardless of file extension, then sends the image to the selected vision model and streams the answer back to the user. Follow-up questions about the same image automatically retain image context for consistent results.

Before installation, you first need to install the esbuild dependency as a dev dependency with npm, then run the provided build script to generate the compiled frontend client code. To install the plugin, you manually edit your DSH Web profile’s package.json to add the plugin repository path as a file dependency and add the plugin ID to the dsh.profile.bundles array. After that, run pnpm install in your profile directory, restart the DSH web service, and refresh your browser page to activate the plugin.

这是一个原生DSH Web插件,支持主模型调用vqa_ask工具向指定视觉模型提问,图片字节会完整送达视觉模型,UI会实时展示「主模型提问→视觉模型回答」的完整问答流程。插件还提供了设置页面,支持用户从多供应商多模态模型中选择视觉模型,配置会持久保存。

该插件面向需要在DSH中使用视觉问答能力的用户,典型工作流为用户上传图片后,主模型触发vqa_ask工具,插件自动识别图片真实格式,生成引用后将图片发送给选中的视觉模型,最后流式返回回答结果,还支持同图追问自动携带上下文。

插件需要先安装esbuild依赖,执行构建脚本生成前端产物后才能使用。安装需要手动修改DSH Web profile的package.json,添加仓库依赖并在bundles列表注册,之后执行pnpm安装,重启DSH Web服务刷新页面即可生效。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 2 warnings2 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:jypjypjypjyp/dsh-vqa-agent

把 jypjypjypjyp/dsh-vqa-agent 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-vqa-agent

DSH Web 插件(官方 bundle 形态):主模型调用 vqa_ask 向视觉模型提问,图片字节真实送达视觉模型,UI 实时展示「主模型提问 → 视觉模型回答」的 QA 过程;主设置提供多模态视觉模型选择页。

结构

package.json              # dsh.bundle.patch + dsh.client.platform=web + exports
cordis.patch.yml          # 向 web 组合挂载本插件(Node half)
.dsh-plugin/index.mjs     # Node half:注册 vqa_ask 工具 + webServer 路由
.dsh-plugin/client/index.mjs  # 浏览器 half 源码(esbuild 打包)
.dsh-plugin/client.js     # 构建产物(手改禁止;改源码后 node scripts/build-client.mjs)
scripts/build-client.mjs  # esbuild 构建器(--check 做新鲜度门禁)

构建

npm i -D esbuild          # 首次
node scripts/build-client.mjs   # 生成 .dsh-plugin/client.js
node scripts/build-client.mjs --check   # 校验产物与源码一致

安装到 DSH Web profile

  1. 在 /Users/a1234/.dsh/profiles/web/package.json:
    • dependencies 增加 "dsh-vqa-agent": "file:<本仓库路径>"
    • dsh.profile.bundles 增加 "dsh-vqa-agent"
  2. 在 profile 目录执行 pnpm install(或 pnpm add dsh-vqa-agent@file:<路径>)。
  3. 重启 web 服务并刷新页面。

也可以把本仓库推到 GitHub/GitLab 后用 git 依赖(参考 whale-girl 的 github:vlln/whale-girl#main)。

通信契约

  • Node ↔ 浏览器:webServer 路由(全部 POST JSON):
    • /dsh-vqa-agent/exchange {callId} — 单次问答快照(轮询,流式)
    • /dsh-vqa-agent/image {convKey} — 图片 dataURL(每会话拉一次)
    • /dsh-vqa-agent/transcript {} — 全部会话 QA 记录
    • /dsh-vqa-agent/settings {} — 当前选择 + 多模态模型列表
    • /dsh-vqa-agent/set-model {provider, model} — 设置页选择视觉模型
  • 浏览器 half 由 __ModuleLoader__.load({id, factory}) 挂载,React 经种子词 require("react") 解析(esbuild --external:react),样式直接注入 DOM。

功能

  • 工具 vqa_ask(image, question, model?, provider?, maxTokens?):读文件 → 魔数嗅探真实格式(PNG/JPEG/WebP/GIF,不信扩展名)→ attachments 生成引用 → 图片发给视觉模型 → 流式回答;同图追问自动带上下文。
  • 工具卡片(tool.call.toolview key vqa_ask):主模型提问气泡 + 视觉模型回答气泡 + 缩略图 + 状态徽标(固定深色底,明暗主题均清晰)。
  • Run 面板(tool.view.cordis key self):「双模型 QA 过程」总览。
  • 设置页(settings.section id vqa-vision):从所有提供方中选多模态模型作视觉模型,选择通过 settings 服务写入 settings.yaml 的 vqa: {provider, model} 分节持久保存,重启后仍记住。

默认视觉模型解析顺序

设置页选择 → VQA 配置(settings.yaml 的 vqa: {provider, model})→ 内置默认 momenta-gateway / qwen3.7-plus。

← 上一个 Prev dsh-plugin-manager 下一个 Next dsh-cloudflare →