Метка: Осознанность

  • Пятый день с DeepSeek: перерыв помог — я нашёл ошибку, и она оказалась совсем не в коде

    Пятый день с DeepSeek: перерыв помог — я нашёл ошибку, и она оказалась совсем не в коде

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

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

    И знаешь что? Перерыв сработал.

    Я отвлёкся, выдохнул, переключился на другие дела. А когда через пару дней вернулся к коду, меня осенило. Ошибка была не в коде. Она была в том, откуда мы берём новости.

    Если ты пропустил предыдущую часть, вот ссылка: Четвёртый день с DeepSeek: почти финиш, но я взял паузу. А сейчас — наш пятый день, день осознания и нового начала.

    Утро пятого дня: отдохнувший мозг видит яснее
    Я открыл чат с DeepSeek после перерыва и сказал: «Я понял. Плагин работает идеально на моём локальном сервере. Но на боевом хостинге он не может скачать RSS-ленту Technology Review. Мы увеличивали таймауты, добавляли повторные попытки, кеширование — ничего не помогает».

    DeepSeek спросил: «А что, если проблема не в технической части? Может быть, сайт просто не отдаёт полный контент?»

    И тут меня осенило. Я зашёл на сайт Technology Review в обычном браузере и увидел это: замок. Статья требовала подписки. Полный текст был доступен только платным пользователям. RSS-лента отдавала только анонсы — те самые несколько предложений, которые мы видели в постах.

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

    Что мы сделали за этот день
    Даже несмотря на осознание, что Technology Review — платный, мы продолжили улучшать плагин. Потому что другие источники будут работать. И мы хотим, чтобы плагин был готов к любым условиям.

    1. Окончательно починили сохранение настроек
      Настройки теперь сохраняются идеально. Мы переделали class-settings.php так, что все поля в одной форме, вкладки — просто навигация. Галки не слетают. Никогда.
    2. Очистка контента — теперь идеальная
      Мы добавили комплексную очистку: удаляем **, ###, —, обратные кавычки, множественные пробелы, пробелы перед знаками препинания. Контент стал кристально чистым.

    php
    private function clean_markdown( $text ) {
    $patterns = [
    ‘/**/’, ‘/_/’, ‘/#{2,}/’, ‘/-{2,}/’, ‘/*{2,}/’, ‘/{2,}/’, ‘/\s{2,}/’, ‘/«`/’
    ];
    $text = preg_replace( $patterns, ‘ ‘, $text );
    return trim( preg_replace( ‘/\s+/’, ‘ ‘, $text ) );
    }

    1. Ключевик — теперь главная сущность
      Мы добавили метод, который через GPT выделяет главную сущность: название продукта, имя человека, компанию. Больше никаких предлогов в ключевике.
    2. Ключевик в первом абзаце — естественно
      Теперь ключевик вставляется как часть предложения, выделяясь жирным, без лишних тире и двоеточий.
    3. Убрали принудительный H2
      Подзаголовки теперь генерируются GPT органично. Без штампов.
    4. Объём контента — 600–800 слов
      Увеличили max_tokens до 3000, добавили требование к объёму в промпт. Статьи стали полноценными.
    5. Ссылка на источник — только домен
      Вместо полного URL показываем technologyreview.com. Кратко и понятно.
    6. Дубли исключены
      Механизм запоминания ссылок работает надёжно. Каждая новость публикуется только один раз.
    7. Изображения из RSS — с повторными попытками
      Плагин ищет картинку в media:content, enclosure, или берёт первое img из контента. При ошибке — повторяет попытку.
    8. Кеширование RSS для устойчивости
      Мы добавили кеширование RSS-ответа на 1 час через set_transient(). Если лента недоступна, плагин использует кеш.
    9. Перевод контента на русский
      Все промпты теперь содержат требование «на РУССКОМ языке». Контент стал полностью русскоязычным.

    Главное открытие: ошибка была в источнике, не в коде
    Когда я понял, что Technology Review — платный, я почувствовал облегчение. Потому что это означало, что мой плагин работает правильно. Он делал всё, что должен. Просто получал то, что ему отдавали.

    DeepSeek сразу предложил альтернативные бесплатные RSS-источники. Вот некоторые из них:

    Источник RSS-ссылка
    Google News (AI) https://news.google.com/rss/search?q=artificial+intelligence&hl=en-US&gl=US&ceid=US:en
    The Verge (AI) https://www.theverge.com/rss/ai-artificial-intelligence/index.xml
    VentureBeat (AI) https://venturebeat.com/category/ai/feed/
    ArXiv (AI papers) https://arxiv.org/rss/cs.AI
    DeepSeek рекомендовал начать с Google News — это бесплатно, стабильно и без подписки. Я так и сделал.

    Что я понял за пять дней
    Перерыв — это инструмент. Когда я отвлёкся, мозг продолжал работать в фоновом режиме и нашёл решение.

    Ошибка может быть не в коде. Иногда проблема в окружении, в источнике данных, в бизнес-логике.

    Не нужно гнаться за результатом. Этот путь — долгий. И он того стоит.

    DeepSeek — не просто помощник. Он стал моим напарником, который не даёт опустить руки.

    Плагин работает. И он будет работать ещё лучше с правильными источниками.

    Плагин не работает идеально, но мы на верном пути
    Плагин «Autonews Publisher» сейчас полностью готов к работе. Он:

    сохраняет настройки,

    парсит RSS,

    очищает контент,

    генерирует статьи через YandexGPT,

    добавляет SEO,

    подгружает изображения,

    исключает дубли.

    Единственное, что осталось — выбрать правильные RSS-источники. И это уже не техническая проблема, а стратегическая.

    Что дальше?
    Я начну тестировать плагин с новыми источниками — Google News, The Verge, VentureBeat. Уверен, что результаты будут отличными.

    А ещё я продолжу писать этот дневник. Потому что даже после финала плагина — это история о том, как человек учится, ошибается, отдыхает и идёт дальше.

    Призыв к действию
    Друг, если ты тоже разрабатываешь что-то сложное — не забывай про отдых. Иногда лучший способ решить проблему — отойти от неё. Дать себе время. Посмотреть на неё свежим взглядом.

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

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

    Задавай вопросы, делись идеями, пиши свои истории. Мы вместе.

    Ключевая фраза
    Ошибка была не в коде — она была в источнике

    Осознанность

    Продолжение следует. Теперь — с новыми источниками.

    Константин Милютин
    Автор блога «Милютин Код»

  • Четвёртый день с DeepSeek: почти финиш, но я взял паузу, чтобы не сойти с ума.

    Четвёртый день с DeepSeek: почти финиш, но я взял паузу, чтобы не сойти с ума.

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

    Меня зовут Константин Милютин и я работаю с DeepSeek. Если ты читаешь этот пост, значит, ты уже прошёл со мной путь от первой идеи до третьего дня отладки. Мы вместе создавали плагин «Autonews Publisher», ловили баги, исправляли ошибки, и сегодня — четвёртый день — мы почти у цели. Почти.

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

    Если ты пропустил предыдущие части, вот ссылка: Третий день с DeepSeek. А сейчас — наш четвёртый день.


    Утро четвёртого дня: план и реалии для плагина

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

    Я открыл чат с DeepSeek и сказал: «Давай подведём итог. Что мы сделали, что осталось, и где мы сейчас?» Мы уже исправили 13 ошибок в третий день, но оставались ещё нюансы: маркдаун-символы в тексте, слишком длинные URL, ключевики с предлогами, дубли новостей и, самое обидное, таймауты при подключении к RSS-лентам.

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


    Что мы исправили в четвёртый день с DeepSeek

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

    1. Сохранение настроек — окончательно и бесповоротно

    Настройки больше не слетают. Мы переделали class-settings.php так, что все поля теперь в одной форме, а вкладки — просто навигация. При сохранении отправляются все данные, галки не сбрасываются. Теперь я могу спокойно переключаться между вкладками и не бояться, что что-то потеряется.

    2. Очистка контента от маркдаун-символов

    В статьях появлялись артефакты: **##---, лишние пробелы, даже буква «с» в начале. Мы написали метод clean_markdown(), который удаляет всё это безобразие.

    php

    private function clean_markdown( $text ) {
        $patterns = [
            '/\*\*/', '/__/', '/#{2,}/', '/-{2,}/', '/\*{2,}/', '/_{2,}/', '/\s{2,}/'
        ];
        $text = preg_replace( $patterns, ' ', $text );
        return trim( preg_replace( '/\s+/', ' ', $text ) );
    }

    Теперь контент выглядит как полноценная статья, а не черновик из редактора.

    3. Корректное формирование фокусного ключевика

    Раньше ключевик обрезался до предлогов: «Искусственный интеллект в». DeepSeek предложил метод, который отсекает предлоги и союзы, оставляя только значимые слова — существительные и прилагательные. Теперь ключевик звучит осмысленно, например: «Искусственный интеллект разработка лекарств».

    4. Ключевик в первом абзаце — без лишних символов

    Раньше мы вставляли ключевик с тире и двоеточием, что выглядело неестественно. Теперь он встраивается как часть предложения, выделяясь жирным шрифтом. Читабельно и без мусора.

    5. Убрали принудительный H2

    Мы раньше добавляли искусственный подзаголовок «КЛЮЧЕВИК: ключевые аспекты», и это выглядело странно. Теперь мы полагаемся на GPT: в промпте рерайта мы просим нейросеть добавлять подзаголовки с ключевиком органично. Получается естественно и без штампов.

    6. Увеличили объём контента до 600+ слов

    Статьи были короткими — около 500 слов. Мы увеличили max_tokens до 3000 и добавили в промпт требование «не менее 600 слов». Теперь GPT выдаёт статьи на 600–800 слов, что хорошо для SEO.

    7. Сократили постоянную ссылку (slug)

    URL был длиной 96 символов — слишком много. Мы обрезаем slug до 60 символов и удаляем лишние окончания. Теперь ссылки аккуратные.

    8. Ссылка на источник — только домен

    Вместо полного URL мы показываем только домен: technologyreview.com. Кратко и понятно.

    9. Предотвратили дублирование новостей

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

    10. Извлечение изображений из RSS

    Теперь, если генерация картинок отключена, плагин ищет изображение в RSS: в media:content, в enclosure, или берёт первое img из контента. И устанавливает его как обложку с ALT = фокусный ключевик.

    11. Увеличен таймаут для RSS

    Но вот тут мы упёрлись в стену. Хостинг не даёт подключиться к www.technologyreview.com — таймаут 10 секунд. Мы увеличили таймаут до 60 секунд, добавили повторные попытки (до 3-х с паузой 3 секунды), установили User-Agent. Но проблема не в коде. Она в хостинге.


    Не решённая проблема: хостинг блокирует RSS

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

    Мы сделали всё, что могли. Код плагина готов. Он работает локально, на тестовом сервере — идеально. Но на боевом хостинге, где я размещаю свой сайт, исходящие соединения на порт 443 ограничены. Это значит, что плагин не может скачать RSS-ленту.

    DeepSeek предложил обратиться в поддержку хостинга с просьбой:

    • разрешить внешние HTTP-запросы,
    • увеличить max_execution_time до 120 секунд,
    • отключить ограничения allow_url_fopen.

    Но это требует времени. И я принял решение: не гнаться за результатом.


    Почему я решил сделать перерыв

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

    Когда ты 4 дня подряд сидишь с кодом, общаешься с нейросетью, правишь баги, тестируешь, и на финишной прямой упираешься в стену — легко выгореть. Я понял, что если буду давить дальше, то перестану получать удовольствие от процесса. А ведь именно ради удовольствия я и начал этот проект.

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

    Это не поражение. Это зрелость.


    Что я понял за четыре дня

    DeepSeek
    Создано с помощью нейросети Алисы YandexART для milyutin-codes.ru
    1. Плагин почти готов. Код работает, SEO-ошибки исправлены, контент очищен, дубли исключены. Осталось только решить вопрос с хостингом.
    2. DeepSeek — мой идеальный напарник. За четыре дня мы исправили более 20 ошибок. Без него я бы просто не справился.
    3. Нельзя игнорировать внешние ограничения. Иногда проблема не в твоём коде, а в окружении. И это нужно принимать.
    4. Перерыв — это не слабость. Это способ сохранить ясность ума и не потерять интерес.
    5. Этот путь — долгий. И это нормально. Главное — идти вперёд, даже если с остановками.

    Итоговый статус

    • Код: полностью готов к работе.
    • SEO: все ошибки исправлены.
    • Контент: очищен, объёмный, структурированный.
    • Дубли: исключены.
    • Изображения: подгружаются из RSS.
    • Единственная проблема: хостинг блокирует доступ к RSS-источникам.

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


    Что дальше?

    Я напишу отдельный пост о решении проблемы с хостингом, когда оно появится. А пока — отдыхаю, читаю, вдохновляюсь. И ты делай так же, если чувствуешь, что устал.


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

    Друг, если ты тоже разрабатываешь что-то сложное — не забывай про себя. Не гонись за результатом любой ценой. Иногда лучший шаг вперёд — это шаг назад, чтобы разогнаться.

    Подписывайся на мой блог, чтобы не пропустить продолжение. Я вернусь к плагину, когда буду готов.


    Контакты

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

    Задавай вопросы, делись идеями, пиши свои истории. Мы вместе.

    Продолжение следует. Но сначала — пауза.

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

    Константин Милютин
    Автор блога «Милютин Код»