Node.JS.

ИИ‑мастер для настольной RPG: один запрос на ход, кубик до ответа и баг, который удваивал здоровье

Я делаю браузерную текстовую ролевую игру, где ведущим работает языковая модель. Игрок пишет любое действие своими словами, мастер отвечает рассказом, а игра ведёт механику: здоровье, деньги, характеристики, инвентарь, броски d20. Кажется, что всё просто: отправь модели историю и лист персонажа, получи ответ. На практике самые интересные задачи оказались не в промптах вида «напиши смешно», а на стыке вероятностной модели и детерминированной игровой механики. Ниже — четыре таких места и то, как я их решил.Стек: Node.js 24, Express, встроенный node:sqlite, модели через OpenRouter и общий для сервера и браузера модуль движка.

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

46 критериев и модель Jev: как устроен открытый индекс риска глобального конфликта

Привет, Хабр!Мы тонем в новостях: тут говорят одно, там — противоположное, а где правда — непонятно. Информации слишком много. Не хватает инструмента, который показывал бы, как риск меняется во времени: по открытым данным, а не по громкости заголовка. Такого инструмента я не нашёл. Пришлось собрать самому.Получился Индекс Кассандры — еженедельный сервис про уровень и направление риска глобального конфликта. Без регистрации, трекеров и подписок. Код, методика, данные и тесты открыты на GitHub, сайт статический (GitHub Pages).

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

UML-редактор с блок-схемами по ГОСТ — как устроено внутри

Зачем мне понадобился свой редакторЯ работаю системным аналитиком, и UML-диаграммы для меня это часть работы. Но официальный редактор на plantuml.com из России не открывается, а ставить Java и плагин в IDE или VPN на рабочий компьютер не хочется.Поэтому я навайбкодил umleditor.ru - редактор UML-диаграмм в браузере. Пишешь код и сразу видишь схему. Регистрироваться не надо. Схемы рисует мой собственный PlantUML-сервер в Москве, так что код диаграмм не уходит на чужие сервисы.

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

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

Через год после закрытия проекта я открыл его код и устроил себе code review. Это был автомобильный маркетплейс объявлений, который я в одиночку спроектировал, написал, задеплоил и сопровождал: React‑фронтенд, три бэкенда на NestJS, PostgreSQL, чат на Socket.IO, интеграция платежей, Kubernetes в GKE, CI/CD, CronJob'ы и E2E.

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

Код-ревью самому себе через год: 8 архитектурных ошибок соло-проекта

Через год после закрытия проекта я открыл его код и устроил себе code review. Это был автомобильный маркетплейс объявлений, который я в одиночку спроектировал, написал, задеплоил и сопровождал: React‑фронтенд, три бэкенда на NestJS, PostgreSQL, чат на Socket.IO, интеграция платежей, Kubernetes в GKE, CI/CD, CronJob'ы и E2E.

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

Как я подключил MAX и VK к Chatwoot: разбираем двусторонний мост

После моей статьи о рабочем месте репетитора в Chatwoot в комментариях закономерно спросили не о календаре и не о Jitsi, а о детали, которую я тогда почти не показал: как именно сообщения из MAX и VK попадают в Chatwoot и как ответ возвращается обратно.Короткий ответ: это не скрапинг веб-версий и не автоматизация личных аккаунтов. MAX у меня подключён через официального бота, VK — через сообщения сообщества. Между ними и двумя API inbox в Chatwoot работает небольшой сервис на Node.js.

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

Мы искали, куда coding agents тратят токены. Дело оказалось не в промптах

Мы много разрабатываем с помощью coding agents: веб‑приложения, MCP‑серверы, пайплайны обработки данных, системы из нескольких агентов. И чем лучше становилась инфраструктура вокруг агентов, тем больше в ней появлялось инструкций, проверок, субагентов и автоматики. По идее, разработка должна была становиться дешевле. А расход контекста рос.Первое подозрение было очевидным: слишком раздутые промпты. Мы искали не там.38 килобайт текста со смыслом «всё хорошо»Агент закончил изменение и запустил тесты. 178 тестов, все зелёные. На stdout прилетело 38 365 байт TAP:# Subtest:...ok 1 ‑...‑-duration_ms:...type: 'test'..

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

Сделал себе тренера на Claude Code и выложил его в open source

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

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

Flowise закрыли, я его форкнул — и выяснил, что форкать было нельзя

Flowise — визуальный конструктор для LLM-приложений: перетаскиваете на холст модель, векторное хранилище, инструменты и память, соединяете их линиями и получаете чат-бота, RAG-поиск по документам или агента. У проекта 55 тысяч звёзд на GitHub, 25 тысяч форков и почти 7 миллионов скачиваний Docker-образа. Его разворачивают у себя компании, которым нельзя отправлять данные в облачные конструкторы.

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

Агент поддержки первой линии: прототип за вечер, харнес для прода, цена диалога

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