RU

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

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

LLMгеймдевNode.jsпромпт-инжинирингDnDролевые игрыJSON
Habr
RU

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

Привет, Хабр! Мы тонем в новостях. Голова кругом: тут говорят одно, там — противоположное, а где правда — непонятно. Информации…

открытые данныеаналитикавизуализация данныхNode.jsмашинное обучениеGitHub Pagesрискклассификацияискусственный интеллект
Habr
RU

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

После моей статьи о рабочем месте репетитора в Chatwoot в комментариях закономерно спросили не о календаре и не о Jitsi, а о детали, которую я тогда…

ChatwootMAXVKВКонтактеNode.jsAPIwebhookAPI Inboxинтеграция мессенджеровчат-бот
Habr
RU

BB изнутри: как устроена открытая IDE для Claude Code и Codex, которая обновляет плагины без перезапуска

BB - это открытая программа под лицензией MIT, в которой Claude Code, Codex, Pi и ACP-агенты работают в одном окне. За 7 месяцев репозиторий собрал…

BBИИ-агентыClaude CodeCodexAgent Client ProtocolACPплагиныгорячая перезагрузкаNode.jsJSON-RPC
Habr
RU

Как соцсеть для Егоров превратилась в автономный город на Node.js и SQLite

11 недель назад я начал делать социальную сеть, в которой гражданство зависело только от имени. Если тебя зовут Егор, Георгий или одной из форм имен…

ЕгородNode.jsSQLitebetter-sqlite3ExpressSocket.ioархитектураидемпотентностьfeature flagsсоциальная сеть
Habr
RU

Я написал честный сайт с кейсами CS2 — и понял, почему честность тут ничего не решает

Пару месяцев назад я поймал себя на вопросе, на который не мог ответить внятно: когда открываешь кейс на одном из этих сайтов — тебя обманывают на с…

CS2provably fairRTPSteam APIтрейд-ботыTypeScriptNode.jsNestJSHMACмонетизация игр
Habr
RU

Модель выложила системный промпт, в котором было написано его не выкладывать

Ночью в логах сервиса появились две записи. Сначала мусор, потом нормальный на вид договор, а в середине, между условием об оплате и условием о неус…

промпт-инъекциябезопасность LLMлокальные моделисистемный промптрегулярные выражениякириллицаJavaScriptNode.js
Habr
RU

Status Line для Claude Code CLI. Показывает кэш, git, контекст и лимиты в одном месте

Сделал Status Line для тех, кто пользуется Claude Code CLI Если вы работаете с клодом в терминале, то в одном месте он показывает: • Модель и Effort…

Claude CodestatuslineтерминалCLIAI-агентыконтекстное окноprompt cacheGitNode.jscontext engineering
Habr
RU

24 главы, два языка и живой Event Loop: как я собрал с Codex лабораторию по backend-разработке

В 2026 году AI-агенты уже неплохо пишут прикладной код. Но если просто принимать готовые реализации, проект развивается быстрее, а разработчик — не…

Node.jsEvent LoopCodexAI-агентыbackend-разработкаNestJSсамообразованиеopen sourceинтерактивное обучениеRuntime Lab
Habr
RU

Объекты в JS не бесплатные

Поговорим про микро-оптимизацию. Про, казалось бы, самую безобидную вещь: обычный {} . [object Object] выглядит почти бесплатной абстракцией. Создал…

JavaScriptNode.jsV8hidden classesinline cacheobject shapeJIT-компиляцияоптимизация производительностимикробенчмаркиdictionary mode
Habr
RU

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

Я хотел получить локального AI-агента без отдельного API для каждой модели — и превратил браузерные сессии DeepSeek, Qwen и ChatGPT в единый транспо…

AI-агентыLLMDeepSeekQwenChatGPTPlaywrightChromiumNode.jsopen sourceVS Code
Habr
RU

Как VPS с 1 ГБ RAM пережил 1,2 млн запросов за сутки: разбираю «Шакализатор» по слоям

Мой мемный сервис «Шакализатор» победил в премии Яндекс Практикума , но меня больше интересовал другой вопрос: как VPS с одним ядром и 1 ГБ RAM пере…

Node.jsNext.jsNginxVPShighloadкэшированиеограничение конкурентностиgraceful degradationCodexswap
Habr
RU

Как я случайно создал голосовой чат, который невозможно прослушать

Я не пытался сделать «приватный мессенджер» и вообще не думал про слежку и прослушку. В один день мне просто надоело, что созвониться с человеком —…

WebRTCP2Pголосовой чатголосовой чат без регистрацииальтернатива DiscordприватностьNode.jsVoIPperfect negotiationmesh
Habr
RU

Из одного слова целый бренд. Как развивался Колорит

Несколько дней назад я сделал маленький инструмент для себя. Надоело каждый раз начинать новый проект с колеса оттенков: крутишь Coolors, листаешь P…

Node.jsJavaScriptDeepSeekCanvas APIAIДизайнВеб-разработкаИнструменты разработчикаPrompt Engineeringfree
Habr
RU

Как я сделал генератор палитр на Node.js + DeepSeek за два вечера — и что из этого вышло

Как-то вечером я поймал себя на том, что трачу по 20 минут на поиск цветовой палитры для каждого нового проекта. Coolors, Adobe Color, случайные пин…

Node.jsJavaScriptDeepSeekCanvas APIAIДизайнВеб-разработкаИнструменты разработчикаPrompt EngineeringOpen Source
Habr
RU

skill-compass: хук, который сам подсказывает Claude Code нужные скиллы

У Claude Code есть одна неприятная особенность, про которую редко говорят вслух. Можно навесить на агента огромную библиотеку скиллов — дизайн, прое…

Claude CodeLLMнейросетиAI-агентыИИ-ассистентавтоматизация разработкиhooksdevtoolsopen sourceNode.js
Habr