soarGuo/dsh-auto-vision0

dsh-auto-vision

Bridges images into text for DeepSeek Harness: when the session's selected model cannot see images, a configured vision model describes them and the descriptions enter the durable session history as folded context rows — your message stays untouched.

包名
dsh-auto-vision
版本
0.1.0
许可证
MIT
最近更新
2026年8月24日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:soarGuo/dsh-auto-vision

Configuration

Zero manual setup for model declarations. By default (autoDeclareInput: true) the plugin scans the llm-pi-ai and llm-deepseek settings sections on startup (and whenever settings/adapters change) and automatically adds image input declarations to every configured model — the step the GUI admission check needs to let images through. Native vision models get the declaration too (they need it to receive images at all). Idempotent; already-declared models are untouched.

The plugin's own section (all fields optional; these are the defaults):

auto-vision:
  visionProvider: deepseek-official              # recognition route
  visionModel: deepseek-v4-flash-vision-exp      # recognition model
  nativeVision:                                  # models that see images natively (untouched)
    [
      { provider: deepseek-official, model: deepseek-v4-flash-vision-exp },
      { provider: deepseek, model: deepseek-v4-flash-vision-exp }
    ]
  autoDeclareInput: true                         # auto-add image declarations (set false to manage manually)

Set autoDeclareInput: false if you prefer to declare input: [text, image] yourself (then follow the manual steps below). Settings hot-reload — no restart needed for config changes.

Manual declaration (only when autoDeclareInput is false)

llm-pi-ai:
  providers:
    {
      my-gateway:
        {
          displayName: My Gateway,
          models:
            [
              { id: my-pro, name: My-Pro, input: [ text, image ] },
              { id: my-vision, name: My-Vision, input: [ text, image ] }
            ],
          baseURL: https://example.com/v1,
          apiKeyEnv: MY_API_KEY
        }
    }

Remember to add the bridged models to nativeVision only if they really see images; otherwise the plugin bridges them (which is the point).