Канал про NoCode
1.22K subscribers
91 photos
12 videos
7 files
148 links
Канал про nocode и lowcode разработку

Чат: @chat_about_nocode
Канал с вакансиями: @pro_nocode_jobs
Download Telegram
Cursor + Open Source = Продукт за пару часов🔥

Дошел наконец-то на выходных до того, чтобы с головой поковыряться в Cursor и попробовать что-то на нём собрать. Так как собирать условные таск трекеры мне никогда не нравилось, то решил сделать что-то полезное.

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

При помощи курсора:
⁃ Разобрался как устроен проект внутри
⁃ Перевёл весь интерфейс на русский
⁃ Добавил логику авторизации и проверок
⁃ Разместил проект на серваке, подключил домен

Получилось вот так:
https://ai.sporyx.in

На часовых записях не гонял, но десятиминутную на русском раскидало достаточно хорошо минуты за 1.5-2

Короче, cursor кайф, особенно для пет-проектов. Поэтому присмотритесь, если хотите попробовать попробовать собирать что-то кодом. А я продолжу эксперименты и буду отписывать сюда)
Нашел золото - делюсь с вами не отходя от кассы

Подборка 108 AI шаблонов для n8n от ботов поддержки до ИИ-исследователей. Посмотрите, поковыряйте - может найдёте применение для себя

➡️ https://docs.google.com/spreadsheets/d/10VBpNb1JSBhnc5co0PIW5CCTo98pm5ucDAsWx9CwbG0/htmlview#gid=0

А еще напомню, что развернуть n8n в пару кликов можно через beget. Писал про это здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня выступал на MPSTATS EXPO, рассказывал про то, что мы делаем с ИИ внутри, n8n и lowcode. Но основной упор был на практику.

Короче хотел, чтобы на практике мы собрали простого ботика с роутером намерений пользователя и простыми действиями в зависимости от намерений. Но как часто бывает на демо или важных презентациях - часть плана пошла по известному месту:
▪️я профачил с таймингом
▪️n8n решил не ловить вебхуки
▪️в целом формат оказался тяжеловат

В итоге в целом все прошло не плохо. Процентов 10 аудитории написали положительный фидбэк, с кем-то пообщался, кто-то подписался на канал(спасибо вам🫶🏻) Но точно есть что улучшить и упростить.

А еще из-за того что изначальный формат не случился, то я пообещал со всеми, кто был отдельно созвониться и попрактиковаться/по отвечать на вопросы. А пацаны обещания держат.

Поэтому кто хочет на следующей/последующей устроить звонок как в старые добрые, поговорить про n8n, ai и разработку без кода - велком в комменты или личку. Пойму сколько человек и потом запущу опрос на дату/время🙌
Узнал интересную штуку.

Делюсь:
У нас есть одна интеграция телефонии с amo crm. И там как будто появилась проблема с подгрузкой звонков из телефонии в амо. Поэтому нужно понять какие звонки были за день и какие из них в итоге долетели до амо.
Для этого в амо даже есть отдельная вкладка, но вот кнопки "выгрузить" там нет. И человек, который занимается амо сказал, что выгрузить оттуда данные нельзя.

Такой ответ меня, конечно, не устроил. Поэтому полез в консоль разработчика на вкладку network смотреть как на страницу подгружаются звонки. Нашел вызов при помощи которого грузятся звонки и оказывается, что можно скопировать его как curl и использовать где угодно для своих целей. Скорее всего через какое-то время этот вызов "стухнет", но для быстрой автоматизации вполне себе.

Итак, дальше я пошел в cursor, попросил ИИ написать мне скрипт, который будет последовательно вызывать этот вызов и выгружать нужные мне данные с каждой страницы, запустил скрипт и данные пошли собираться. А я пошел писать этот пост)

Скрин приложил. Надеюсь вам будет полезно)

Попробовал, кстати, сначала вставить и запустить curl в n8n, но он ругался на ошибку в ответе. Поэтому пришлось сделать на питоне.
Короче раньше, когда я ещё занимался заказной разработкой основной проблемой было то, рынка ноукод разработки как будто бы не было. Вернее он не особо был сформирован. Поэтому часто приходилось "продавать" идею работы с ноукод инструменты заказчикам, а не работать на готовом спросе.

Года полтора назад начали появляться разделы ноукод разработки в крупных рейтингах типо теглайна, крупные клиенты стали интересоваться и искать спецов по ноукоду, но отдельных специализированных ресурсов про ноукод как будто немного было и есть.

Короче, решил поресерчить русскоязычные ресурсы и наткнулся на Nocodecircle

Внутри есть как рейтинги агентств по различным специализациям: веб, мобилки, чат-боты, так и обзоры и рейтинги российских ноукод инструментов - особенно актуально в эпоху "в любой момент могут блокнуть".

По ощущениям, сами рейтинги пока не охватывают весь российский рынок и можно добавить и привлечь много новых сервисов и агентств, но это и так же хорошая возможность попробовать добавить свою компанию и получить немного целевого трафика 🙂

В общем, если вы знаете ещё хорошие русскоязычные ресурсы про ноукод - пишите в комменты. Но сюда прям рекомендую зайти, особенно если в нашей сфере недавно.
Короче, я по вечерам, когда дети засыпают, люблю позалипать в X. И во время подобных залипаний обычно нахожу несколько интересных ссылок или проектов, связанных с AI или ноукодом. Обычно я их закидываю к себе в личку и там они и теряются. Подумал, что вдруг кому-то тоже будет полезно и интересно, поэтому вот, что нашел сегодня:

https://github.com/browser-use/browser-use - использование браузера для ллм агентов. Мне в последнее время интересно изучать и ковыряться в том, как на своей стороне можно запускать агентов в сеть. Вот один из претендентов на потестить на новогодних.

https://github.com/awslabs/multi-agent-orchestrator - фреймворк от Амазона для оркестрации в мультиагентных системах. У нас в МПСТАТС есть несколько умных ассистентов, поэтому тут я всегда в поиске решений и подходов, которые могут облегчить оркестрацию, определение интентов и в целом работу нескольких агентов.

https://studio.nebius.ai/ - могу ошибаться, но кажется это проект от выходцев из Яндекса. Короче предлагают доступ по апи к опенсорсным моделям(от text-to-text) до vision. Хочу погонять вижн. Плюс есть халява: по промокоду ALEX50 должны начислить 50 долларов. Еще не проверял

На сегодня все. Как вам претендент на постоянную рубрику?)
#вечерний_хвиттер
Решил я значит загуглить реранкер для лэнгчейна 🤔
Небольшой хак про то, как ускорить проверку результатов поиска при помощи LLM в n8n

Ситуация: у вас есть запрос пользователя и векторный поиск из которого вы достаёте результаты запроса. Но не все результаты подходят под запрос.

Чтобы удобнее работать с результатами привожу их в формат json. Примерно вот так:

{
"articles": [
{
"name": "Статья 1",
"description": "Автоматизация процессов с гибкими настройками.",
"url": "https://example.com/art1"
},
{
"name": "Статья 2",
"description": "Анализ данных для принятия решений.",
"url": "https://example.com/art2"
},
{
"name": "Статья 3",
"description": "Упрощение коммуникации и автоматизация задач.",
"url": "https://example.com/art3"
}
]
}


Задача: провалидировать результаты запроса с самим запросом и вернуть только то, что актуально и релевантно для пользователя.

Решение:
Использую open ai как финальный шаг по валидации результатов.
Изначально я просил LLM проанализировать запрос с полученными результатами и вернуть то, что релевантно. В таком случае я и на вход передавал JSON и на выходе получал JSON и это отрабатывало долго. 3-4 секунды в среднем.

Решил пойти другим путём и просить LLM вернуть только индексы результатов, которые подходят под запрос. А уже следующим шагом уже кодом достаю нужные результаты и возвращаю их пользователю.

Получился своеобразный костыль-валидатор, но это заметно улучшило качество выдачи и скорость проверки. Использую mini модель.

Пример промпта для валидации:

You have a user request and a list of articles that can help them solve their request. Your task is to select the most relevant articles and return their index. Use key "indexes". Indexes should start from 0. Rank the indexes by relevance in descending order.

User request:
{{ выражение для n8n }}

Articles:
{{ выражение для n8n }}


В результате получил и более быструю проверку(прикрепил к посту) на релевантность и сокращение количества токенов для проверки.
Считаем денежки токены в Open AI Ассистентах в n8n

Если собираете агента в n8n, у вас есть несколько вариантов, как это сделать:
⁃ Лэнгчейн нода Agent, куда подключаете модели, БД, тулзы и т.д
⁃ Самостоятельно собирать флоу с "мозгами" агента и контролировать runs и вызовы функций на своей стороне. Не сегодня
⁃ Вызывать ноду OpenAI - Message assistant

Не знаю почему, но нативно и удобно из первого и третьего варианта нельзя вытаскивать usage - то есть вы не видите сколько токенов тратится у вас за один вызов агента. Но вот как вы можете просто делать это одним дополнительным вызовом к API Open AI.

После выполнения ноды Assistant у вас в ответе будет только thread_id и output. Чтобы получить логи просто отправьте вызов и передайте параметр thread_id из ноды


curl
-X GET "https://api.openai.com/v1/threads/THREAD_ID/runs
-H "Authorization: Bearer YOUR_API_KEY" \
-H "OpenAI-Beta: assistants=v2"


В ответе у вас будет массив из run и вам нужно просто достать последний run - внутри него будет usage.

Если дополнительно хотите посмотреть что происходило внутри этого рана, можно отправить запрос на


curl
-X GET "https://api.openai.com/v1/threads/THREAD_ID/runs/RUN_ID/steps
-H "Authorization: Bearer YOUR_API_KEY" \
-H "OpenAI-Beta: assistants=v2"


Тогда можно разобрать какие функции вызывались, сколько каждая съела токенов и т.д. При вызове информации о треде в usage суммируется usage всех шагов для каждого рана.

И ещё один способ нашел вчера в чате n8n, от @alfomin - тык сюда. Посмотрите - там полезно и тоже просто
х10 к желанию делать плагины, когда получаю такие сообщения😀

у меня штук 6 точно лежит процентов на 80 готовых, но руки никак не дойдут хотя бы ещё один доделать и залить
Закинул копеечку на дипсик, попробую потестить по апи на своих пет задачках.

Кто уже пробовал внедрять/собирать какой-то функционал на основе этой модели, как вам?

Я недели 3 использовал как пользователь и в целом очень доволен
Короче, каждый день появляется куча исследований, новых решений и подходов к тому как можно улучшать продукты на базе LLM. Будь то RAG, или какие-то агентские системы. Угнаться и переварить это, имея 100500 других задач нереально, но я для себя выработал более менее рабочий подход по тому, как генерировать гипотезы для теста.

Все довольно просто:
◾️ Регулярно мониторю, какие новые исследования появляются через. Ищу через всяких умных людей в телеграм/твиттер.
◾️ В Голове всегда есть список задач, которые нужно решить сейчас/в ближайшее время. И то, что может быть релевантно просто кидаю себе в сохраненки. 95% это статьи и исследования с arxiv. Обычно это 10-15-30 страниц текста, с какими-то сложными графиками и объяснениями. Переваривать такое моему гуманитарному мозгу сложно и больно.
◾️ Поэтому я закидываю пдф со статьей в LLM. Либо chatgpt, либо deepseek.
◾️ Для начала просто прошу подробное саммари с объяснением основных моментов, подходов и идей из статьи. Это позволяет мне понять о чем вообще это исследование и релевантно ли оно мне сейчас.
◾️ Далее перевариваю эту информацию и прикидываю как это можно применить в моём кейсе.
◾️ Потом описываю свою задачу, идею которую взял из статьи и как это можно применить - закидываю в LLM. Делаю это для того, чтобы удостовериться, что я правильно понял суть и это реально можно применить так, как я понял.
◾️ Ну и дальше начинается итеративные процесс вопросов для того, как это можно реализовать. Можно ли, например, брать облачную LLM, а не обучать свою, как описано в статье и т.д

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

А дальше уже начинаешь делать. Видишь, что работает не так как ожидалось и докручиваешь.

Так, например, недавно узнал про подход к улучшению RAG через токены памяти - вот пытаюсь раскрутить на одном внутреннем проекте.
Часто стал встречать мнение, что с текущим уровнем генеративок nocode скоро умрёт или станет не актуален. Отчасти согласен. Мой стэк сейчас больше выглядит так:
Cursor - для создания бэка и логики
Плюс недавно подтянул инструменты и для фронта: lovable + Vercel или v0 + Vercel, пока не оч определился, что мне больше нравится, продолжаю экспериментировать в свободное время. Но lovable пока выигрывает.

Но поймал себя на интересном кейсе при работе с бэком:
Мне визуально проще сначала собрать логику в n8n. Т.е собрать процесс там, проверить что все работает, настроить взаимодействия между компонентами, форматы ответа и т.д. А потом уже пойти в cursor и перенести логику на код. Плюсом, можно просто скопировать рабочий процесс из n8n (он в JSON если что) и попросить ЛЛМку переписать его на питон или что-то ещё. И чаще всего работает либо с первого раза, либо после небольшого количества итераций.

А вообще, все создание логики идет по одному сценарию: накидываю сам процесс в Miro -> Собираю рабочую версию в n8n -> Если нужно перенести на код, то в Cursor. Если нет, то оставляю всё в n8n
Забавный факт:
Если делать проект с supabase на v0 и нативно хостить его через Vercel (это два продукта от одной компании), то вылезает ошибка при деплое из-за того, что там почему-то криво работает интеграция, если данные для подключения к supabase написаны в env файле. Ну либо я криворукий.

При этом, если сделать все через lovable, залить на гитхаб и захостить на Vercel, то все будет работать корректно. Там правда есть тонкость, что нужно создать отдельный файл для Vercel vercel.json, чтобы он знал как роутить пользователя на нужные страницы. Короче просто при генерации упомяните, что будете хостить на Vercel и это все сразу будет заложено.

Вот так мне объяснил ошибку lovable

This is a common issue with client-side routing in Single Page Applications (SPAs) hosted on Vercel. The error occurs because Vercel doesn't know how to handle direct navigation to routes like /share/video_id and returns a 404 page instead.
To fix this, we need to add a vercel.json configuration file to tell Vercel to redirect all requests to the index.html file, allowing React Router to handle the routing client-side.
Все же слышали про DeepResearch от OpenAI. Как обычно это и бывает, появилось куча опенсорс решений, которые кричат "Не плати OpenAI, вот бесплатно, всё как там"

Решил для одной рабочей задачки потестить подобные решения. Делюсь, что получилось.

Решение №1
https://github.com/dzhng/deep-research

Из плюсов: оч просто запускается и настраивается. 2 команды и вставить 2 ключа: OpenAI и Firecrawl. Но если у вас в API OpenAI не поддерживается o3-mini, то работать не будет. Поэтому я использовал API Nebius и модель R1 от deepseek. Настраивается тоже просто: прописываем url и так же добавляем ключ. Firecrawl даёт 500 запросов бесплатно - поэтому для теста хватит. Ключ получаете у них в админке.

Поставил простую задачку: собрать и проанализировать компании и сервисы, которые занимаются речевой аналитикой в России. На выходе полная дичь. И как такового исследования, как будто и не было. Например, во второй ссылке Гугла есть подборка на 30 сервисов аналитики откуда можно бы было взять информацию и расширить. Но этого сделано не было.

Попробовал упростить задачу и передал уже список конкурентов с ссылками на сайт и попросил сделать сравнительный анализ функционала и цен. Опять мимо. Цены не бьются от слова совсем. Где-то доллары, где-то рубли. По функционалу где-то попал, но нет ощущения, что это взято из сайта, а не из модели.

Решил дать финальный шанс: попросил подобрать сервис аналитики для маркетплейсов для Вб. В результатах ни одного актуального сервиса, лидером рынка назвал какого-то ноунейма, который даже в поиске не ищется.

Вердикт: не рекомендасьон

Решение №2
DeepResearch от Hugginface
Не буду описывать подробно, но результат в целом не далеко ушел от первого варианта.
Поэтому тоже не рекомендасьон.

Решение №3
https://github.com/mshumer/OpenDeepResearcher

Для работы нужно прописать 3 ключа:
⁃ OpenRouter
⁃ Jina
⁃ SerpAPI

Везде есть бесплатные лимиты.

Тоже запускается и работает в 2 клика. Здесь результат мне понравился больше.

Видно что он смотрит и какие ссылки посещает. Валидирует эти ссылки на предмет того, является ли она релевантной для запроса или нет.
Так же можно посмотреть ссылки, которые находит и поизучать их отдельно.

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

⁉️Вердикт: 50/50

Решение №4
И напоследок затестил DeepResearch от Perplexity
Здесь был самый лучший результат.
Во-первых, визуально прикольно смотреть как он анализирует, делает выводы и описывает рассуждения.
Во-вторых, указывает все ссылки откуда брал инфу, подробно описал фунционал, особенности и фишки инструментов.

Из неприятного: потерял часть компаний для анализа т.к там не оказалось всей нужной информации. После дозапроса вернул и эту информацию.

Вердикт: рекомендасьон

Вывод
Моё скромное ИМХО: это пока не vibe research когда ты отправляешь запросы и наблюдаешь за магией(как в cursor при разработке). Поисследовать пока все равно придется самостоятельно, но как инструменты для расширения собственного контекста вполне себе.

Сравнить с DeepResearch от OpenAI не могу т.к жаба душит отдавать для этого 200$
Стремно, когда в канале больше 2х месяцев нет постов. Ну так и я не ссыкло💪

Вообще, конечно, не пишу по 2м причинам:
1. Тупо не хватает времени
2. Вообще потерял интерес к ноукоду в том виде в котором он задумывался для этого канала

Понял, что остыл к формат в котором хотелось что-то изучить, осмыслить и выдать в массы. Сейчас интереснее что-то узнать и пойти пилить)

Собственно, вот эти мои «пилить» и съедают все рабочее и не рабочее время, а так же миллионы токенов в курсоре😀

Из интересного: помните я как-то делал бесплатный транскрибатор, который работал прямо в браузере. Ничего интересного из этого тогда не получилось, но привело к тому, что внутри компании я стал заниматься проектом по внедрению анализа звонков в отделе контроля качества, а потом как-то плавно это вылилось в отдельный продукт.

Собстна, 80% фокуса у меня сейчас на том, чтобы вывести это на рынок и запустить продажи. Я в этом профан и только набиваю шишки. Так что дальше, надеюсь, смогу вытаскивать что-то интересное из всей этой движухи и делиться с вами)

А пока вот, что интересного я узнал, осознал и сделал. Постараюсь тезисно, чтобы не грузить:
Короче, сервисов речевой аналитики появляется сейчас вагон и маленькая тележка
Нужно как-то выделяться, но в целом функционал +- у всех похожий
Прям какого-то крупного игрока нет, но увидел что в основном все идут через формат продажи на демо
А там где не через демо, то прям вообще не понятно с чего начать и как потестить
Я тоже пошел через лендинг и полить трафик. Но даже на целевых запросах заметил, что отказы большие. Оно в целом и понятно. Базовый лендос, без каких либо отличий. Ну и мне наш маркетолог потом ещё объяснил где я не прав)

Решил попробовать: "А что если сделать демонстрацию работы в 2 клика. Без регистраций, смс и т.д".
Сделал, залил и вот сейчас хочу потратить ещё времени на то, чтобы посмотреть на обратную связь. Транскрибатором из этого канала активно пользовались, а тут прям как будто больше пользы и ценности, но для более узкой аудитории.

Поэтому если у вас есть звонки, которые надо слушать и анализировать, то велком пробовать. Ещё раз без регистрации и смс. А если прям на полную мощь хочется, со своими чек-листами и хотелками, то приходите в личку. Дадим крутые условия по цене + супер персонализированный подход т.к только выходим)

Потестить можно здесь:
https://speeqa.io

Написать сюда:
@esporykhin

А своё мнение, комментарии и предложения в комменты
Придумалось, короче, пет-проект на пару вечеров. Отдаю в мир, вдруг кто-то сделает)

Telegram Balabol Check

В чем суть:
Я делю авторские каналы в телеге на 2 типа:
⁃ одни постоянно рассказывают что они планируют делать и льют воду. Типо: вот поставил себе такие-то цели и дальше ничего. Или какие-то странные рассуждения о том, что надо делать хорошо, а плохо делать не надо, пиздострадания и тому подобное. Короче контент-импотент. Реального опыта 0
⁃ Вторые рассказывают про реальные действия. Вот затестили, вот тут такое реализовали, вот сделали А и ничего не вышло. Ну вы поняли. Не посты про то, как сделать успешный стартап, а конкретные шаги как человек делает успешный стартап, строит карьеру или решает какие-то свои задачи.

И вот в качестве фан проекта можно собрать такую штуку, которая:
⁃ Парсит последние 50-100 постов автора на его канале
⁃ Прогоняет их через LLM по какому-нибудь простому чек-листу. Тут еще нужно подумать над конкретными и описываемыми критериями того, что считать пиздаболией, а что реальными действиями/пользой
⁃ Далее по каждому посту есть оценка по критериям
⁃ Суммируем и выводим общий рейтинг всех постов
⁃ Подсвечиваем посты без пользы/с пользой

Дальше можно еще прикрутить какую-нибудь аналитику/корреляцию по тому насколько пиздабольские посты хороши по метрикам и т.д, но это уже детали

Кому это нужно:
Я тут вижу 2 задачи, которые может решить подобный проектик:
1. Авторы телеграм каналов: проанализировать свои посты, посмотреть на них не только с точки зрения числовых метрик, но и с точки зрения "человека". Можно, кстати, еще зашить роль проверяющего при проверке. Т.е чтобы LLM оценивала посты с точки зрения аудитории канала
2. Всякие телеграм разработчики, чтобы сделать виральный продукт и чуть чуть похайповать

Прям прямых денег я здесь не вижу. Но чисто ради фана и опыта - почему бы и нет.

Что для этого понадобиться:
⁃ Какой-нибудь Telethon или подобное, чтобы парсить посты. Чтобы не париться с развертыванием можно использовать Yandex Cloud Functions
⁃ Доступ к LLM. Чтобы разные сетки удобно тестить я бы выбрал openrouter
⁃ Автоматизация. Тут, конечно, n8n

Ну и ради фана, если вдруг пост наберет 20 000 звезд, то сделаю сам😀

P.s слово "разъебу" chatgpt мне ни разу правильно не написал)
Короче, продолжаю нативно рассказывать про то, что делается и с чем сталкиваюсь в нашем AI-менеджере контроля качества

Самая муторная часть - это калибровка ассистента. Чтобы он оценивал так, как это делает человек. Так как логика некоторых пунктов может быть очень запутанной и нужно это все заложить в критерии оценки. Типо, если клиент целевой, то мы оцениваем пункт одним образом, а если не целевой, то другим образом.

Но самое бесячее, это когда вроде всё описано, разбито на блоки и т.д, а процент совпадений оценок все равно супер низкий. Тогда начинаю сам слушать звонки и тут обычно 3 варианта:
🔘 Человек ошибся и оценил не корректно. Тут просто исправляем оценку и двигаемся дальше
🔘 Человек оценил корректно, но руководствовался какими-то неписанными правилами, которые передаются из уст в уста внутри отдела. Тогда приходится повторно встречаться с ответственным, уточнять все эти узкие моменты и корректировать логику оценки
🔘 Робот ошибся. Тут все понятно, косяк на нашей стороне и нужно копать в причины ошибки

По последнему пункту остановлюсь чуть подробнее. Что вообще помогает улучшать качество оценки:
☑️ Для каждого критерия описывать формат фиксации т.е что и в каком виде нужно достать из звонка, чтобы оценить критерий
☑️ Для сложных случаев в формате фиксации описать цепочку рассуждений, которые должен зафиксировать ассистент
☑️ Порядок полей в ответе: фиксация всегда идет перед финальным ответом по критерию
☑️ Для больших чек-листов и звонков(больше 30 пунктов например) разбивать оценку на этапы диалога и оценивать каждый этап отдельно

Возможно банальщина и вы это все знали, но такие штуки верхнеуровнево позволяют выровнять качество оценки и продолжать дальше докапывать до деталей. А как оказалось для каждого чек-листа или методики оценки их там херова туча)
Я вообще не это хотел, когда просил Cursor быть как сеньор😃
Слышали историю про парня, который вайбкодил SaaS, активно рассказывал про это в твиттере, а потом бросил это дело так как его проект захерачили из-за проблем с безопасностью?

Много, кто говорит про проблемы с безопасностью на вайбкодовых проектах (слово то какое😃), но это не проблема вайбкодинга. Точно так же говорили и про бабл когда-то, когда кто-то не углублялся в настройки privacy rules. Нашел в твиттере пост про базовые настройки безопасности при работе в cursor/windsurf и несу их вам) Больше всего подойдет тем, кто вайбкодит на Next JS с Supabase и Vercel, но в целом под себя докрутить не проблема

Итак:
1. Ключи доступа

Проблема: Жёстко закодированные ключи в коде
Решение:
- NEXT_PUBLIC_* (публичные настройки) записываем в .env файл
- Секреты (API keys, токены) записываем в .env.local (и добавляем в `.gitignore`)

Промт для Cursor/Windsurf:

Используй process.env.<VAR> для всех секретов. Если нужна новая переменная, скажи точный ключ для .env.local. Предполагай, что .env.local уже существует.


Если используете Vercel, то прописывайте все секреты в Environment Variables. Как у других хз, не работал

2. Supabase: RLS (Row Level Security)
Проблема: Anon Key Supabase по умолчанию читает все данные из БД.
Решение: Включить RLS и политики доступа.

Промт:
 
Включи Row Level Security на всех таблицах. Создай политики через auth.uid(), чтобы пользователи видели только свои данные. Никогда не используй service_role в клиенте. Для админ-действий — только RPC + серверные вызовы. Все запросы должны быть параметризованы.


Теперь вашу БД не скачают через DevTools.

3. Защита API
Проблема: Любой может спамить ваши /api -роуты.
Решение:
- JWT в Authorization header
- Валидация полей (Zod)
- Rate-limiting (~5 запросов/мин на IP) - но тут, думаю, корректнее каждому самому определить нужный лимит

Промт:
 Для каждого /api роута:  
- Проверяй JWT в заголовке
- Отклоняй некорректные данные
- Лимитируй запросы (429 при превышении)
- Валидируй ввод через Zod
Затем просканируй репозиторий на наличие хардкодных токенов.


Теперь API под замком.

4. Итог
Что мы починили:
Секреты — не в GitHub
Supabase — данные только для своих
API — аутентификация + лимиты