Files
deepseek-harness/packages/vision
Pine 768bcd4356 fix(image-recognition): keep the vision key on its own ref; add clear-key
Image recognition and the chat model shared DEEPSEEK_API_KEY: the
image-recognition bundle defaulted apiKeyEnv to the model key, so saving one
overwrote the other. Point the bundle at IMAGE_RECOGNITION_API_KEY and guard
both the provider and the settings card against a stale model ref, so vision
never reads or writes the chat key. Also add a clear-key button, default the
model to qwen3-vl-flash on the DashScope compatible-mode endpoint, and send
file images as base64 with a normalized base URL.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-14 23:01:15 +08:00
..

vision/

Image-recognition capability family over the DeepSeek Harness: a Service Definition seam, a user-configurable HTTP vision provider, and the model-facing recognition consumer (tool + skill + deterministic image-task injection). The opt-in bundle composes them for a profile.

Package Role
image-recognition/ Service Definition: ctx.imageRecognition provider registry + selection + ImageRecognitionError
image-recognition-http/ Provider: user-configured OpenAI-compatible chat-completions vision endpoint
tool-image-recognition/ Consumer: recognize_image tool, image-recognition skill, deterministic image-task injection
../bundle/image-recognition Opt-in bundle mounting the seam, provider, and consumer

A capability seam keeps Service Definition / Provider / Consumer roles separate (capability seams); the opt-in bundle is how a deployment turns image recognition on per profile.