Своим текстовым ИИ-агентам я добавил зрение 👁️ Работаю в OpenChamber (GUI для OpenCode) с DeepSeek V4, GLM 5.1 и 5.2. Хорошие модели, но текстовые. Картинки не воспринимают от слова совсем. Скриншот с ошибкой, референс дизайна: для агента это пустота. Перепечатывать вручную занимало больше времени, чем сама задача. Менять на мультимодальные не вариант: Vision не делает модель сильнее в коде и рассуждениях, а агентские инструкции я уже заточил под GLM и DeepSeek. Видел решения для Pi, но переходить с OpenCode не готов. Поиск привёл к плагину opencode-eyesight, и в процессе настройки он оброс идеями. Так появился Vision Bridge. Как это устроено. Два слоя, каждый делает своё: 1️⃣ Фоновое описание. Плагин opencode-eyesight перехватывает картинку на входе в модель: отправляет во vision-модель, получает текстовое описание, подменяет оригинал. Модель видит только [Image: ...]. Оригинал сохраняется в истории контекста. Процесс полностью автоматический. 2️⃣ Точечный анализ. MCP-сервер describe_image: когда автоописания мало, агент сам вызывает инструмент describe_image(image_path, prompt). Передаёт конкретный вопрос: «прочитай текст ошибки», «какая кнопка активна», «сравни два кадра». Сервер на FastMCP шлёт картинку как base64 на OpenAI-совместимый эндпоинт /v1/chat/completions и возвращает текстовый ответ. Провайдер-агностичный, OpenRouter или neuraldeep, переключается четырьмя env-переменными. Почему два слоя? Плагин даёт общий обзор, но не отвечает на конкретные вопросы по картинке. Без второго слоя агент додумывает детали и галлюцинирует. Дисциплина простая: автоописание даёт базовое понимание, describe_image даёт точный ответ. Агент знает разницу и всегда указывает источник. Модели и провайдеры. • OpenRouter: __Qwen3 VL 30B (instruct, не thinking)__. У OpenRouter 6 провайдеров на эту модель. Выбран Alibaba как самый дешёвый ($0.13/$0.52 за Mtok) и быстрый. Закреплён жёстко через provider.order, allow_fallbacks: false. • Neuraldeep: __Qwen3.6 35B__. Бесплатно. Альтернатива для тех, у кого OpenRouter блокирует аккаунты (РФ, санкции ЕС). Инъекция в системный промпт. Агенту нужна инструкция: как пользоваться мостом и когда звать describe_image. В репо готовые блоки с учётом архитектуры внимания модели: • GLM: sparse attention (top-k), блок в начало промпта + дублирующий якорь в конец • DeepSeek Pro: clipped sparse attention, recency-эффект. Краткий блок + якорь в самый конец • DeepSeek Flash: только якорь, полные body-блоки её дестабилизируют • Generic: для любой другой модели (Kimi, GPT-OSS, и др.) MCP-сервер на Python, конфиги и пошаговый гайд: 🔗 https://github.com/dimkurilo/vision-bridge-opencode #opensource