Tag Regulator
Назначение
Нормализация тегов элементов Zotero на основе контролируемого словаря и использование ИИ для вывода возможных новых тегов.
Этот Workflow вызывает навык tag-regulator на бэкенде Skill-Runner для проверки соответствия тегов словарю и рекомендации релевантных тегов.
Сценарии использования
- Пакетная очистка нестандартных тегов
- Автоматическая рекомендация тегов для элементов на основе существующего контролируемого словаря
- Поддержание непрерывных обновлений и уточнений контролируемого словаря
Ограничения ввода
| Тип ограничения | Описание |
|---|---|
| Единица ввода | Родительский элемент |
| Источник данных | Получено от родительского элемента: текущие теги, метаданные (заголовок, авторы, аннотация и т.д.) |
Если существует встроенная полезная нагрузка дайджеста markdown, сгенерированная анализом литературы, Workflow автоматически загрузит её как необязательный контекст для улучшения качества вывода.
Способы запуска
- Прямой выбор одного или нескольких элементов Zotero (родительских элементов)
- После выбора элементов выберите "Tag Regulator" из контекстного меню
Поток выполнения
1. Загрузка контролируемого словаря
└── Чтение tagVocabularyJson из настроек Zotero
└── Разбор списка допустимых тегов в словаре
2. Создание запроса
└── Сбор метаданных родительского элемента и текущего списка тегов
└── Запись контролируемого словаря во временный файл YAML
└── Загрузка в Skill-Runner
3. Обработка Skill-Runner
└── Вызов skill_id: "tag-regulator"
└── Проверка соответствия тегов
└── Генерация предложенных тегов (suggest_tags)
4. Возврат результатов
└── Применение изменений тегов (удаление несоответствующих тегов, добавление рекомендованных тегов)
└── Согласование предложенных тегов с текущим локальным словарём
└── Обработка предложенных тегов (всплывающее взаимодействие)
Логика обработки тегов
- remove_tags: Текущие теги, не находящиеся в контролируемом словаре, будут удалены
- add_tags: Теги, выведенные из метаданных, добавляются непосредственно к элементу
- suggest_tags: Новые теги, предложенные ИИ, требующие подтверждения от пользователя
- digest_markdown: Необязательный контекст обогащения, загружается только когда существует встроенная полезная нагрузка дайджеста markdown
Правила синхронизации в реальном времени
Когда результаты возвращаются, читается последнее локальное состояние:
- Если
suggest_tagуже вошёл в контролируемый словарь, всплывающее окно не показывается; он участвует в обновлении элемента с семантикойadd_tags - Если
suggest_tagуже находится в области промежуточного хранения, он не будет записан в область промежуточного хранения снова - Только предложения, которые остаются необработанными, войдут во всплывающее окно
Оценочная продолжительность
| Сценарий | Оценочное время на статью |
|---|---|
| Без дайджеста (Анализ литературы не запущен) | Приблизительно 1 минута |
| С дайджестом (Анализ литературы уже запущен) | 1-3 минуты |
Если у элемента уже есть дайджест, ИИ будет использовать резюме как дополнительный контекст, что приведёт к более точному, но более длительному выводу.
Всплывающее окно предложенных тегов
Для suggest_tags диалог предлагает пользователю выбрать, как их обработать:
- Добавить: Добавить непосредственно в контролируемый словарь
- Промежуточное хранение: Поместить в область промежуточного хранения для последующего просмотра
- Отклонить: Игнорировать предложение
- Добавить все / Промежуточное хранение всех / Отклонить все: Пакетная обработка
Диалог имеет 10-секундный обратный отсчёт автоматического промежуточного хранения; если время истекло, предложения автоматически помещаются в промежуточное хранение.
Выходы
1. Изменения тегов
- remove_tags: Удалить теги, не находящиеся в словаре, из элемента
- add_tags: Добавить рекомендованные теги к элементу
- Напрямую применяется к выбранным элементам Zotero
2. Обработка предложенных тегов
- Пользователь выбирает, как обрабатывать через всплывающее окно
- Принятые теги: Добавляются в настройку
tagVocabularyJson - Теги в промежуточном хранении: Добавляются в настройку
tagVocabularyStagedJson
Рекомендации по модели
🟢 Достаточно лёгкой модели — регулировка тегов по сути является простой задачей классификации и сопоставления, не требующей самой сильной модели.
Параметры
| Параметр | Тип | Описание | По умолчанию |
|---|---|---|---|
infer_tag | boolean | Включить ли вывод тегов | true |
valid_tags_format | string | Формат словаря | yaml |
tag_note_language | string | Язык для описаний предложений | zh-CN |
Доступные значения valid_tags_format
yaml: Использовать формат YAMLjson: Использовать формат JSONauto: Автоматическое определение
Зависимости
- Контролируемый словарь: Сначала должен быть создан контролируемый словарь, см. Управление тегами
- Бэкенд: Сервис Skill-Runner
- Конфигурация бэкенда: Настройте бэкенд типа Skill-Runner в Менеджере бэкендов
- Навык: Навык
tag-regulatorдолжен быть развёрнут на Skill-Runner
Связанные Workflow
- Управление тегами — Управление контролируемым словарём тегов