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>
30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
# @deepseek-ai/dsh-image-recognition-http
|
|
|
|
A user-configurable HTTP vision provider for `ctx.imageRecognition`. It calls an
|
|
OpenAI-compatible `/chat/completions` endpoint with the image encoded as a data
|
|
URL and returns the recognized text.
|
|
|
|
## Config
|
|
|
|
| Key | Type | Meaning |
|
|
|---|---|---|
|
|
| `baseURL` | string | Endpoint base; `/chat/completions` is appended. Defaults to `https://dashscope.aliyuncs.com/compatible-mode/v1` (Aliyun DashScope compatible-mode); `$DSH_IMAGE_RECOGNITION_BASE_URL` overrides. |
|
|
| `apiKey` | string (secret) | Literal key; prefer `apiKeyEnv`. |
|
|
| `apiKeyEnv` | string (credential-ref) | Credential reference resolved per recognition; defaults to `IMAGE_RECOGNITION_API_KEY` (distinct from the main chat model's `DEEPSEEK_API_KEY`). |
|
|
| `model` | string | Vision model name; defaults to `qwen3-vl-flash` (an image-recognition-specific default, independent of the chat model). |
|
|
| `maxTokens` | number | Generated-token bound; defaults to 2048. |
|
|
|
|
The endpoint and key are editable live through the `image-recognition-http`
|
|
settings section. The key never rides a response: it is resolved per recognition
|
|
from the credentials domain, falling back to the launch environment.
|
|
|
|
A recognition under an initiating Agent appends the log-only
|
|
`image-recognition/llm-request` session event carrying the secret-free request
|
|
body before dispatch.
|
|
|
|
## Known Limitations and Deferred Work
|
|
|
|
- The provider assumes an OpenAI-compatible vision endpoint; non-standard
|
|
endpoints must be adapted via `baseURL`/`model` (or a new provider).
|
|
- `file-path` inputs require an inferable media type from the extension.
|