jypjypjypjyp/dsh-vqa-agent

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

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

Project Overview项目介绍

DSH official bundle plugin that equips the main model with a vqa_ask tool for calling a vision model. Core capability: reads images and sniffs real formats via magic numbers (PNG/JPEG/WebP/GIF, ignoring extensions), delivers the actual bytes to the vision model, and renders the main-model question → vision-model answer flow in real time, carrying context across follow-ups on the same image. Use it for multimodal image understanding and visual Q&A inside DSH Web; the settings page lets you pick a multimodal vision model, persisted under vqa in settings.yaml. Caveat: the client bundle in .dsh-plugin/client.js must be rebuilt with node scripts/build-client.mjs after source changes; use --check to verify freshness.

DSH 官方 bundle 插件,为主模型提供 vqa_ask 工具调用视觉模型。核心能力:读取图片并通过魔数嗅探真实格式(PNG/JPEG/WebP/GIF),将字节数据真实送达视觉模型,UI 实时展示「主模型提问 → 视觉模型回答」的问答过程,同图追问自动带上下文。适用于需要多模态图像理解、视觉问答的场景;设置页可选择多模态视觉模型,选择持久化至 settings.yaml。构建需先 npm i -D esbuild,再执行 node scripts/build-client.mjs,产物在 .dsh-plugin/client.js,手改无效,改源码后须重新构建,并可用 --check 校验新鲜度。

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.yamlvqa: {provider, model} 分节持久保存,重启后仍记住。

默认视觉模型解析顺序

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

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