| name | vision-bridge |
| description | Visual collaboration bridge โ routes images to an external vision model when the primary text model cannot process images. Returns structured analysis for the text model to review and act on. Two-stage workflow: vision model analyzes โ text model reviews and executes. |
Vision Bridge
When the primary text model (e.g., DeepSeek, any text-only LLM) cannot view images, automatically delegate image analysis to an external vision model and return the result for continued conversation and execution.
Trigger Conditions
User-initiated (keyword matching):
- Chinese: ่ง่งๅไฝใ็ๅพใๅๆๅพๅใๆฅ็็ๆงใๅพๅๅๆใๅพ็ใ็ไธไธใๅธฎๆ็็
- English: vision bridge, view image, analyze image, image analysis, visual collaboration
- User explicitly requests analysis of an image file or a directory of images
Auto-triggered (capability detection):
- Primary model attempts to read an image file and receives
[Unsupported Image]
- Primary model recognizes it cannot handle multimodal input
- Task requires visual analysis that the primary model cannot perform
Architecture
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Text model โโโโโโถโ vision_bridge โโโโโโถโ Vision model โ
โ (text-only) โ โ .py script โ โ (multimodal) โ
โ โโโโโโโ โโโโโโโ โ
โ Review+act โ โ text report โ โ Deep analysisโ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
Two-stage workflow:
- Vision model: image โ structured visual analysis โ issue identification โ recommendations (visual layer only, no code suggestions)
- Text model: review analysis โ map to code/actions โ execute changes โ verify
Vision model handles pixel-level reasoning; text model handles code-level execution.
Setup
Set environment variables before use:
Environment Variables
| Variable | Required | Description |
|---|
VISION_API_KEY | Yes | API key for the vision model |
VISION_BASE_URL | No | API endpoint (default: MiMo V2.5 CN) |
VISION_MODEL | No | Model name (default: mimo-v2.5) |
VISION_DOMAIN | No | Optional domain context prepended to every analysis prompt |
Supported Vision Models
Any Anthropic Messages API-compatible multimodal service:
| Model | Base URL |
|---|
| MiMo V2.5 | https://token-plan-sgp.xiaomimimo.com/anthropic/v1/messages |
| Anthropic Claude | https://api.anthropic.com/v1/messages |
| Custom | (your URL) |
Domain Context (optional)
For domain-specific image analysis, set VISION_DOMAIN or use --domain:
export VISION_DOMAIN="You are analyzing medical X-ray images. Look for fractures, lesions, and abnormalities."
python vision_bridge.py xray.png --domain "You are analyzing medical X-ray images."
Agent Execution Reference
The script lives at scripts/vision_bridge.py within this skill directory.
Users interact via natural language โ the agent runs these commands internally.
1. Deep analysis (default)
python scripts/vision_bridge.py <image_path>
Output: Visual Observation โ Issue Identification โ Pattern Analysis โ Recommendations
2. Quick description
python scripts/vision_bridge.py <image_path> --brief
3. Custom question
python scripts/vision_bridge.py <image_path> "What anomalies are visible?"
4. Show model reasoning
python scripts/vision_bridge.py <image_path> --verbose
5. Inject domain context
python scripts/vision_bridge.py <image_path> --domain "Analyzing satellite imagery. Focus on cloud cover, terrain, and water bodies."
6. Inject conversation context (recommended)
Generated by the text model from the current conversation; passed as the system field to the vision model:
python scripts/vision_bridge.py <image_path> --context "Mobile UI screenshot. Observe: layout misalignment, text truncation, overlapping components."
Vision Context Guidance Rules
Before calling the vision model, generate a short neutral --context value based on the current conversation.
Format
[Domain/scene, โค10 words]. Observe: [focus1], [focus2], [focus3 โ noun phrases].
Total length โค 60 words.
Forbidden words
| Forbidden (EN) | Forbidden (ไธญๆ) | Use instead |
|---|
| expect to see / want to see / hope to find | ๆๆ/ๆณ่ฆ/ๅธๆ็ๅฐ | List observation nouns directly |
| should have / ought to / probably has | ๅบ่ฏฅ/ๅบๅฝๆ/ๅฏ่ฝๆ | Remove the presupposition |
| I think / I believe / I assume | ๆ่ฎคไธบ/ๆ่งๅพ | Remove subjective markers |
| please focus on what I care about | ่ฏท้็น็ๆๅ
ณๅฟ็ | Name the specific noun directly |
Example
โ Wrong: This is an app screenshot, I expect buttons to be aligned and text should not be cut off
โ
Correct: Mobile UI screenshot. Observe: button alignment, text truncation, overlapping component regions.
Workflow Example
User: Check what error screenshots/error.png is showing
Text model: [Image request detected โ activating vision-bridge]
โ python scripts/vision_bridge.py screenshots/error.png \
--context "Application error screenshot. Observe: error type, message text, stack trace."
โ Vision model returns: red dialog, title "Connection Refused", port 5432...
Text model: [Reviews analysis]
"Error is PostgreSQL connection refused on port 5432.
Check: Is PostgreSQL running? Firewall rules? Connection string config?"
Text model: [Executes fix]
โ Inspect docker-compose.yml postgres config
โ Verify port in connection string
Vision Model Scope
Should do:
- Describe pixel-level visual phenomena
- Identify issues, anomalies, key information
- Analyze trends and patterns
- Provide visual-layer improvement suggestions
Should NOT do:
- Suggest code changes (no knowledge of the codebase)
- Execute operations (no execution environment)
- Make decisions requiring business context
These boundaries ensure the vision model leverages its reasoning strengths while avoiding uninformed suggestions.
Notes
- Base64-encoded images increase payload size โ keep single images under 10 MB
- Vision model calls typically take 10โ60 seconds
- For batch analysis, loop calls via shell
- Analysis quality depends on the vision model โ use a stronger model for critical tasks
- Never hardcode the API key; always use environment variables