
Как я сделал генератор палитр на Node.js + DeepSeek за два вечера — и что из этого вышло
Konstmax13 1 минуту назад Как я сделал генератор палитр на Node.js + DeepSeek за два вечера — и что из этого вышло Средний 4 мин 0 Node.JS * HTML * Веб-дизайн * Веб-разработка * Графический дизайн * Кейс Как-то вечером...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: Konstmax13 1 минуту назад Как я сделал генератор палитр на Node. js + DeepSeek за два вечера — и что из этого вышло Средний 4 мин 0 Node. JS * HTML * Веб-дизайн * Веб-разработка * Графический дизайн * Кейс Как-то вечером я поймал себя на том, что трачу по 20 минут на поиск цветовой палитры для каждого нового проекта.
Coolors, Adobe Color, случайные пины в Pinterest — и всё равно ощущение «не то». Тогда я задал себе вопрос: а что если вместо колеса оттенков начинать со слова? «Рассвет», «шторм», «лакшери» — у каждого слова есть интуитивный цвет.
Технические детали
Так появился Колорит — инструмент, который превращает слово или фотографию в цветовую палитру с помощью ИИ. В этой статье расскажу про технические решения, prompt engineering для DeepSeek и пару неочевидных браузерных API. Стек и архитектураПринципиально не хотел тащить тяжёлый фреймворк.
Итоговый стек:Бэкенд: Node. js + Express, ~150 строкФронтенд: чистый HTML/CSS/JS без сборщиковИИ: DeepSeek API (модель deepseek-chat)Деплой: Linux VPS, pm2, nginx reverse proxyНикакой базы данных — история запросов живёт в sessionStorage браузера. Поднялось за один вечер.
Режим «Слово → Цвет»: prompt engineeringГлавная задача — получить от LLM строго структурированный ответ, а не поток текста. Я потратил время на правильный промпт и в итоге пришёл к такому подходу:async function generatePalette(query, count) { const res = await fetch(' { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${process. DEEPSEEK_API_KEY}` }, body: JSON.
Отраслевые последствия
stringify({ model: 'deepseek-chat', temperature: 0. 8, messages: }) }); const data = await res. content); }Ключевые детали промпта:System prompt жёстко задаёт формат — только JSON, никакого markdowntemperature: 0.
8 — достаточно креативно, но предсказуемо по форматуЯвная просьба «избегать похожих оттенков» — без неё модель иногда возвращала 5 оттенков одного цветаРежим «Фото → Цвет»: кластеризация в браузереЗдесь я принципиально не хотел отправлять фото на сервер — и для приватности, и для скорости. Весь алгоритм работает через Canvas API:async function generatePalette(query, count) { const res = await fetch(' { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${process. DEEPSEEK_API_KEY}` }, body: JSON.
stringify({ model: 'deepseek-chat', temperature: 0. 8, messages: [{ role: 'system', content: `Ты — эксперт по цвету и дизайну.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





