Visual Source Extract
Извлечение цитируемых фактов из изображений, сканов и видео.
Метаданные навыка
| Источник | Встроенный (установлен по умолчанию) |
| Путь | skills/research/visual-source-extract |
| Версия | 1.0.0 |
| Автор | VibeOS |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | research, vision, video, screenshots, pdf, citations |
| Связанные навыки | professional-research, source-critique, choose-interaction-surface |
Справочник: полный SKILL.md
к сведению
Ниже приведено полное описание навыка, которое VibeOS загружает при его активации. Это те инструкции, которые видит агент, когда навык активен.
Навык Visual Source Extract
Извлекайте факты из скриншотов, отсканированных PDF-файлов, диаграмм и коротких видео — с явным указанием неопределённости. Отдавайте предпочтение структурированным инструментам, а не угадыванию по пикселям.
Когда использовать
- Источник — изображение, диаграмма, скриншот интерфейса, отсканированная страница или короткий клип.
- Пользователь спрашивает «что это показывает?» в контексте исследования или комплексной проверки.
- Кадр, полученный через computer-use или браузер, должен войти в цитируемую сводку.
Не используйте для:
- Чистого текста, уже находящегося на диске →
read_file. - Управления живым GUI → сначала навыки
computer_use/ браузера, затем этот навык.
Предварительные требования
vision_analyzeдля статичных изображений (путь или URL).video_analyzeкогда клип является доказательством (а не отдельный ключевой кадр).- Опционально:
computer_use/browser_visionдля захвата кадра. - Вспомогательный скрипт:
scripts/format_visual_facts.pyдля проверки JSON-карточки фактов.
Как запустить
- Захватите или найдите путь/URL медиафайла.
- Задайте инструменту vision/video вопрос для извлечения фактов (числа, подписи, даты, текст интерфейса) — не «опиши атмосферу».
- Заполните карточку фактов ниже. Пометьте каждое утверждение
certain|likely|uncertain. - Проверьте JSON с помощью вспомогательного скрипта перед включением в исследовательскую сводку.
python3 scripts/format_visual_facts.py <<'EOF'
{
"media": {"path": "/tmp/chart.png", "kind": "image"},
"question": "Какие показатели выручки и годы показаны?",
"facts": [
{
"claim": "Выручка 2024 = $12,4 млн",
"confidence": "likely",
"where": "подпись верхнего столбца",
"needs_corroboration": true
}
]
}
EOF
Карточка фактов (на каждый медиафайл)
### Медиа: <имя_файла или URL>
- Тип: image | scan | chart | ui | video
- Инструмент: vision_analyze | video_analyze | browser_vision
- Заданный вопрос: ...
| # | Утверждение | Уверенность | Где на медиа | Требует подтверждения |
|---|-------------|-------------|--------------|-----------------------|
| 1 | ... | certain/likely/uncertain | ... | да/нет |
## Нечитаемое / неопределённое
- ...
## Не утверждать
- Всё, что не имеет видимого подтверждения (не выдумывать оси, логотипы или числа).
Краткая справка
| Медиа | Инструмент |
|---|---|
| Статичное изображение / диаграмма / скан | vision_analyze |
| Короткое видео | video_analyze |
| Пиксели живой страницы | browser_vision, затем указать сохранённый путь |
| Окно нативного приложения | Захват computer_use → vision_analyze |
Процедура
- Отдавайте предпочтение статичным изображениям с возможностью OCR перед видео, если один кадр содержит утверждение.
- Для диаграмм: сначала прочитайте единицы осей, легенду и точные подписи, затем обобщайте.
- Для интерфейсов: цитируйте видимые строки; не делайте выводов о скрытом состоянии.
- Для сканов: отмечайте размытие/обрезание; снижайте уверенность при частичном тексте.
- Передавайте утверждения A/B в навыки
professional-research/source-critique— визуальные извлечения редко являются первичными сами по себе.
Подводные камни
- Модели vision могут выдумывать правдоподобные числа — сохраняйте честность в оценке уверенности.
- Не рассматривайте маркетинговый скриншот как проверенную финансовую отчётность.
- Не пропускайте
needs_corroborationдля любых числовых утверждений, используемых в сводке. - Берегите кэш подсказок: не меняйте наборы инструментов в середине сессии.
Проверка
- Каждое утверждение имеет тег уверенности.
- Перечислены нечитаемые области (или указано «нет»).
- Ни один URL/заголовок не выдуман на основе только изображения.
- Вспомогательный скрипт принимает JSON карточки фактов (
ok: true).