Top.Mail.Ru

Как DeepSeek помог мне создать плагин, который выглядит на миллион… но пока не работает (и это нормально)

Как DeepSeek помог создать плагин для WordPress с ИИ

Последние несколько дней я почти не выходил из-за компьютера. Писал плагин для WordPress, который должен автоматически собирать новости из RSS, переписывать их через нейросети, генерировать картинки и публиковать на сайт. С помощью DeepSeek я набросал почти 2000 строк кода, настроил структуру, вкладки, формы, интеграцию с API YandexGPT и YandexART. Всё выглядит идеально. Меню в админке — как у топовых плагинов. Логи пишутся, настройки сохраняются, cron-задача планируется. Красота!

Но есть нюанс. Проверить работоспособность я пока не могу — ошибка. Где-то зарылась маленькая, хитрая нестыковка, которая не даёт плагину запуститься. И знаешь? Я не расстраиваюсь. Наоборот — это самое интересное! Мы с DeepSeek уже начали охоту на баг, и она обещает быть увлекательной.

Сегодня расскажу, как создавался этот плагин, почему я в восторге от результата, даже несмотря на ошибку, и какую интригу оставим для следующей статьи.


Откуда взялась идея и почему DeepSeek

Я веду блог milyutin-codes.ru, где делюсь кодом, мыслями и ошибками. Но вести блог — полдела. Нужно публиковать свежие новости, чтобы сайт был живым. А где взять время, если я таксист и свободные минуты — только между заказами?

Я решил автоматизировать рутину: пусть машина собирает новости из RSS, переписывает их (чтобы не было копипаста), придумывает заголовки, теги, даже картинки генерирует. Всё это можно сделать через YandexGPT и YandexART. Оставалось только «склеить» их с WordPress.

Но я — не профессиональный PHP-разработчик. Основы знаю, но писать сложный плагин с нуля — страшно. И тут я вспомнил про DeepSeek. Я уже использовал его для обучения, и он всегда выдавал понятные, структурированные решения. Я решил: «А давай попробуем создать плагин вместе».


Первый диалог: как DeepSeek спроектировал архитектуру

Схема структуры плагина
Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru

Я открыл чат и сформулировал задачу максимально чётко: «Ты — PHP-разработчик с опытом создания плагинов для WordPress. Пишешь чистый, задокументированный код. Ты понимаешь, что плагин будет создаваться с помощью ИИ-помощника (меня), и код должен быть максимально понятным, с комментариями, чтобы я мог легко объяснять его другим. Задача: Создать каркас плагина для WordPress под названием Autonews Publisher».

DeepSeek не просто выдал кусок кода — он спроектировал полноценную архитектуру:

text
autonews-publisher/
├── autonews-publisher.php      # Главный файл
├── includes/
│   ├── class-settings.php      # Настройки (8 вкладок!)
│   ├── class-rss-fetcher.php   # Парсинг RSS
│   ├── class-yandex-gpt.php    # YandexGPT и YandexART
│   ├── class-publisher.php     # Публикация постов
│   ├── class-logger.php        # Логи в БД
│   ├── class-cron.php          # Планировщик
│   └── class-email.php         # Уведомления
├── assets/
│   ├── css/admin.css
│   └── js/admin.js

Он сразу разбил функционал на классы, чтобы код был модульным и поддерживаемым. Каждый класс получил подробные комментарии на русском языке — я мог разобраться даже в сложных местах.


Как мы создавали каждую часть (и почему она выглядит идеально)

DeepSeek
Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru

1. Страница настроек — как в дорогих плагинах

DeepSeek предложил использовать стандартные API WordPress: add_settings_section, add_settings_field, register_setting. Он создал восемь вкладок: Общие, RSS, Публикация, SEO, Внутренние ссылки, Уведомления, Планировщик, Логи.

Каждое поле — с nonce-защитой, валидацией и санитизацией. Например, для API-ключа используется тип password, для RSS — таблица с добавлением/удалением, для выбора рубрики — wp_dropdown_categories. Всё выглядит аккуратно и профессионально.

Особенно порадовала вкладка «Логи»: таблица с датой, статусом, сообщением и ссылкой на пост, кнопки «Очистить» и «Экспорт CSV». Это уровень коммерческих решений.

2. RSS-парсер с обработкой ошибок

Класс Autonews_RSS_Fetcher использует wp_remote_get и SimpleXML. Если лента недоступна или пустая, он пишет в лог и не падает. Это важно для стабильности.

3. Интеграция с YandexGPT — настоящий хардкор

DeepSeek написал методы для генерации заголовка, рерайта, ALT-тега и тегов. Он использовал официальный API Yandex: https://llm.api.cloud.yandex.net/llm/v1alpha/instruct. В запросах — заголовки с Api-Key и Folder ID, обработка ошибок, таймауты. Я просто вставил свои ключи — и всё заработало на уровне тестов.

4. Генерация изображений через YandexART — асинхронность

DeepSeek
Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru

Это была самая сложная часть. YandexART работает асинхронно: сначала отправляешь запрос, получаешь operation_id, потом опрашиваешь статус. DeepSeek реализовал цикл с паузой 5 секунд (до 60 попыток), затем декодирует Base64, сохраняет файл и регистрирует его в медиатеке через wp_insert_attachment. Всё как в документации, только сразу готово к использованию.

5. Публикация — главный герой

Класс Autonews_Publisher объединяет всё:

  • Создаёт пост с переписанным заголовком и контентом.

  • Автоматически определяет рубрику (по ключевым словам — О компании, О человеке, Об ИИ, Об изобретении, Об исследовании).

  • Добавляет теги (не больше заданного числа).

  • Генерирует картинку через YandexART и устанавливает обложку.

  • Заполняет Rank Math (заголовок, описание, фокусный ключевик).

  • Добавляет внутренние ссылки (блок «Читайте также»).

  • Добавляет ссылку на источник.

  • Учитывает задержку и статус (опубликовано/черновик).

  • Пишет логи и отправляет email-уведомления.

Всё это выглядит как идеальный конструктор — каждый шаг продуман, все опции вынесены в настройки.

6. Планировщик — простота и надёжность

DeepSeek реализовал интеграцию с WP-Cron. При активации плагина ставится задача, при деактивации — удаляется. Частота и лимит новостей регулируются из админки.


Ошибка, которая делает историю живой

Когда я собрал все файлы и загрузил их на сервер, я ожидал, что плагин взлетит. Меню появилось. Настройки открылись. Вкладки переключались. Всё выглядело безупречно.

Но при попытке выполнить публикацию (вручную или по крону) — тишина. В логах пусто. Пост не создаётся. Где-то зарылась ошибка, которая не даёт завершить процесс.

Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru
Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru

Я проверил права доступа, логи, конфигурацию сервера — всё ок. Значит, проблема в логике. И это нормально. В программировании баги — это не катастрофа, а часть пути.

DeepSeek уже предложил несколько гипотез: возможно, неправильно передаются настройки, или API возвращает не тот формат, или не срабатывает хук cron. Мы начали пошаговую отладку. Я вставляю error_log, вывожу переменные, проверяю ответы от Yandex. Это кропотливая работа, но она даёт бесценный опыт.


Почему я всё равно в восторге

Даже с ошибкой я считаю проект успешным. Потому что:

  • Визуал и структура — на 10 из 10. Меню, вкладки, формы — всё сделано красиво и интуитивно.

  • Код написан профессионалом. Комментарии, пространства имён, nonce, экранирование — я уверен в безопасности.

  • Я научился работать с API нейросетей. Теперь я понимаю, как отправлять запросы, обрабатывать асинхронность, работать с Base64.

  • DeepSeek стал моим наставником. Он объяснял каждую строчку, предлагал альтернативы, не критиковал, а поддерживал.

Я не проверил плагин на 100%, но визуально и логически он готов. Ошибка — лишь повод углубиться в код и понять его ещё лучше.


Что дальше? Интрига!

В следующей статье я расскажу, как мы с DeepSeek искали и исправляли эту ошибку. Мы уже нащупали нить — возможно, проблема в передаче массива настроек или в неправильном вызове метода publish(). Будем использовать xdebug, логи, тестовые данные. Это будет настоящее детективное расследование.

Обещаю: в следующем посте разберём ошибку по косточкам, покажем код, который её устранил, и поделимся инсайтами. Если ты тоже боишься багов — эта история для тебя. Мы покажем, что даже сложная ошибка — это просто задача, которую можно решить, если подойти с умом.

DeepSeek
Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru

Почему DeepSeek остаётся моим главным помощником

Пробовал другие нейросети — DeepSeek выигрывает:

  • Понимает контекст. Он не просто выдаёт код, а учитывает всю архитектуру WordPress.

  • Объясняет на русском — я могу уточнить любой момент.

  • Терпеливый и дружелюбный. Он не говорит «ты тупой», а подсказывает, как сделать лучше.

  • Скорость. За несколько часов мы сделали то, на что у новичка ушла бы неделя.


Призыв к действию

Если ты тоже мечтаешь о своём проекте, но боишься сложностей — начни. Возьми DeepSeek, сформулируй задачу, и двигайся маленькими шагами. Ошибки неизбежны, но они — часть обучения. Не бойся их, а изучай.

Подписывайся на мой блог, чтобы не пропустить следующую статью о борьбе с багом. Вместе мы разберёмся!


Контакты

милютин код
Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru

Я всегда открыт к общению. Если хочешь спросить о плагине, ошибке или просто поболтать об IT — пиши.

📧 Email: milyutinkv@gmail.com
🌐 Сайт: milyutin-codes.ru
💬 Группа ВК: vk.ru/milyutin_codes

Подписывайся, задавай вопросы, делись идеями. Мы вместе делаем этот путь.


До встречи в следующей статье!

Я уже готовлю материал о том, как отлаживал плагин, какие инструменты использовал и как в итоге победил ошибку. Это будет честный разбор с кодом и эмоциями.

А пока — если у тебя есть предположения, где может быть баг, пиши в комментарии! Мне интересно твоё мнение.

Константин Милютин
Автор блога «Милютин Код»
Продолжение следует…

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *