wanshichenguang/dsh-tool-vision

DSH plugin: image_describe (识图) tool over the DashScope OpenAI-compatible vision API (qwen3.7-flash). Bring your own DASHSCOPE_API_KEY.

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

1

Vision

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

预览

功能介绍

通过 DashScope OpenAI 兼容视觉接口提供 image_describe 识图工具;在纯文本模型会话中,将粘贴图片保存为模型可读取的本地路径,并在聊天记录中回显图片。

适合

  • 需要通过工具识别粘贴或拖入图片的纯文本 DSH 会话。
  • 需要描述本地图片或针对图片回答具体问题的 Agent。
  • 希望聊天记录内回显图片、同时让模型获得可读取本地路径的 DashScope 用户。

不适合

  • 没有 DashScope API key 的部署;工具会注册,但调用时失败。
  • 需要使用 DashScope OpenAI 兼容接口以外视觉服务商的团队。
  • 超过默认单图 20 MiB 上限的图片。
  • 要求每次调用前审批、但未另行添加 `tools/pre-execute` 策略的部署。

README

dsh-tool-vision

English 中文

A DeepSeek Harness plugin: the model-facing image_describe(识图) tool. It reads a local image file and asks the DashScope OpenAI-compatible API (qwen3.7-flash) to describe it or answer a focused question.

Works in every agent preset: the bundle patch inserts the tool at the host plane, so every session sees it in the tool catalog.

Install

dsh plugin --profile web add dsh-tool-vision

Restart dsh web (or install it from the Plugin Market with one click). The tool appears as image_describe in the model’s tool catalog.

Paste bridge

On the web surface, pasting or dropping an image into the composer while the session’s model is text-only (positively confirmed from provider metadata) uploads each draft image to the plugin’s host route, releases the draft, and appends [image: <path>] text to the prompt before sending — so the request never trips the host’s image admission, and the model can read the file with image_describe. Vision-capable or unknown models keep the native intake (the image attaches inline, unchanged).

The uploaded copies live in the harness data home ($DSH_HOME/media, default ~/.dsh/media) under the same naming convention as the harness’s own image-to-path conversion.

The sent message also renders the images back inside its user row in the transcript: a conversation node matches the [image: <path>] markers in the user message and displays the copies served by the host route while hiding those transport markers from the visual bubble. The stored path text remains unchanged for the text-only model.

API key

The plugin ships no key. Set the key in the environment that starts DSH:

DASHSCOPE_API_KEY=sk-xxxx

You can also pass it per-row in cordis.patch.yml:

- id: tool-vision
  name: 'dsh-tool-vision'
  config:
    apiKey: sk-xxxx

Without a key the tool registers normally and fails with VISION_NO_API_KEY on use, naming the fix.

Tool

Tool Args Behavior
image_describe path (string), prompt (string, optional) Resolves the image (absolute path, or relative to the workspace), sends it as a base64 data URL plus the prompt to POST {baseUrl}/chat/completions, and returns the assistant text. Omitting prompt uses defaultPrompt (a complete content description).

Config

Key Default Meaning
baseUrl https://dashscope.aliyuncs.com/compatible-mode/v1 DashScope OpenAI-compatible endpoint.
apiKey DASHSCOPE_API_KEY environment variable DashScope API key; an explicit config value wins over the environment.
model qwen3.7-flash Vision model id.
defaultPrompt 请详细描述这张图片的内容:画面主体、关键细节、文字信息(如有)、布局与结构。 Instruction used when a call omits prompt.
timeoutMs 120000 Cooperative tool-call timeout budget (ms).
maxImageBytes 20971520 Cap on one image’s byte size.
maxOutputChars 65536 Cap on the returned description text.

Security

  • No credentials ship with the package; the key stays in your environment or profile config.
  • The HTTP client sets redirect: 'error': the configured endpoint receives the credential, and a redirect fails the call instead of forwarding the key or the image to another origin.
  • The image bytes go only to the configured endpoint.

Known Limitations and Deferred Work

  • Single provider, single request shape — the tool targets the DashScope OpenAI-compatible endpoint only; a provider-selection seam is deferred until a second vision backend needs the same schema.
  • No vision-specific permission policy — the tool executes without requesting ctx.approval; a deployment that needs confirmation must add a tools/pre-execute policy.

License

MIT

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:wanshichenguang/dsh-tool-vision。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。