dsh-vision-gemma
by motchii709
README.md
# dsh-vision-gemma
テキスト専用(マルチモーダルじゃない)LLM に「目」を与える DSH プラグイン。
Google AI Studio (Gemini API) の **無料枠** を叩いて、ローカルファイルや URL の画像について
「この画像何?」と質問できる MCP ツールを提供する。
- 実装: ゼロ依存 stdio MCP サーバー (`vision-gemma.mjs`) — `dsh-modrinth-mcp` と同じ方式
- 既定モデル: **`gemma-4-31b-it`** (Free 枠 ~30 RPM / **~14,400 RPD**、画像+テキスト入力)
- 代替モデル: `gemma-4-26b-a4b-it` (MoE・最速、2026-08-30実測 4.8s) /
`gemini-3.1-flash-lite` / `gemini-3.5-flash-lite` (~1,500 RPD、1M ctx)
- 注意: 素のID `gemma-4` は **2026-08-30時点で404(エイリアス廃止)**。実在IDは上記2つのみ
(models/list で確認済み)。`~/.dsh/settings.yaml` の gemini-free プロバイダに残っている
旧ID行も同様に無効
- Gemma 4 は回答に `<thought>...</thought>` の組み込み推論を出すが、サーバー側で剥がして
`answer` には本文のみ返す(生思考は `includeThought: true` で取得可)
- 認証: ホスト環境変数 `GEMINI_API_KEY`(`.credentials.yaml` refs が注入するもの。
`gemini-free` プロバイダと同じキー)。環境変数が空なら `~/.dsh/.credentials.yaml`
を直接読むフォールバック付き
## ツール
| ツール名 | 引数 | 機能 |
|---|---|---|
| `mcp__vision__ask_image` | `image` (パス or URL, 必須), `question?`, `model?`, `maxTokens?` | 画像1枚について質問 → `{model, question, answer, image, usage}` |
| `mcp__vision__compare_images` | `images` (2〜6件), `question?`, `model?`, `maxTokens?` | 複数画像を1回で比較 (デザイン差分・スクショ比較など) |
- `image` はローカル絶対パス (Windows 形式) か `http(s)://` URL。URL はサーバー側で
ダウンロードして base64 インライン化する (Gemini の OpenAI 互換層は URL を fetch しないため)
- 対応形式: PNG / JPEG / WebP / HEIC。インライン上限 18 MB(超過時は再エンコードを促すエラー)
- リトライ: 429/5xx は `retry-after` を見て最大2回
## 登録方法 (profiles/web/cordis.patch.yml)
```yaml
- insert:
- id: mcp-vision
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: vision
transport: stdio
command: 'C:\Program Files\nodejs\node.exe'
args:
- 'C:\Users\motch\Documents\DSH\dsh-vision-gemma\vision-gemma.mjs'
env:
GEMINI_API_KEY: !!js process.env.GEMINI_API_KEY || ''
failOnStartupError: false
toolCallTimeoutMs: 60000
```
要ホスト再起動(または cordis HMR によるホットスワップ)。
## テスト
```powershell
node C:\Users\motch\Documents\DSH\dsh-vision-gemma\test\server-test.mjs
# 実APIを使わないプロトコル試験のみ:
node C:\Users\motch\Documents\DSH\dsh-vision-gemma\test\server-test.mjs --skip-live
```
実API試験は `test/tmp/` に合成 PNG (緑背景に赤円 / 白背景に青三角) を生成し、
色と図形の認識を検証する。クォータ消費は gemma-4 呼び出し 2 回のみ。
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues