Node.JS.

Из генерации — в переписку: доводим ответ ИИ‑агента до клиента и CRM на n8n

Всем привет! Напомню: в первой статье я показал дебаунс на Redis, который склеивает дробные сообщения клиента. Во второй — модуль привязки «чат = сделка» и то, почему вебхуки стоит держать в изолированных ключах. Если первые две части были про архитектуру и концепции, то эта — с обилием кода. Я покажу, как именно вырезаются теги, парсятся телефоны и нарезаются абзацы, потому что без кода это превратится в «я просто настроил ноды».

продолжить чтение

Вордстат в чате с Claude, или как я автоматизировал сбор семантики

Всем привет! В предыдущей части этого блога я рассказывал о том, как я сделал свой MCP сервер и подключил Яндекс Директ в чат с моим Claude. Сегодня расскажу, как я туда же подключал вордстат.

продолжить чтение

Вскрытие ноу‑код сметы за 500$ или как купить «АИ — ассистента» который сожрёт весь бюджет заказчика

«...Давайте я сделаю, на моих токенах потестите...»Привет, Хабр! Я разработчик из Минска (работаю официально, в статусе НПД). Занимаюсь автоматизацией на связке Self‑Hosted n8n + Redis. Внедряю автономных ИИ‑агентов для мессенджеров и связываю их с amoCRM. Дисклеймер: в статье упоминается Meta: организация признана террористической и запрещена в РФ)Поделюсь, как говорится, «мясом» из своей практики. В статье я максимально постараюсь отразить и технический абсурд, плавно переходящий в явное кидалово от инфомошенников. Во‑первых —

продолжить чтение

Приложение течёт, а утечки нет: как оптимизатор картинок Next.js съел 4-гигабайтный VPS

История про то, как я три дня искал утечку памяти в Node-приложении, не нашёл — и был прав, что не нашёл. А ещё про то, что у каждого починенного пункта тут оказывался свой счёт: фикс памяти через месяц вернулся жалобой на скорость, а разбор скорости вскрыл третью проблему, о которой я не думал вовсе.СимптомНебольшой VPS: 4 ГБ RAM, около шести Next-приложений и Postgres на одной машине. Одно из приложений — интернет-магазин на Next.js 15 (App Router) — ведёт себя не как соседи:iwant-next.service RSS 1,38 ГБ (пик по systemd 3,0 ГБ)соседние приложения RSS 200–250 МБ в простоесоседние приложения RSS 200–250 МБ в простое

продолжить чтение

Как получить пожизненный бан на VC.ru за open-source проект на Node.js без рекламы. Кейс CMTT

Вступление:Всем привет. На днях моя техническая статья с open source кодом про написание нейросети с нуля на Node.js вышла из песочницы Хабра благодаря НЛО, набрала 8К+ просмотров и получила крутой фидбек от ML-сообщества. Но за 2 дня до этого я решил провести эксперимент и выложить этот же open-source материал на VC.ru (выкладывал на Хабр, затем на VC), чтобы поделиться кодом с местными инженерами. Итог — моментальный пожизненный бан без объяснения причин в первые 15 минут и снос статьи.Ссылка на такую же статью на Хабре

продолжить чтение

Браузер вместо API: как я объединил DeepSeek, Qwen и ChatGPT в одного локального агента

Под капотом AI Free: три разных способа работы с веб-провайдерами, единый агентный рантайм, память, skills и много кода восстановления после сбоев.У веб-версий больших языковых моделей есть странное свойство: для человека они доступны в один клик, а для программы между «отправить вопрос» и «получить ответ» внезапно вырастает целая инфраструктура.

продолжить чтение

89% моих трат на AI‑агентов — это кэш, а не генерация. Написал CLI, чтобы увидеть

Я много работаю с кодинг‑агентами в Claude Code. В какой‑то момент поймал себя на том, что не представляю, на что уходят токены. Счёт в конце месяца есть, а из чего он складывается, непонятно. Написал небольшую утилиту, которая читает то, что Claude Code и так пишет на диск, и раскладывает расходы по статьям. То, что она показала, мне не понравилось.Вывод ledgent report ‑redact

продолжить чтение

Как мы создавали «умный» поиск по регламенту вуза

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

продолжить чтение

Как я подключил Claude к Яндекс Директу через MCP и разгрузил утро понедельника

продолжить чтение

Как я заставил 9B обгонять 30B: три месяца с local LLM агентом

Я дал qwen3.5-9B (8-bit) и qwen3-coder-30B (iq2_xxs) одну задачу — исправить падающие тесты в Python-проекте. 9B справился за 3 шага. 30B сделал 24 шага, потерял нить, повторил одни и те же вызовы инструментов и вернул уверенный неправильный ответ.У 30B больше параметров. Он проиграл.Причина не в модели — в harness’е. Три месяца я строил агентный CLI для локальных LLM и разбирался, почему маленькая модель с правильным окружением стабильно бьёт большую без него. Вот что нашёл.Типичный сценарий провалаЗадача: исправить падающие тесты в репозитории.

продолжить чтение