YouCanSee:多档位读图
When to use
- The user gives a local image path or image URL and asks for OCR, a description, or visual question answering.
- The current model cannot inspect images natively, or native image inspection returned an unsupported-image/error result.
- The user explicitly selects a quality tier such as
max,high,medium, orlow.
If the current model can reliably inspect the image natively, use that capability first and do not run the helper script.
Workflow
Confirm the image path or URL. For a local file, the helper accepts images up to 20 MB.
If native vision is unavailable or failed, run:
python scripts/see_image.py <image-path-or-url> [--mode ocr|describe|ask] [--ask "question"] [--tier max|high|medium|low] [--provider N]Parse the single JSON result printed to stdout.
ok: true: usetextas the image evidence and continue the user's task.ok: false: reporterrorfaithfully; useattemptsto explain which candidates were tried.
Do not claim a successful remote vision call when only
--dry-run, local static checks, or Windows OCR was exercised.
Tier selection
| Tier | Use when the user says | Behavior |
|---|---|---|
max |
最强神眼、全力、完全体、最高档、最强、天花板; max, strongest, best quality, highest quality, top quality, maximum, full power |
Highest configured cloud/API tier; default when configured |
high |
高档、好一点、更清晰; high, higher quality, better quality, clearer, more accurate, strong |
Stronger configured cloud/API tier |
medium |
中档、普通、快速、平衡; medium, normal quality, standard quality, quick, fast, balanced |
Middle configured cloud/API tier |
low |
低档、本地、省钱、离线、快一点; low, local, cheap, low cost, offline, fastest, save money |
Local VLM first when configured; Windows OCR fallback on Windows |
When no tier is specified, use YOUCANSEE_DEFAULT_TIER; otherwise choose the highest available configured tier in max → high → medium → low order.
Modes and examples
ocr(default): transcribe visible text; preserve text, numbers, symbols, and tables.describe: describe scene, layout, UI state, and visible text.ask: answer a specific image question with--ask.
python scripts/see_image.py "/path/to/screenshot.png"
python scripts/see_image.py "/path/to/screenshot.png" --mode describe --tier high
python scripts/see_image.py "/path/to/screenshot.png" --ask "表格金额合计是多少?" --tier max
python scripts/see_image.py "/path/to/screenshot.png" --tier low
python scripts/see_image.py "/path/to/screenshot.png" --dry-run
Configuration and safety
- Copy
youcansee.env.exampleto~/.config/youcansee.envand fill in the user's own endpoint and key. Environment variables override file values. - Keep keys only in environment variables or the user's local config file. Never put secrets in this repository, generated logs, or chat messages.
- Configure candidates as
YOUCANSEE_<TIER>_BASE_URL,_API_KEY, and_MODEL; candidates 2–9 use_2_through_9_. The legacyYOUCANSEE_API_KEY,YOUCANSEE_BASE_URL, andYOUCANSEE_MODELnames remain supported as the firstmaxcandidate. YOUCANSEE_LOW_MODE=auto|vlm|ocrcontrols local fallback.lowVLM candidates should use a local endpoint such as Ollama; Windows OCR needs no API key.- The script reads
~/.config/youcansee.env, optional compatibility config~/.config/image-see.env, and platform-specific readable mirrors. It may synchronize the canonical config to those mirrors; do not use this behavior to store credentials in the repository. - The helper sends local images as base64 data URLs to API candidates. Use
--dry-runto inspect the endpoint and redacted payload without making a request.
Limitations
- This skill reads/describes images; it does not generate or edit them.
- API behavior depends on the configured OpenAI-compatible gateway and vision-capable model.
- Windows OCR is available only when the host has PowerShell, Windows Runtime OCR, and the required language pack.