Разработка и реализация плагинов
Создание плагина с помощью ИИ-агента
Замените заполнитель требований ниже, затем дайте полную инструкцию вашему агенту кодирования:
Прочитайте и следуйте руководству по разработке плагинов Seer на странице https://raw.githubusercontent.com/ccseer/Seer-Plugins/refs/heads/master/plugin_development_guide.md. Относитесь к нему как к единственному источнику правды для архитектуры, plugin.json, реализации, проверки и упаковки. Если руководство недоступно, остановитесь и сообщите об этом перед продолжением.
Перед выполнением любой работы проверьте Requirement (Требование) ниже. Если оно отсутствует, является неизмененным текстом заполнителя или слишком неясным для реализации, задайте один уточняющий вопрос и подождите. Не додумывайте отсутствующее требование.
После прояснения выберите Convert или DLL и кратко обоснуйте выбор, затем реализуйте полный, устанавливаемый плагин в текущем рабочем пространстве. Не изменяйте сам Seer и не останавливайтесь на плане или фрагментах кода.
Следуйте каждому применимому шагу проверки в руководстве и сообщите о фактических результатах. По возможности запустите тест предпросмотра в Seer; в противном случае явно укажите, что проверка во время выполнения не проводилась.
Requirement: [ЗАМЕНИТЕ ЭТОТ ЗАПОЛНИТЕЛЬ запросом к плагину.]
Плагины конвертации
Seer относится к плагинам конвертации как к внешним исполняемым программам. При вызове файла Seer выполняет настроенную программу, передавая пути к файлам через заполнители.
Переменные заполнителей
${input_file}: Абсолютный путь к исходному файлу.${output_file}: Базовый путь к выходному файлу, куда плагин должен сохранить обработанный результат (добавьте желаемое расширение, например${output_file}.json).${use_backslash}: Необязательный флаг для форматирования разделителей путей с использованием обратных слэшей Windows (\).${seer_dir}: Путь к каталогу, где находитсяSeer.exe.${seer_exe}: Абсолютный путь кSeer.exe.${7z}: Абсолютный путь к7z.exe, поставляемому вместе с Seer.
Рабочий процесс выполнения
- Вызов: Пользователь нажимает
ПРОБЕЛна файле. - Разрешение: Seer определяет плагин, связанный с расширением файла.
- Выполнение: Seer запускает исполняемый файл (например,
ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json"). - Отображение: После завершения процесса Seer считывает сгенерированный файл, соответствующий
${output_file}.*, и отображает его с помощью внутреннего просмотрщика, соответствующего выходному расширению.
Поддерживаемые типы исполняемых файлов и скриптов
Плагином конвертации может быть любой исполняемый файл, способный обрабатывать ввод/вывод через CLI:
- Скрипты:
- CMD-скрипт: cmd_rename
- BAT-скрипт: bat_epub
- Скрипт PowerShell:
.ps1(поддерживается из коробки черезpowershell.exe)
- Сторонние утилиты:
dll_lib_exports: Системная утилита Windows- ImageMagick
- exiftool
- Пользовательские бинарные файлы:
Управление временными файлами
Плагины часто создают промежуточные файлы.
- Автоматическая очистка: По умолчанию Seer автоматически удаляет временные файлы старше 21 дня.
- Принудительное удаление: Добавьте
${no_cache}к параметрам вашей команды, чтобы приказать Seer обходить кэш конвертации и сохранять временный вывод в каталог автоматического удаления (autodel/), который автоматически очищается при выходе из Seer.
DLL плагины
Для высокой производительности или глубокой интеграции Seer поддерживает плагины на базе DLL, написанные на C++/Qt и скомпилированные в динамические библиотеки.
Ссылочные проекты
Обратитесь к этим официальным репозиториям для реализации интерфейса плагина:
| Проект | Назначение |
|---|---|
| F3DViewer | Предпросмотр 3D |
| OfficeViewer | Документы Office |
| FontViewer | Рендеринг шрифтов |
| JsonTreeViewer | Структурный вид JSON |
| Collections | Все |