Эта учетная запись пользователя является ботом, который использует Node.js , управляемый SD0001 ( обсуждение ). Он используется для выполнения повторяющихся автоматических или полуавтоматических правок, которые было бы чрезвычайно утомительно выполнять вручную в соответствии с политикой ботов . Бот одобрен и в настоящее время активен - здесь можно увидеть соответствующий запрос на одобрение или задачи . Администраторы: если этот бот неисправен или причиняет вред, заблокируйте его . |
Этот бот работает на Wikimedia Toolforge . Он запускается под учетной записью инструмента sdzerobot ( см. Последние задания ). Администраторы: если этого бота необходимо заблокировать из-за неисправности, не забудьте отключить автоблокировку, чтобы это не повлияло на других ботов Toolforge. |
SDZeroBot работает на Node.js и использует бот-фреймворк mwn , также разработанный SD0001 . Большинство задач написано на JavaScript , а новые - на TypeScript . Исходный код доступен на github .
Задачи [ править ]
Отчеты [ править ]
Отчет | Описание | Частота | Последнее обновление | Журналы |
---|---|---|---|---|
WP: Пользовательские скрипты / Большинство импортированных скриптов | Список пользовательских скриптов по количеству пользователей и активных пользователей | Каждые 2 недели | 15 февраля 2021 г. | из-за ошибки |
WP: сортировка AfC + подстраницы | Классификация ожидающих рассмотрения заявок в AfC по темам, прогнозируемым ORES | Каждые 8 часов | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / NPP sorting + subpages | Классификация непрорецензированных статей по тематике ORES | Каждые 12 часов | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / PROD sorting | Классификация статей, предлагаемых к удалению PROD, по тематике ORES | Каждые 4 часа | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / AfD sorting | Классификация статей, номинированных на удаление в AfD, по темам ORES | Каждые 4 часа | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / Draftify Watch | Отслеживает статьи, перемещаемые в область черновика | Еженедельно | 16 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / PROD Watch | Отслеживает статус статей, предложенных для удаления в WP: PROD | Еженедельно | 17 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / Redirectify Watch | Отслеживает конверсии статей в редиректы | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / G13 Watch | Записывает выдержки из проектов, номинированных на исключение G13 | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / Недавние отклонения AfC | Списки недавно отклоненных проектов AFC с выдержками и другими данными | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / G13 скоро | Перечисляет проекты, которые будут допущены к G13 через неделю. | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / G13 скоро сортировка | Классифицирует проекты, которые скоро будут допущены к G13, по темам ORES | Еженедельно | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / G13 соответствует требованиям | Перечисляет проекты, соответствующие требованиям G13, с описаниями и выдержками. | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / GAN sorting | Классифицирует статьи, ожидающие рассмотрения в GA, по темам ORES | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / Отзывы коллег | Аннотированный список статей, для которых требуется рецензирование | Еженедельно | 16 февраля 2021 г. | из-за ошибки |
Пользователь: SDZeroBot / Unreferenced BLPs | Аннотированный перечень безымянных BLP для женщин в красном | Повседневная | 22 февраля 2021 г. | из-за ошибки |
Другие непрерывные задачи [ править ]
BRFA | Описание | Частота | Журналы |
---|---|---|---|
BRFA | Уведомитель AfD Уведомлять пользователей о выдвижении AfD статей, в создание которых они внесли значительный вклад | Повседневная | из-за ошибки |
BRFA (в процессе) | Монитор активности ботов: отслеживает активность полностью автоматических ботов и сообщает о тех, которые не работают. При желании также уведомляет соответствующих операторов. | Непрерывный |
Одноразово / по запросу [ править ]
BRFA | Описание | Частота |
---|---|---|
BRFA | По возможности объедините теги-заглушки на странице (замените X-заглушку и Y-заглушку на XY-заглушку или YX-заглушку, если таковая существует) | Один раз |
BRFA | Повторно отсортируйте статьи-заглушки по географическому принципу с помощью более конкретных тегов-заглушек | По запросу, по требованию |
- | Созданы списки в User: SDZeroBot / Category циклы, идентифицирующие циклы в дереве категорий | Один раз |
BRFA | Добавление {{ Черновики перемещены из основного пространства }} в черновики, перемещенные из основного пространства | Один раз |
BRFA | Добавление {{ Set category }} для установки категорий . | По запросу, по требованию |
Задачи, редактируемые только в пользовательском пространстве, не требуют BRFA.
Как вы составляете отрывки из статей? [ редактировать ]
Хороший вопрос. Выдержки из статей, используемых на многих классификационных страницах SDZeroBot, генерируются с использованием комбинации регулярного выражения и некоторых более формальных методов синтаксического анализа. Исходный код Node.js используется можно увидеть здесь , который также зависит от класса MWN в вики - текста . Этот экстрактор текста также доступен как веб-сервис, размещенный на Toolforge по адресу https://summary-generator.toolforge.org/, с ужасным минимальным пользовательским интерфейсом, но с лучшей конечной точкой API. Инструкции по использованию см. В файле readme на github .
Изначально я рассматривал возможность использования кода из всплывающих окон , но он был слишком запутанным и интегрированным с множеством других всплывающих окон, поэтому я не мог заставить его работать автономно.
Исходный код [ править ]
Весь исходный код, который управляет SDZeroBot, общедоступен через репозиторий github , а также в каталоге / data / project / sdzerobot на Toolforge. Даже журналы (файлы * .out и * .err) являются общедоступными, что по умолчанию не относится к Toolforge. Там же можно просмотреть live crontab, используемый для планирования задач.
Сделать [ редактировать ]
Если вы хотите помочь с этими задачами, свяжитесь со мной.
- Разделите определенные списки сортировки на подтемы.
- Для списка видов спорта (более 1500 страниц) используйте машинное обучение, чтобы разделить этот список по видам спорта.
- Разделите список биографий по профессиям - это можно сделать, просто взглянув на другие темы, по которым были классифицированы биографии.
- Для списков STEM сделайте разделы для основных статей, биографий STEM, СМИ STEM, компаний STEM, ... ( обсуждение )
- Автоматически создавайте краткие описания статей и черновиков.
- У черновиков обычно нет кратких описаний. Они были бы очень полезны при сортировке AfC . Также полезно для списков AfD, NPP и PROD.
- Изучите возможность использования машинного обучения для этого, а в противном случае - другие методы, такие как генератор коротких биографий Trialpears .
- Если это также не дает желаемого уровня точности (особенно для статей, не относящихся к биографии), на самом деле не добавляйте короткие описания к статье, а показывайте их в списках сортировки.
- Рассмотрите возможность создания размещенного в Toolforge веб-интерфейса для списка сортировки AfD, чтобы можно было добавить больше столбцов (видимость которых можно переключать с помощью javascript) на основе идей, изложенных здесь .
- Автоматизируйте деление сортировки тегов AfD с помощью ORES. Работает только для избранных списков удаления сортировки, имеющих соответствующую тему ORES, или
- Автоматизируйте удаление тегов с помощью некоторой настраиваемой модели машинного обучения. Модель может быть обучена на основе тегов delsort, сделанных до сих пор людьми. Сложность здесь в том, что для беспристрастного обучения модели требуется доступ и к содержанию удаленных статей. Простое обучение его на статьях, хранящихся в АдГ, не даст хороших результатов.
- Большой: определите многообещающие шашки AFC с помощью машинного обучения.
- Вероятно, с помощью TemplateStyles улучшите внешний вид таблиц на очень маленьких и очень широких экранах.
- Создавайте единые списки для PROD и AFD, которые включают как обоснование удаления, так и ведущий текст. ПРОД
- Не дублируйте текст номинации в отчете о сортировке AFD для многостраничных номинаций.
- WP: интеграция экспертной оценки
- Пользователь: SDZeroBot / Отклоненные AFC , G13 скоро найдет способы лучше определять плохие и хорошие проекты?
- интегрировать обнаружение ненадежных источников с помощью user: headbomb / unreliable.js
- Инструмент Create articlesearch - показывает выдержки из статей из запросов CirrusSearch - используйте ReactJS
- Создайте универсальный конструктор таблиц из ввода SQL / поискового запроса с настраиваемыми столбцами - в основном эквивалент Listeriabot для запросов SQL.
- Создайте универсальный инструмент мониторинга активности ботов - разрешите настройку задач бота (используя ожидаемые сводки редактирования и т. Д.) И выдавайте предупреждения, если задачи не работают: BRFA
Советы и приемы для операторов ботов [ править ]
Обработка ссылок из черного списка [ править ]
Если SDZeroBot не может сохранить редактирование из-за того, что он вводит ссылку из черного списка спама (что, конечно, не является ошибкой бота, поскольку он, вероятно, просто взял текст для добавления из другого места), он определяет проблемную ссылку из Ответ API и удаляет протокол («http:» или «https:») из ссылки, а затем снова пытается сохранить страницу. Это означает, что ссылка, которая должна была выглядеть как ярлык ссылки, в конечном итоге выглядит как [ярлык ссылки google.com], но наиболее близка к исходной, позволяя редактировать. Кроме того, ссылка все равно была внесена в черный список, поэтому, вероятно, не должна быть активной.
Использовать OAuth [ править ]
Всегда используйте OAuth вместо BotPasswords. Есть все эти преимущества:
- Быстрее: BotPasswords требуется как минимум 3 вызова API, чтобы вывести бота из блока: один для получения токена входа, другой для фактического входа в систему и обычно еще один для получения токенов редактирования. Поскольку OAuth не требует вызова API для начала аутентификации, вам достаточно одного вызова API - для получения токенов.
- Меньшие ошибки: потеря сеанса часто происходит при использовании методов аутентификации на основе файлов cookie. Хорошие бот-фреймворки должны обрабатывать их автоматически, снова входя в систему при получении ответа API assertbotfailed или assertuserfailed, но если ваш нет, вы можете избежать этих проблем, просто используя OAuth. Срок действия токенов OAuth не истекает.
- Не нужно кэшировать файлы cookie: если ваша задача бота выполняется слишком часто (скажем, каждые 10 минут), у вас, вероятно, будет высокая частота входа в систему, если вы не кэшируете файлы cookie входа и не используете их при запуске ботов. Администраторы серверов не одобряют высокий уровень входа в систему . Опять же, с OAuth вам не нужно об этом беспокоиться.
- Более безопасный: я не знаю, почему, но слышал, что OAuth более безопасен.