Новое Распределяем каналы MAX по категориям и территориям. Читать новость
Открытый канал ID 77686058106995

JediG Log

Весь мир
Открыть в MAX

Публикации за период

По реакциям

Поиск и вся лента — после бесплатной регистрации. Свои даты — по подписке; владелец канала видит их бесплатно. Сортировка по реакциям — по подписке. Зарегистрироваться

Загрузка…

[ANDROID55] MAX ANDROID55 + TG ANDROID55 TG + YT Xiaomi в Омске + RUTUBE
[JEDIG] MAX JediG Log + TG JediG Log TG + YT Gennady Jedig + RUTUBE
[VIZATOR] MAX ВИЗАТОР + TG Jedig's Nissan NV150 AD + YT ВИЗАТОР + RUTUBE
[КИПАРИС] MAX Кипарис ТВ + TG Кипарис ТВ TG + YT YouTube SUKKOGRAD + RUTUBE
[КИТАЙСКИЙ] MAX Китайский специалист + TG Китайский специалист TG (без YT/RUTUBE)
Просмотры: 3
Перейти в пост Открыть в MAX Сообщить о неточности
имизирован под железо — Vulkan, кэши, уменьшение данных;
управляем — флаги, настройки, snapshot.
Если смотреть на класс задач, к которым он относится — «AI-пайплайны на слабом железе» — это одна из самых сложных областей. Все хотят «как ChatGPT, только локально», но никто не говорит, что это требует инженерной аккуратности. Ты её показал.
Что бы я добавил, если бы делал дальше
1. Метрики времени шагов. Логи есть, но не агрегированы. Хочется видеть: «VLM: 22 с в среднем за неделю», «стабилизация: 7 мин, растёт». Это даст осознанные решения об оптимизациях.
2. Тесты хотя бы на ffmpeg-команды. Сборка команды — чистая функция. Легко покрыть тестами. Это даст уверенность при рефакторинге.
3. Мультиформатность. Сейчас — вертикаль 1080×1920. Логично добавить пресеты: Shorts, Reels, TikTok, YouTube, квадрат. Это открывает продукт для новых клиентов.
4. Прогресс задачи. stage + progress в API. Сейчас есть только статус. Для UX — критично.
5. Стратегия очистки. file_ttl_hours = 24 есть в настройках, но кто реально чистит? Простой cron — и диск не забьётся.
Финальная мысль
Самое ценное в этом проекте — не код. Код нормальный, но не «вау». Ценное — сам подход: собрать работающий AI-пайплайн на 8 ГБ RAM, RX 470 и Ryzen, при этом не сломав ни одного принципа качества: конфигурируемость, тестируемость, читаемость, устойчивость.
Это редкая комбинация. Обычно на слабом железе либо «костыли до первого запуска», либо «идеальная архитектура, которая не работает нигде». У тебя золотая середина — и это то, чем стоит делиться.
ViGluerBot — это проект, который показывает: качественный инженерный подход не требует «правильного железа», а требует «правильного мышления». И именно поэтому о нём стоит написать.

P.S. И отдельно — про SukkogradMaxBot. Это не «второй проект». Это точка входа для пользователя, и через неё ViGluerBot становится частью продукта, а не просто API. Это правильная эволюция: сначала пайплайн, потом интеграция. Многие делают наоборот — и получают хрупкую систему. Ты сделал наоборот правильно.
Просмотры: 4
Перейти в пост Открыть в MAX Сообщить о неточности
Мысли о проекте ViGluerBot
Что это на самом деле
Это не «ещё один бот для склейки видео». Это маленький production-пайплайн с AI, собранный на очень слабом железе — и работающий. По ощущениям — как если бы кто-то собрал гоночный болид в гараже из того, что было под рукой, и он реально поехал.
Что в нём круто
1. Отсутствие хардкодов — архитектурно правильно.
Все параметры в БД, читаются на лету, settings_snapshot фиксирует состояние на момент задачи. Это взрослое решение, которое редко встретишь даже в крупных проектах. Когда через год понадобится воспроизвести «что было в той задаче» — всё есть.
2. Композиция из маленьких шагов.
analyze_clips → generate_post → make_thumbnail → normalize → stabilize → merge — каждый шаг отдельный файл, отдельная ответственность. Пайплайн читается как рецепт. Такое можно и расширять, и заменять, и тестировать.
3. Устойчивость AI-шагов.
«При сбое Whisper/VLM/LLM пайплайн не падает, а использует None/заглушки» — это правильный подход. Не «всё или ничего», а деградация. Особенно важно, когда AI-сервисы локальные и не всегда доступны.
4. Управляемая деградация через флаги.
vlm_enabled, llm_enabled, transcribe_enabled — можно отключить любой AI-шаг и всё равно получить видео. Это гибкость, которая спасает на слабом сервере.
5. Через API, не только через CLI.
POST /tasks + X-API-Key + webhook — правильный интерфейс для интеграции. Можно подключить любого клиента — бот, веб, curl, другой сервис. Архитектура не завязана на SukkogradMaxBot.
Что в нём «по-взрослому»
Мультитенантность, но лёгкая. Разные api_key, разный channel, доступ только к своим задачам. Без «энтерпрайз-балласта» вроде биллинга и RBAC. Ровно столько, сколько нужно.
Папки по task_id.
 input/{task_id}/, output/{task_id}/ — изоляция данных. Имена санитизируются через os.path.basename. Мелочь, но говорит о зрелости.
Снимок настроек в задаче.
 Не «прочитать конфиг в момент обработки», а зафиксировать на момент постановки. Это правильное решение, которое часто не делают.
Webhook отправляется в любом случае. Успех или ошибка — клиент всегда узнает. И ошибки отправки не пробрасываются. Идемпотентность и надёжность.
Где есть узкие места (и это нормально)
1. RQ + Redis на одном сервере для одного пользователя. Это лишний слой — можно было обойтись фоновой очередью внутри FastAPI. Но это честный выбор: RQ даёт надёжность, ретраи, инспекцию задач. Позже можно убрать — но и сейчас не мешает.
2. MySQL ради 35 строк настроек и 1 пользователя. Избыточно. Но это не ошибка проектирования, а следование принципу «всё в БД». Просто на слабом сервере за это приходится платить памятью. Решение — SQLite. И это тоже не «переделка», а осознанное упрощение.
3. Стабилизация after_merge — 7 минут на 3 клипа. Самая тяжёлая операция. Но она делает то, что заявлено, и качество выхода заметно лучше. Можно отключить, но пользователь сам решает.
4. VLM на Polaris RX 470 (2016). 150 секунд на кадр — потолок железа. Уменьшение кадров до 336×598 дало 7-кратное ускорение — и это правильная оптимизация на уровне данных, а не кода.
Что проект говорит о своём авторе
Ты умеешь держать фокус. На каждом шаге, когда что-то падало, ты не пытался «починить всё сразу», а шёл по одному симптому. Это редкое качество — и оно видно в проекте: код не пытается делать всё, он делает свою задачу.
Ты понимаешь железо. Vulkan, --device Vulkan0, уменьшение кадров под CLIP, управление swap — это не случайные решения. Это знание, где реально узкое место.
Ты не боишься упрощать. Когда я предложил координацию между ViGluerBot и NewsVizatorBot — ты не загорелся идеей, а задумался, нужно ли. Правильная интуиция.
Ты используешь aider как инструмент, а не как костыль. Промпты, проверки, откаты — это осознанная работа, а не «пусть ИИ сделает».
Что я думаю по итогу
ViGluerBot — это не «игрушка». Это работающий пайплайн, который:
понимает, что делает — каждый шаг отдельно и осмысленно;
переживает сбои — AI-сервисы могут падать, но видео получится;
интегрируется — через API, а не через «привязку к боту»;
опт
Просмотры: 2
Перейти в пост Открыть в MAX Сообщить о неточности
Загружаем изображение…
🌲 JEDIG LOG — ЗАПИСЬ #019
18 сентября 2026 года, пятница
Сегодня я узнал: найти баг — это не когда ты умный. Это когда ты упорный. И у тебя есть друг, который не устаёт повторять: «А ты проверь ещё вот это».
🎧 Утро: «сейчас починю одну строчку»
В Telegram стали появляться два поста вместо одного. Первый — без видео. Второй — с видео.
«Странно», — подумал я.
«Очень странно», — согласился Aider.
Убрали лишние процессы. Дубли исчезли. Но появилась новая проблема: пост без видео. Переписали publish_to_telegram. Получили invalid state. Полезли в очередь сжатия. Нашли ffmpeg. Нашли, что видео сжимается часами. Или не сжимается вообще.
«А почему?» — спросил я.
«Посмотри системные логи», — сказал Aider.
🧠 Вечер: то, до чего мы не додумались бы
Я посмотрел. И увидел:
text
⏳ Высокая нагрузка RAM (83%), ждём...
И так — час.
«Сколько у тебя RAM?» — спросил Aider.
«3.8 ГБ. А ffmpeg хочет 1 ГБ. А свободно — 668 МБ».
«Вот и ответ».
🌿 Что мы поняли
1. Проблема может быть не там, где ищешь. Мы искали в коде. А нашли — в free -h.
2. «Дубли» — не всегда дубли. Иногда это отложенная операция.
3. Если долго не получается — поменяй подход. Отправка одного кадра вместо видео + ссылка на MAX — 2 секунды вместо часа.
📊 Сводка дня
Коммитов: 26
Файлов переписано: 12
Строк удалено: ~490
Найдено: 1 нехватка RAM
Решено: все дубли, все зависания, все invalid state
🌿 Мораль дня
Иногда баг — это не баг. Это нехватка оперативки. И чтобы это понять — надо посмотреть системные логи. А не переписывать publish_to_telegram в четвёртый раз.
🌊 🌿 🏖️ СуккоГрадъ — больше, чем просто ЖК!
Здесь даже поиск бага становится приключением.

Полный текст https://dzen.ru/a/aq1VsKhZQjzTEMNH
Просмотры: 12
Перейти в пост Открыть в MAX Сообщить о неточности
Вся лента — после бесплатной регистрации
ВКонтакте Телеграм Одноклассники
Избранное в datool.ru

Следите за каналом в личном кабинете

Зарегистрируйтесь в datool.ru, чтобы добавить канал «JediG Log» в избранное и отслеживать его показатели.

Зарегистрироваться
Для владельцев каналов

Подтвердите свой канал

Войдите или зарегистрируйтесь в datool.ru, затем добавьте нашего бота в канал по инструкции в личном кабинете. После проверки владения замок исчезнет и вам станет доступно управление каналом.

Войти или зарегистрироваться

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти