dsh-vision-dashscope

dsh-vision-dashscope

MCP server for recognizing and generating images, videos, and audio via DashScope, with support for large video uploads and local output previews.

Category
Visit Server

README

dsh-vision-dashscope

通过 DashScope / 千问(Qwen) 识别并生成图片、视频、音频的 DSH 插件(MCP server)。专治 Deepseek-omnimodal 等插件「视频大了就不行」的问题:

  • 长视频/大视频直接识别:走百炼临时 OSS 直传(oss:// 临时 URL,单文件上限 1GB,按模型的 max_file_size_mb 校验),不压缩、不损画质;小视频(≤14MB)走 base64 省一次上传。
  • mkv / avi 等浏览器不可播格式也能识别(模型服务端解码抽帧)。
  • 音频:短音频 qwen3.5-omni 直接理解,长音频自动 fun-asr 转写。

工具

工具 说明
recognize_image 本地图片 / 图片 URL → 描述或按任务分析(qwen3.7-flash)
recognize_video 本地视频 / 视频 URL → 描述或按任务分析(qwen3.7-flash;大文件 OSS 直传)
recognize_audio 短音频 qwen3.5-omni 理解;长音频 fun-asr 转写
generate_image 文生图(qwen-image-3.0 等;约 0.18 元/张起)
generate_video 文生视频(wan2.7-t2v / happyhorse-1.1-t2v;约 0.6 元/秒起)
generate_video_from_image 图生视频(wan2.7-i2v 等,首帧图片自动上传临时 OSS)
dashscope_status 查看当前模型与限制配置
  • 识别工具会调用 DashScope 付费 API(按 token 计费,量小价低)。
  • 生成工具必须 confirm=true 才会实际调用付费接口;false 时只返回预计费用(如"预计 3.00 元(5 秒 × 0.6 元/秒)")。
  • 生成结果自动下载到本地输出目录(默认 ~/Downloads/dsh-vision-dashscope,可用 DASH_VISION_OUTPUT_DIR 修改),返回本地路径——配合 dsh-image-preview 可直接在对话里内联预览。
  • 文生图默认额外转一张 JPEG 预览(preview 字段,最长边 1600px / 质量 85,可配),原始 PNG 保留在 files 中——DSH 图片内联上限 5MB,大 PNG(1792×2400 可达 7MB)直接内联会 404,用 JPEG 预览即可正常显示。

安装

需要 Python 3.12+、uv。复制 .env.example 为 .env 并填写 API Key:

git clone https://github.com/ywleeo/dsh-vision-dashscope.git
cd dsh-vision-dashscope
cp .env.example .env    # 填入 DASH_VISION_API_KEY
uv sync

API Key 也可用环境变量:DASH_VISION_API_KEY(缺省回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY)。

DSH 接入

在 ~/.dsh/profiles/web/cordis.patch.yml(用户 patch 层)追加:

- insert:
    - id: mcp-vision-dashscope
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: vision-dashscope
        transport: stdio
        command: /Users/leeo/.local/bin/uv
        args:
          - run
          - --directory
          - /path/to/dsh-vision-dashscope
          - dsh-vision-dashscope
        failOnStartupError: false

重启 dsh web。连接后工具以 mcp__vision-dashscope__recognize_video 等名字出现。

大文件上传原理(长视频关键)

  1. GET /api/v1/uploads?action=getPolicy&model=<model> 获取上传凭证(含 upload_host、签名、max_file_size_mb);
  2. multipart 上传文件到 OSS 临时存储,得到 oss://<key> 临时 URL(有效期 48h,免费);
  3. chat 请求 video_url: {"url": "oss://..."} 并在 header 加 X-DashScope-OssResourceResolve: enable,模型服务端拉取解码抽帧。

参考:上传文件获取临时 URL(阿里云百炼文档)、视觉理解(视频)。

配置(环境变量 / .env)

变量 默认 说明
DASH_VISION_API_KEY — API Key(回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY)
DASH_VISION_IMAGE_MODEL qwen3.7-flash 图片识别模型
DASH_VISION_VIDEO_MODEL qwen3.7-flash 视频识别模型
DASH_VISION_AUDIO_MODEL qwen3.5-omni-flash 短音频理解模型
DASH_VISION_ASR_MODEL fun-asr 长音频转写模型
DASH_VISION_VIDEO_BASE64_MAX_MB 14 视频 base64 阈值,超出走 OSS 直传
DASH_VISION_AUDIO_OMNI_MAX_SEC 300 长音频转写阈值(秒)
DASH_VISION_IMAGE_GEN_MODEL_STANDARD qwen-image-3.0 文生图模型(PRO/MAX 档同理)
DASH_VISION_VIDEO_GEN_MODEL_STANDARD_T2V wan2.7-t2v 文生视频模型(MAX 档 happyhorse-1.1-t2v;I2V 同理)
DASH_VISION_OUTPUT_DIR ~/Downloads/dsh-vision-dashscope 生成结果保存目录
DASH_VISION_MAX_VIDEO_DURATION 10 视频生成时长上限(秒)
DASH_VISION_MAX_TOKENS 4096 输出上限

测试

uv run pytest -q

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured