dsh-vision
dsh-vision
DeepSeek Harness(dsh)プラグインと Claude Code(MCP)に視覚能力を提供するツール:ローカルOCR(macOS / Windows)+ クラウドVLM(マルチベンダー)画像理解。
DeepSeek のモデル API は現在画像入力をサポートしておらず、read_image は使用できません。本プラグインはこの制限を回避する2つのツールを提供します:
ツール | 機能 | コスト |
| 画像内のテキストを認識(macOS Vision / Windows 内蔵 OCR、無料オフライン、中英対応) | 無料 |
| 画像の画面内容を理解(クラウド VLM、マルチベンダー、OpenAI 互換エンドポイント) | 従量課金 |
特徴
🔒 ローカル OCR:macOS は Vision.framework、Windows は内蔵 OCR エンジンに基づき、画像は端末から出ず、プライバシー安全
☁️ クラウド VLM:デフォルトは Alibaba Cloud Bailian
qwen3-vl-flash(高速・低コスト)、OpenAI 互換インターフェース、任意のプロバイダーに変更可能🖼️ 自動圧縮:VLM 呼び出し前に
sipsで大きな画像を 2048px / JPEG 85% に圧縮、コストと通信量を節約🔑 柔軟な Key 取得:環境変数または
~/.dsh/.credentials.yaml🧪 ゼロ依存単体テスト:コアロジックを Node 内蔵
node:testでカバー(13 テストケース)🌏 マルチベンダー VLM:Bailian / SiliconFlow / Zhipu / Volcano Engine を内蔵、OpenAI 互換なら任意のベンダーを追加可能
🔌 デュアルフォーム:dsh プラグインとしても、MCP server としても動作(Claude Code などの MCP クライアントで直接使用可能)
🪟 Windows サポート:PowerShell OCR バックエンド(Windows.Media.Ocr)付属、VLM チャネルはクロスプラットフォーム
Related MCP server: DeepSeek Vision Bridge
インストール
方法 A:npm からインストール(推奨)
dsh plugin --profile web add @floatingsk/dsh-vision方法 B:ソースコードからコピー
# 把本仓库拷贝到你的 dsh profile 插件目录
cp -R dsh-vision ~/.dsh/profiles/node_modules/dsh-vision方法 C:GitHub Release からプリコンパイル済みバイナリをダウンロード(コンパイル不要、推奨)
メンテナーが v* タグを打つと、GitHub Actions が自動的に2種類の macOS アーキテクチャでコンパイルし、Release に添付します:
本リポジトリの Releases ページを開き、最新バージョンを選択
お使いの Mac のアーキテクチャに合わせてダウンロード:
Apple Silicon(M シリーズ):
vision-ocr-arm64Intel Mac:
vision-ocr-x86_64
プラグインディレクトリに配置し、実行権限を付与:
cp vision-ocr-arm64 ~/.dsh/profiles/node_modules/dsh-vision/bin/vision-ocr
chmod +x ~/.dsh/profiles/node_modules/dsh-vision/bin/vision-ocrOCR バイナリのコンパイル(macOS は Xcode Command Line Tools が必要)
cd ~/.dsh/profiles/node_modules/dsh-vision
# 显式指定 clang 模块缓存目录(沙箱/受限环境下必需)
swiftc -Xcc -fmodules-cache-path="$PWD/.cache" -O bin/vision-ocr.swift -o bin/vision-ocrprofile patch でプラグインを有効化
~/.dsh/profiles/web/cordis.patch.yml(お使いの profile に対応するファイル)を編集し、以下を追記:
- insert:
- id: dsh-vision
name: 'dsh-vision'VLM API Key の設定(describe_image に必要)
以下のいずれかを選択:
# 方式 A:环境变量
export DASHSCOPE_API_KEY=sk-xxx
# 方式 B:写入 dsh 凭据文件
echo 'DASHSCOPE_API_KEY: sk-xxx' >> ~/.dsh/.credentials.yamlKey はお使いの VLM プロバイダーのコンソールから取得します(デフォルトは Alibaba Cloud Bailian:bailian.console.aliyun.com)。
dsh を再起動
再起動後、ツールが使用可能になります。注意:新しい会話を開始する必要があります。ツールリストはセッション開始時に注入されます。
使用方法
会話中に画像をディスクに保存し、agent にパスを伝えるだけです:
看下 /path/to/image.png 里有什么
读取 /path/to/截图.png 中的文字Agent が自動的に適切なツールを選択します(テキスト読み取りは OCR、画像内容の確認は VLM)。VLM プロバイダーを指定したい場合は、agent に provider パラメータを渡すよう指示できます(例:bailian / siliconflow / zhipu / volcengine)。
設定
cordis.patch.yml の dsh-vision ノードの config でデフォルト値を上書きできます。
マルチベンダー VLM
国内4社のプロバイダーを内蔵しており、describe_image に provider パラメータを渡して選択できます(空欄の場合は defaultProvider を使用):
- insert:
- id: dsh-vision
name: 'dsh-vision'
config:
defaultProvider: 'bailian' # 默认供应商
providers:
bailian: # 阿里云百炼
baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1'
model: 'qwen3-vl-flash' # 或 qwen3-vl-plus / qwen-vl-ocr
apiKeyEnv: 'DASHSCOPE_API_KEY'
siliconflow: # 硅基流动
baseUrl: 'https://api.siliconflow.cn/v1'
model: 'Qwen/Qwen2.5-VL-7B-Instruct'
apiKeyEnv: 'SILICONFLOW_API_KEY'
zhipu: # 智谱
baseUrl: 'https://open.bigmodel.cn/api/paas/v4'
model: 'glm-4v-flash'
apiKeyEnv: 'ZHIPU_API_KEY'
volcengine: # 火山方舟(豆包)
baseUrl: 'https://ark.cn-beijing.volces.com/api/v3'
model: 'doubao-seed-1.6-vision'
apiKeyEnv: 'ARK_API_KEY'
# 自定义 OCR 二进制路径(默认插件 bin/vision-ocr)
ocrBin: ''
# 上传前压缩最长边(像素)
vlmMaxImageDim: 2048プロバイダー変更:defaultProvider を変更するか、呼び出し時に provider パラメータを指定。新しいプロバイダー追加:providers 配下に任意のキー名を追加(OpenAI 互換エンドポイントなら何でも可)。
推奨ビジョンモデル(Alibaba Cloud Bailian)
モデル | 特徴 |
| 高速・低コスト、日常用途に十分 |
| 品質が高く、やや遅くやや高価 |
| テキスト認識専用、ローカル OCR より強力(要オンライン) |
Claude Code / MCP での使用
本リポジトリにはゼロ依存の MCP server(mcp/server.js)が付属しており、Claude Code(および MCP をサポートする任意のクライアント)でもこの2つのツールを使用できます——Claude Code が視覚をサポートしないモデル(DeepSeek など)に接続している場合でも。
Claude Code への接続
# 全局接入(所有项目可用)
claude mcp add dsh-vision -- node /path/to/dsh-vision/mcp/server.js
# 或者只给当前项目(在项目根目录建 .mcp.json):
# {
# "mcpServers": {
# "dsh-vision": {
# "command": "node",
# "args": ["/path/to/dsh-vision/mcp/server.js"],
# "env": { "DASHSCOPE_API_KEY": "sk-xxx" }
# }
# }
# }describe_image の API Key 読み取り優先順位:環境変数 > ~/.dsh/.credentials.yaml。.mcp.json を使用する場合は env 内で直接設定できます。
検証
claude mcp list # 应看到 dsh-vision
claude mcp test dsh-vision # 或直接问 Claude:看下 /path/to/xxx.png 里是什么MCP server は純粋な Node 実装(stdio JSON-RPC)、サードパーティ依存なし、Node >= 18 で動作。
開発
# 运行单元测试
node --test test/
# 重新编译 OCR 二进制
swiftc -Xcc -fmodules-cache-path="$PWD/.cache" -O bin/vision-ocr.swift -o bin/vision-ocrプラットフォームサポート
機能 | macOS (Apple Silicon) | macOS (Intel) | Windows |
ローカル OCR | ✅ コンパイル済み | ✅ 自前コンパイルまたは Release バイナリ | ✅ PowerShell バックエンド(Windows.Media.Ocr、未実測) |
クラウド VLM | ✅ | ✅ | ✅(純 Node) |
macOS OCR:Vision.framework に依存。リポジトリにはコンパイル成果物は含まれません(
.gitignore参照):Apple Silicon:
npm run build:ocrで自前コンパイル、または GitHub Release のvision-ocr-arm64をダウンロードIntel:
npm run build:ocrで自前コンパイル、または Release のvision-ocr-x86_64をダウンロードv*タグを打って GitHub にプッシュすると、Actions が自動的に2つのアーキテクチャでコンパイルし Release に添付
Windows OCR:
bin/vision-ocr.ps1(Windows 10/11 内蔵 OCR エンジン、中国語 OCR 言語パックのインストールが必要)、プラグインのocrBinでそれを指定:powershell -ExecutionPolicy Bypass -File bin/vision-ocr.ps1 <image> -Json注:このスクリプトは macOS で開発され、Windows では未実測です。issue/PR を歓迎します。
VLM チャネル:Node >= 18(内蔵
fetch)、全プラットフォームで利用可能。
ライセンス
This server cannot be deployed
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Image processing over MCP: compress and split images, generate images and QR codes.
Edit images over MCP with object removal, background removal, and guided generative edits.
Search over 1.85 million captioned images using text, a reference image, or both. Upload a JPEG, PNG, or WebP image as base64, or provide a public HTTPS image URL. Find similar images from a Lightdrift asset ID and retrieve hosted file URLs, source licenses, and attribution. Connect with OAuth or an API key. Searches cost $0.005 ($5 per 1,000); image details are free. Setup: https://docs.lightdrift.ai/guides/images-mcp
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI clients like Claude to understand, analyze, and describe local images via VL models through the MCP protocol.-
- FlicenseNot gradedqualityAmaintenanceBridges text-only AI models to Google Gemini for image analysis, providing structured visual descriptions, object detection, and answers to image-based questions via MCP.-
- AlicenseAqualityBmaintenanceEnables any MCP client to perform image understanding and OCR via any OpenAI-compatible vision-language model. Supports local, private inference without images leaving the machine.220 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides vision capabilities to text-only LLMs via MCP, enabling image understanding, Q&A, OCR, and image processing through cloud multimodal APIs.MIT