IT's Кузня
6 subscribers
8 photos
2 videos
1 link
О том, как и куда развивается горсть пет-проектов
Download Telegram
Channel created
Надо наверное какое-то вводное слово написать. Ну типа там "тут творятся великие дела, создается будущее" и все такое. Но как-то недостаточно пафосно. Поэтому сделаю проще - тупо перечислю все, что тут описывать буду. Или не буду - как пойдет со свободным временем, занятостью и вообще интересом ко всему этому.

Есть у меня горсть проектов, которых pet уже язык не повернется назвать, а продуктом обзывать рановато. И чтоб самому не забывать, чем я вообще занимаюсь - попробую тут периодически отписываться о том, как дела по ним.

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

- Шедулер (aka scheduler): виджет для бронирования чего угодно на сайт. Не обновлялся +/- вечность, завис на стадии "демка-мвп", в котором можно что-то создать и куда-то записаться. Не пройдет ни одну проверку, ибо под капотом - нечто сильно устаревшее, сервера - сильно за бугром (firebase как основная БД)

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

Чуть актуальнее:

- Зебра, aka DSC (driving school control) aka 4drv.pro - разрозненная куча материалов, которую все никак не доходят руки скрутить в экосистему нормальную. Сейчас живут отдельно: конструктор сайтов с учетом требований к автошколам, система управления автопарком (4drv.pro), каталог автошкол (со времен мамонтов - zebrrra.ru), наметки парсера билетов для автошкол, пробники экзаменов (прям совсем в зачатке).

Основной фокус:

- FlowForge (рабочее название, которое к сожалению много раз занято по всему миру, так что придется придумывать что-то более умное однажды). Лютый ад что по техничке (23 сервиса), что по наполнению (система оркестрации и исполнения распределенных процессов, на момент описания в библиотеке 200+ исполнителей). На русском - система выполнения задач. Любых. Но я бы точно не доверил ей свое здоровье и деньги (пока что)

Перспектива:

- Леха, aka LEHA, Lifelong Education Help Assistant - система онтологической оценки навыков и вакансий. Проще говоря, помощник, который определяет степень безумия рынка и ваше место в нем. При удачном стечении обстоятельств - еще и расскажет как попасть из текущего состояния в состояние, требуемое в конкретной вакансии.
🔥1
Так вот, к чему все завел. На пятый месяц работы над FlowForge я таки начал первый фидбэк получать и заодно на него реагировать сходу.

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

#flowforge@rev:0b17203
🔥31
🤖 А еще прикрутил бота

Теперь он будет учиться за меня писать сообщения со всякими релиз-нотами. Надеюсь, справится не хуже меня 😅
😁1
Опа, а вот и озон подъехал)

400+ методов апи, завернутые в исполнители, снабженные подробным хелпом по каждому.

Есть в чем покопаться)

#flowforge@rev:734a52b
🔥2😁1
Вообще хотел выкатить это ещё в субботу — с ощущением, что основную часть закрыл и можно выдыхать. Не вышло 🥲

Из того, что сделал:

— Наблюдаемость довёл до рабочего состояния: логи, графики, алерты. Теперь это не «кажется, что всё ок», а нормальная картина — что происходит, где падает и почему. Падает, да. Потому что)

— UI докрутил: библиотеку исполнителей разложил по иерархии. Вместо одного списка на 600+ — сначала категории, потом уже конкретный выбор. Всего-то 400+ у озона - разложил так разложил.

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

— Из невидимого: вынес пресеты в отдельный модуль — теперь можно нормально думать про расширение. Снаружи почти ничего не поменялось.
(P.S. сервисов уже 22, а я всё ещё считаю это пет-проектом 😁)

— Часть вещей всё ещё держу под ручным контролем — осознанно, пока не устраивает стабильность отдельных кусков.

А дальше — собственно, причина сдвига.

Локально всё было собрано в zero-trust модели: каждый сервис имеет доступ только туда, куда нужно. Это хорошо работает, пока система компактная.

В проде, через coolify, та же идея превращается в более жёсткую конфигурацию: изолированные docker-сети, минимальные пересечения. Архитектурно — всё как задумывалось. Практически — десятки сетей, окружений и связей, которые нужно держать в голове. Любое изменение тянет за собой несколько слоёв.

В итоге добавление пары контейнеров под логи и мониторинг вылилось в:

— переписывание CI
— разгребание реестра образов
— перенастройку coolify
— доработку сетей внутри контейнеров

Самое неприятное — часть вещей пришлось прописывать вручную в docker. Потенциально это ещё аукнется, но пока других вариантов нет.

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

Однако, результат все равно положительный. Система пережила миграцию БД, деплой новых сервисов, расширение связей и новые развертывания. Не развалилась (почти), поднялась обратно (точно) и в целом стала крепче.

#flowforge@rev:6257475
🔥32
Однажды я перестану выкладывать сообщения о том как "чуть-чуть доработал систему на выходных" глубокой ночью на понедельник. Но не сегодня)

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

Из того, что помаленьку начало получаться:

- отработал схему актуализации апи - 20 нейросетевых агентов разгребают 200+ исполнителей за несколько минут, так что теперь в WB только свежатина.

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

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

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

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

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

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

Мне же хочется алгоритмически разложить запрос, чтоб планировщик продолжал выдавать хотя бы похожий на детерменированный результат (как на запросе из 3 слов, так и на запросе из 3 абзацев).

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

Продолжаю делать доки, обновил хелпы по ВБ исполнителям, вот думаю, как еще упростить погружение в процесс.

Кстати, есть мысль все же начать показывать, на что вы тут подписались вообще. Как смотрите на видос с созданием какого-нибудь простенького флоу?

#flowforge@rev:60c7d31
3
Небольшая затравка - хотел выложить, но мелкие технические неурядицы не дают. Набросал документацию и нет сил держать ее в себе 😁

Закину, скорее всего, уже вместе с видосом - на что-то глобальное фантазии не хватило, так что буду решать свою же задачу и делать вид, что это просто такое видео-обучение про получение оповещений об изменениях в апи озона.
🥰3
Media is too big
VIEW IN TELEGRAM
шото как-то пара недель выдалась ну прям вообще тяжелая. На прошлых выходных пытался себя заставить видос записать, на этих - тоже. Пока получается не особо, текстовый формат мне все же ближе намного. Но начинать с чего-то надо, так что вот - абсолютно пустой видос ни про что, зато с новым юаем и процессом развертывания этого юая)

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

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

Ну и по классике, немного свежатины из релиза структурированными буквами:

Рабочее место (workspace)
На фронте появляется отдельный контур: дашборд, виджеты, своя раскладка, запуски и результаты в привязке к проекту — не только список диаграмм. На бэкенде под это легла сохраняемая раскладка (layout) и связанные с ранами/флоу доработки, чтобы «моё рабочее место» не было чисто локальной UI-фантазией, а имело состояние на сервере.

Плагины как часть продукта
Серверная часть вводит/развивает API и модель плагинов; клиент — страницу плагинов, клиент к API, store. В связке это выглядит как единая возможность: подключить расширения, не смешивая их с ядром приложения. Плагин — это конфигурация и права, а не «ещё один сервис в монолите».

Роли и доступы

Изменения в auth/capabilities - это новая продуктовая нить: не все видят плагины, workspace, админку и т.д.; поведение согласовано между API и UI.

Агент и исполнители
Перестройка agent-chat, flow-agent и роутеров LLM/плагинов в executor — с точки зрения продукта это еще один «мозг» сервиса: чат с агентом, генерация/инструменты и реальные шаги флоу могут (пока нет) через согласованные контракты. Включать пока рановато, но работа идет.

Что дальше:
- актуализация документации для нового UI и работы с воркспейсами
- собсно воркспейсы для конкретных потребностей (по крайней мере один, пора уже)
- надеюсь все же видос. Я правда хочу нормальное что-то сделать, но не знаю как) Если есть идеи или конкретные пожелания к каким-то готовым пресетам-воркспейсам - велкоме)

#flowforge@rev:19a6bb4
🔥1🤔1