TGViewer
DEKSDEN notes DEKSDEN notes @deksden_notes · 3.09K subscribers
Post #919 1.36K

Forwarded from Дима Курило (Dima Kurilo)

Своим текстовым ИИ-агентам я добавил зрение 👁️

Работаю в 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
  • 👍 18
  • 🔥 13
  • ❤ 2
  • ❤‍🔥 1
  • 🤯 1
More from @deksden_notes
  1. Sep 29, 2026⚪️ decisions api = jev-like api очень интересно! это прям BIG @deksden_notes
  2. Sep 29, 2026⚪️ Dev Day 2026 Топик для трансляции и обсуждений презентации В комментах ⬇️ @deksden_note…
  3. Sep 29, 2026⚪️ Мысли перед Dev Day В 20:00 мск сегодня у клозедов начинается презентация их эвента - D…
  4. Sep 29, 2026⚪️ Back to Business Решил тут порефлексировать над анонсом от Тибо по поводу подписки $200…
  5. Sep 29, 2026⚪️ Unsloth Desktop (beta) - опенсорс десктоп агент Редкая штука у нас появилась! Новый дес…
  6. Sep 28, 2026⚪️ Sonnet 5.5 Понедельник продолжился слегка неожиданно. Антропики релизнули соннета 5.5,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →