Back to home

RealAlexandreAI

dsh-gemini-multimodal

No description

Stars
0
Language
TypeScript
Created
Aug 17, 2026
Updated
Aug 17, 2026

Introduction

dsh-gemini-multimodal — eyes and ears for DeepSeek Harness

dsh-gemini-multimodal

Gives DeepSeek Harness multimodal perception: the harness model (e.g. DeepSeek) is text-only, so this plugin delegates seeing/hearing to Gemini — image/audio/video/document understanding, transcription, and image generation.

English · 中文

Why

DeepSeek models are text-only. When a task involves a screenshot, a chart, a voice memo, a video clip, or a PDF, this plugin lets the agent actually look and listen — and keep the judgment in the main model.

Two providers (pick one)

providerwhat it needswhen to use
gemini_apia Gemini API key from aistudio.google.comdefault; direct REST, fast, one HTTP call
antigravity_clilocal agy CLI, signed in with your Google accountno key to manage; uses your Antigravity/Google One quota

Where to get the key (gemini_api): go to aistudio.google.com → sign in with your Google account → Get API key → Create API key. Keys start with AIza... or AQ. — both work. Pro/Google One subscribers get the same free-tier API quota (image generation is rate-limited on the free tier).

antigravity_cli setup: curl -fsSL https://antigravity.google/cli/install.sh | bash, then run agy once and sign in. No key needed.

Quick start

dsh plugin --profile web add dsh-gemini-multimodal

Configure in your profile/settings layer:

- id: gemini-multimodal
  name: dsh-gemini-multimodal
  config:
    provider: gemini_api        # or antigravity_cli
    api_key: <your gemini key>  # only for gemini_api
    # output_dir: /path/for/images   # generated images land here (default OS temp)

Tools

toolwhat it does
media_understandanalyze an image / audio / video / URL (OCR, charts, UI, spoken words)
media_transcribeverbatim text of audio/video, timestamps where useful
image_generatetext prompt → PNG saved locally (free-tier image quota is low; 429s possible)
read_documentsummarize or answer questions about PDF / Office / text files

Security notes (antigravity_cli)

Headless agy -p cannot prompt for permissions, so the plugin passes --dangerously-skip-permissions by default. That grants the agent full tool access for that run. To tighten: set skip_permissions: false and add allow-rules in ~/.gemini/antigravity-cli/settings.json (e.g. read_file(...), deny shell). Prefer gemini_api when you need a narrower trust boundary.

Privacy

  • gemini_api: media is sent inline (base64) to Google's Gemini API — nothing stored by the plugin, key lives in your config only.
  • antigravity_cli: media is read by the local agent and sent to Google per the agy flow.
  • Nothing is logged by this plugin.

Development

npm install
npm run typecheck
npm test          # mime mapping / agy args / smoke (no network)
npm run build

License

MIT