ysr666/dsh-vision-router
Eyes for text-only DeepSeek Harness agents: built-in free vision chain (no key) + pixel-level vision tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots). One-command install, no Python, image turns work like ordinary tool-calling turns.
dsh‑vision‑router – DeepSeek Harness の「目」
何ができるか
- DeepSeek Harness (DSH) プラグインとして、テキスト専用エージェントが画像を損なうことなく視覚処理できるようにします。画像を単なるテキスト説明に変換するのではなく、このプラグインは生の画像をビジョンモデル(または複数の無料ビジョンバックエンド)にルーティングし、LLMが通常のツールとして呼び出せる構造化結果を返します。
なぜ重要か
- 既存のDSHビジョンプラグインの多くは画像の劣化した説明しか提供しません。dsh‑vision‑routerはビジョン側で元のピクセルを保持するため、LLMは追加質問、切り取り、比較、OCRなどを同一画像に対して行うことができます。
- 出荷時から無料で、Python依存なしに動作します。Node ≥ 22上で
sharp、potrace、tesseract、およびシステムChromeを使用してすべてが実行されます。
主な機能
| 機能 | 得られるもの |
|---|---|
| ワンコマンドインストール | npx @deepseek-ai/dsh plugin --profile web add dsh-vision-router(またはdshpm経由)で、DSHに必要なコンポジション行とアドミッションラッパーが自動的にパッチされます。 |
| 無料の匿名フォールバック | APIキー不要のOVHcloudビジョンエンドポイント(IPあたり約2回/分)。Zhipu、DashScope、Intern AIなど、リストされた無料プロバイダーを追加することで、より高いクォータを活用できます。 |
| Python不要 | 画像処理(縮小、グランドイング、切り取り、ピクセル差分、パレット、OCR、SVGトレース、カットアウト、HTMLスクリーンショット)はすべてネイティブNodeライブラリとChromeで実行されます。 |
| マルチステップ画像ワークフロー | 画像処理は通常のツール呼び出しと同様に扱えます:vision_ground → vision_crop → vision_describe → vision_pixel_diff …。エージェントはタスクが完了するまで繰り返し処理できます。 |
| コンテンツハッシュによるキャッシュ | ビジョン結果はキャッシュされ、後続のテキストターンでは再びビジョンモデルを呼び出さずに、保存された説明を再利用します。 |
| 安定したツールスキーマ | プラグイン起動時(またはprogressiveTools:trueで遅延ロード)に11のビジョンツールが登録されます。vision_describe、vision_ground、vision_crop、vision_pixel_diff、vision_ocr、vision_traceなど。 |
| 自動プロバイダーフォールバック | プロバイダーが402/429/5xxエラーを返した場合、チェーンは静かに次のプロバイダーに切り替え、最終的に匿名OVHエンドポイントにフォールバックします。 |
| 透過的なUI | アップロードされた画像はチャットUIにそのまま表示されます。ビジョンツールへのルーティングはモデル呼び出し内でのみ発生するため、会話ログはクリーンなままです。 |
動作概要(高レベル)
- ユーザーが画像をアップロードまたは貼り付け、
+ Auto Visionが付与されたモデルグループを使用している場合。 - DSHは画像ターンを検出し、リクエストを書き換え、ビジョンモデルを最初に呼び出し、プレーンテキスト回答ではなくJSONペイロード(または注釈付きPNG)を返します。
- LLM(DeepSeek)はツール結果を受け取り、追加のビジョンツールを呼び出す、結果をキャッシュする、または会話を継続するかを判断します。
- ビジョンチェーンが成功すると、最終的な回答がユーザーに送信されます。すべてのプロバイダーが失敗した場合、役立つエラーメッセージが表示されます。
インストールとクイックスタート
# 1行(推奨)
npx @deepseek-ai/dsh plugin --profile web add dsh-vision-router
# ローカルのdeepseek‑harnessチェックアウトを実行している場合
cd deepseek-harness
pnpm dsh plugin --profile web add dsh-vision-router
- プラグインバンドルが検出されるよう、DSH Webを再読み込みまたは再起動します。
- チャットコンポーザーでモデルセレクターを開き、
+ Auto Visionが付与されたモデルグループ(例:opencode-go + Auto Vision)を選択します。 - 画像を貼り付けまたはアップロードします。組み込みのOVHフォールバックは既に設定済みなので、APIキーは不要です。
- エージェントのプロンプトで任意のビジョンツールを使用します。例:
vision_ground image="screenshot.png" target="send button" vision_crop image="screenshot.png" region="1067,841,1108,881" vision_describe image="crop.png" question="What does this button say?" json=true
無料のビジョンバックエンド(プラグイン設定のhttpProvidersまたは~/.dsh/.credentials.yamlで追加可能):
- OVHcloud匿名エンドポイント(IPあたり2回/分) – デフォルトのフォールバック。
- OVHcloud鍵付きエンドポイント(プロジェクトあたり400回/分) – より高いクォータ。
- Zhipu bigmodel.cn(無制限トークン、中国直接接続)。
- DashScope、Intern AI、Groq、Google AI Studio、NVIDIA NIM、OpenCode Zen、OpenRouter – 各々独自の無料制限あり(READMEの表を参照)。
典型的なワークフロー
- UI検証 –
vision_html_screenshot → vision_pixel_diffで、再構築されたUIが参照画像と一致しているか確認。 - フォーム自動化 –
vision_groundでボタンを特定、vision_cropでズーム、vision_ocrでラベルを読み取り、その後エージェント経由でクリックを送信。 - ドキュメント抽出 –
vision_long_screenshot_ocrで長いスクリーンショットを分割し、各チャンクにOCRを実行、Markdown出力を結合。
設定のハイライト
progressiveTools: false(デフォルト) – 11のツールが即座に利用可能。cordis.patch.ymlでprogressiveTools: trueを設定すると、開始時にvision_activateのみを公開し、必要に応じて残りをオンデマンドでロード。- ビジョンプロバイダーラインは空のままにしても問題ありません。OVH匿名チェーンは常に最終フォールバックになります。
- キャッシュされた結果は添付ファイルのコンテンツハッシュで保存され、ターン間で「画像記憶」が可能になります。
トラブルシューティング
- 空の設定ページ – v1.4.4で修正済み。このバージョンを使用しているか確認してください。
- モデルグループ選択 – 「+ Auto Vision」エントリを選択する必要があります。それ以外はDSHがプラグインが動作する前に画像を拒否します。
- レート制限エラー – キー付きOVHエンドポイントまたは他の無料プロバイダーをチェーンに追加してください。
結論:dsh‑vision‑routerはDeepSeek Harnessの画像アップロードを、ピクセルの正確性を保ちながら第一級のツール呼び出しに変換します。無料の匿名ビジョンフォールバックを提供し、開始には単一のnpmコマンドのみが必要です。これは単なるデモやカレントリストではなく、本格的なプロダクション対応AIツールプラグインです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch