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

deepseek

Написано

в

Привет, друг!

Меня зовут Константин Милютин. Если ты читал мой прошлый пост, то знаешь, что я — обычный парень из 1985 года, который работал на заводе, продавал автозапчасти, а сейчас вожу такси, чтобы выкроить время для мечты. Моя мечта — создавать полезные программы. И я на полном серьёзе взялся за амбициозный проект: плагин для WordPress, который автоматически собирает новости из RSS, переписывает их через нейросети, генерирует картинки, заполняет SEO и публикует на сайт.

Звучит как магия, да? Я тоже так думал. Но с помощью 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_sectionadd_settings_fieldregister_setting. Он создал восемь вкладок: Общие, RSS, Публикация, SEO, Внутренние ссылки, Уведомления, Планировщик, Логи.

Каждое поле — с неце-защитой, валидацией и санитизацией. Например, для 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 не будет опубликован. Обязательные поля помечены *