Метка: Искусственный интеллект

  • Как 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

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


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

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

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

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