🤖 А еще прикрутил бота
Теперь он будет учиться за меня писать сообщения со всякими релиз-нотами. Надеюсь, справится не хуже меня 😅
Теперь он будет учиться за меня писать сообщения со всякими релиз-нотами. Надеюсь, справится не хуже меня 😅
😁1
Опа, а вот и озон подъехал)
400+ методов апи, завернутые в исполнители, снабженные подробным хелпом по каждому.
Есть в чем покопаться)
#flowforge@rev:734a52b
400+ методов апи, завернутые в исполнители, снабженные подробным хелпом по каждому.
Есть в чем покопаться)
#flowforge@rev:734a52b
🔥2😁1
Вообще хотел выкатить это ещё в субботу — с ощущением, что основную часть закрыл и можно выдыхать. Не вышло 🥲
Из того, что сделал:
— Наблюдаемость довёл до рабочего состояния: логи, графики, алерты. Теперь это не «кажется, что всё ок», а нормальная картина — что происходит, где падает и почему. Падает, да. Потому что)
— UI докрутил: библиотеку исполнителей разложил по иерархии. Вместо одного списка на 600+ — сначала категории, потом уже конкретный выбор. Всего-то 400+ у озона - разложил так разложил.
— Начал писать документацию. Пока это заготовка, но уже есть основа, от которой можно отталкиваться.
— Из невидимого: вынес пресеты в отдельный модуль — теперь можно нормально думать про расширение. Снаружи почти ничего не поменялось.
(P.S. сервисов уже 22, а я всё ещё считаю это пет-проектом 😁)
— Часть вещей всё ещё держу под ручным контролем — осознанно, пока не устраивает стабильность отдельных кусков.
А дальше — собственно, причина сдвига.
Локально всё было собрано в zero-trust модели: каждый сервис имеет доступ только туда, куда нужно. Это хорошо работает, пока система компактная.
В проде, через coolify, та же идея превращается в более жёсткую конфигурацию: изолированные docker-сети, минимальные пересечения. Архитектурно — всё как задумывалось. Практически — десятки сетей, окружений и связей, которые нужно держать в голове. Любое изменение тянет за собой несколько слоёв.
В итоге добавление пары контейнеров под логи и мониторинг вылилось в:
— переписывание CI
— разгребание реестра образов
— перенастройку coolify
— доработку сетей внутри контейнеров
Самое неприятное — часть вещей пришлось прописывать вручную в docker. Потенциально это ещё аукнется, но пока других вариантов нет.
Время ушло не на продукт, а на то, чтобы эта схема просто стабильно жила: контейнеры, хранилище, внутренняя логика системы и точечные доработки.
Однако, результат все равно положительный. Система пережила миграцию БД, деплой новых сервисов, расширение связей и новые развертывания. Не развалилась (почти), поднялась обратно (точно) и в целом стала крепче.
#flowforge@rev:6257475
Из того, что сделал:
— Наблюдаемость довёл до рабочего состояния: логи, графики, алерты. Теперь это не «кажется, что всё ок», а нормальная картина — что происходит, где падает и почему. Падает, да. Потому что)
— UI докрутил: библиотеку исполнителей разложил по иерархии. Вместо одного списка на 600+ — сначала категории, потом уже конкретный выбор. Всего-то 400+ у озона - разложил так разложил.
— Начал писать документацию. Пока это заготовка, но уже есть основа, от которой можно отталкиваться.
— Из невидимого: вынес пресеты в отдельный модуль — теперь можно нормально думать про расширение. Снаружи почти ничего не поменялось.
(P.S. сервисов уже 22, а я всё ещё считаю это пет-проектом 😁)
— Часть вещей всё ещё держу под ручным контролем — осознанно, пока не устраивает стабильность отдельных кусков.
А дальше — собственно, причина сдвига.
Локально всё было собрано в zero-trust модели: каждый сервис имеет доступ только туда, куда нужно. Это хорошо работает, пока система компактная.
В проде, через coolify, та же идея превращается в более жёсткую конфигурацию: изолированные docker-сети, минимальные пересечения. Архитектурно — всё как задумывалось. Практически — десятки сетей, окружений и связей, которые нужно держать в голове. Любое изменение тянет за собой несколько слоёв.
В итоге добавление пары контейнеров под логи и мониторинг вылилось в:
— переписывание CI
— разгребание реестра образов
— перенастройку coolify
— доработку сетей внутри контейнеров
Самое неприятное — часть вещей пришлось прописывать вручную в docker. Потенциально это ещё аукнется, но пока других вариантов нет.
Время ушло не на продукт, а на то, чтобы эта схема просто стабильно жила: контейнеры, хранилище, внутренняя логика системы и точечные доработки.
Однако, результат все равно положительный. Система пережила миграцию БД, деплой новых сервисов, расширение связей и новые развертывания. Не развалилась (почти), поднялась обратно (точно) и в целом стала крепче.
#flowforge@rev:6257475
🔥3❤2
Однажды я перестану выкладывать сообщения о том как "чуть-чуть доработал систему на выходных" глубокой ночью на понедельник. Но не сегодня)
Продолжаю продолжать разного рода развлечения по теме "как сделать исполняемое исполнимым, а перевод желания в процесс - приятным". Ну или хотя бы менее отталкивающим)
Из того, что помаленьку начало получаться:
- отработал схему актуализации апи - 20 нейросетевых агентов разгребают 200+ исполнителей за несколько минут, так что теперь в WB только свежатина.
- причесал остальную библиотеку - конечно не 200 исполнителей, но ту сотню, что есть - буду стараться держать во вменяемом состоянии. А то получится как было раньше - в базе исполнитель есть, его можно выбрать, на холст положить и даже сохранить. Но вот исполняться ему нечем. Так и висит вечно в работе.
- раз уж библиотека стала меняться, ввел новые состояния у самих исполнителей - теперь есть устаревающие, отключенные, удаленные. Устаревающие выводятся просто с пометкой, про удаленные система кричит откуда только может - потому что не будет ничего работать с ними. А мне больше нравится когда все логично работает, чем когда все логично НЕ работает.
- подкрутил себе ручную модерацию исполнителей - можно психануть и выключить, например, нейросетевую генерацию, шоб вот потому что.
Идея в том, что авторы либ заранее предупреждают, когда планируются большие изменения, и я могу по горячим следам отмечать состояния исполнителя без обязательной доработки всей системы.
Из приятного - на ошибках таки научился, разваливаться система перестала. Очевидный инсайт: крутить нейросети на слабеньком сервере - плохая идея, проверено опытом 😁
Об опыте и текущем процессе - пока продолжаю издеваться над слабыми моделями и заставляю их собирать процессы из обычного языка. Мероприятие, как можно заметить по времени публикации, крайне увлекательное. Но и не самое очевидное, к сожалению... Те, у кого работает, обычно живут по принципу "очень большая модель + очень большой запрос" - за счет этого и достигают +/- вменяемых результатов.
Мне же хочется алгоритмически разложить запрос, чтоб планировщик продолжал выдавать хотя бы похожий на детерменированный результат (как на запросе из 3 слов, так и на запросе из 3 абзацев).
Пока каменный цветок не то чтобы очень выходит, но посмотрим, что удастся придумать к следующим выходным.
Продолжаю делать доки, обновил хелпы по ВБ исполнителям, вот думаю, как еще упростить погружение в процесс.
Кстати, есть мысль все же начать показывать, на что вы тут подписались вообще. Как смотрите на видос с созданием какого-нибудь простенького флоу?
#flowforge@rev:60c7d31
Продолжаю продолжать разного рода развлечения по теме "как сделать исполняемое исполнимым, а перевод желания в процесс - приятным". Ну или хотя бы менее отталкивающим)
Из того, что помаленьку начало получаться:
- отработал схему актуализации апи - 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
Собственно, на сейчас вводных две:
- во-первых, спасибо всем причастным за идею с "оставь одну кнопку, кому надо, посмотрят глубже". Мне хватило одной кнопки чтоб разворошить целый пласт докер-образов и передеплоить сервер. На видосе как раз процесс релиза склеен (ага, все как всегда)
- Во-вторых - сорян что пока видос в таком формате - но мне просто вот аж горит что-то выпустить хоть как-то чтоб было что улучшать, иначе меня мой перфекционист-прокрастинатор будет вечность отговаривать.
Ну и по классике, немного свежатины из релиза структурированными буквами:
Рабочее место (workspace)
На фронте появляется отдельный контур: дашборд, виджеты, своя раскладка, запуски и результаты в привязке к проекту — не только список диаграмм. На бэкенде под это легла сохраняемая раскладка (layout) и связанные с ранами/флоу доработки, чтобы «моё рабочее место» не было чисто локальной UI-фантазией, а имело состояние на сервере.
Плагины как часть продукта
Серверная часть вводит/развивает API и модель плагинов; клиент — страницу плагинов, клиент к API, store. В связке это выглядит как единая возможность: подключить расширения, не смешивая их с ядром приложения. Плагин — это конфигурация и права, а не «ещё один сервис в монолите».
Роли и доступы
Изменения в auth/capabilities - это новая продуктовая нить: не все видят плагины, workspace, админку и т.д.; поведение согласовано между API и UI.
Агент и исполнители
Перестройка agent-chat, flow-agent и роутеров LLM/плагинов в executor — с точки зрения продукта это еще один «мозг» сервиса: чат с агентом, генерация/инструменты и реальные шаги флоу могут (пока нет) через согласованные контракты. Включать пока рановато, но работа идет.
Что дальше:
- актуализация документации для нового UI и работы с воркспейсами
- собсно воркспейсы для конкретных потребностей (по крайней мере один, пора уже)
- надеюсь все же видос. Я правда хочу нормальное что-то сделать, но не знаю как) Если есть идеи или конкретные пожелания к каким-то готовым пресетам-воркспейсам - велкоме)
#flowforge@rev:19a6bb4
🔥1🤔1
Media is too big
VIEW IN TELEGRAM
отладил внешние взаимодействия, теперь все даже похоже на синхронную работу - процесс из редактора доступен из внешних клиентов, из самого редактора (не то чтоб сильно удивительно, но все же), и из воркспейсов - на видео оставил только виджет с результатами для наглядности, но можно и формочку запуска добавлять. Собираю в кучу, покрываю тестами и как всегда часам к 2 ночи что-нибудь пойдет не так 😁
P.S. с ключОм чтоб его... расслабился уже, сорян за такое)
P.S. с ключОм чтоб его... расслабился уже, сорян за такое)
