Разработка и реализация плагинов

Создание плагина с помощью ИИ-агента

Замените заполнитель требований ниже, затем дайте полную инструкцию вашему агенту кодирования:

Прочитайте и следуйте руководству по разработке плагинов 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.

Рабочий процесс выполнения

  1. Вызов: Пользователь нажимает ПРОБЕЛ на файле.
  2. Разрешение: Seer определяет плагин, связанный с расширением файла.
  3. Выполнение: Seer запускает исполняемый файл (например, ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json").
  4. Отображение: После завершения процесса Seer считывает сгенерированный файл, соответствующий ${output_file}.*, и отображает его с помощью внутреннего просмотрщика, соответствующего выходному расширению.

Поддерживаемые типы исполняемых файлов и скриптов

Плагином конвертации может быть любой исполняемый файл, способный обрабатывать ввод/вывод через CLI:

  • Скрипты:
    • CMD-скрипт: cmd_rename
    • BAT-скрипт: bat_epub
    • Скрипт PowerShell: .ps1 (поддерживается из коробки через powershell.exe)
  • Сторонние утилиты:
  • Пользовательские бинарные файлы:

Управление временными файлами

Плагины часто создают промежуточные файлы.

  • Автоматическая очистка: По умолчанию Seer автоматически удаляет временные файлы старше 21 дня.
  • Принудительное удаление: Добавьте ${no_cache} к параметрам вашей команды, чтобы приказать Seer обходить кэш конвертации и сохранять временный вывод в каталог автоматического удаления (autodel/), который автоматически очищается при выходе из Seer.

DLL плагины

Для высокой производительности или глубокой интеграции Seer поддерживает плагины на базе DLL, написанные на C++/Qt и скомпилированные в динамические библиотеки.

Ссылочные проекты

Обратитесь к этим официальным репозиториям для реализации интерфейса плагина:

Проект Назначение
F3DViewer Предпросмотр 3D
OfficeViewer Документы Office
FontViewer Рендеринг шрифтов
JsonTreeViewer Структурный вид JSON
Collections Все