6890e87021
Make the HTTP vision provider's configuration independent of the main chat model: the API key default moves from DEEPSEEK_API_KEY to IMAGE_RECOGNITION_API_KEY, and the URL and model get image-recognition-specific defaults (Aliyun DashScope compatible-mode and qwen3-vl-flash) instead of the chat model's deepseek-v4-flash. The provider fails loud when no model is configured. Co-Authored-By: Claude <noreply@anthropic.com>
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.