Ivan Petrov
535 subscribers
12 photos
1 video
2 files
12 links
ИИ, автоматизация, маркетплейсы
Download Telegram
Продолжение гайда по настройке персонального помощника.

После того как подключили Claude Code к Telegram и настроили группу с топиками — нужно объяснить Claude, как с ними работать. Для этого используется файл CLAUDE.MD. Его создаёте в папке, из которой запускается Claude Code.

CLAUDE.MD — это инструкция для всей сессии. Claude читает его при каждом запуске, до любого вашего сообщения.

По сути через этот файл выстраивается оркестрация (маршрутизация): какой топик за что отвечает и как в нём работать. Приведу пример на части того, что у меня есть:

Ресёрч — сюда отправляю запросы на поиск информации и детальный анализ. В CLAUDE.MD — инструкции по формату поиска, глубине ответа, структуре.

Здоровье — всё что касается здоровья. Кидаю файл (анализ, заключение врача) в топик, Claude видит контекст, читает и сохраняет в личную базу. После задаю вопросы в любое время — без повторной отправки документов, всё уже в базе.

Сохранённое — пересылаю посты из других каналов по интересным темам. Разбиваются по категориям и сохраняются. Обращаюсь когда хочу поднять определённую тему.

Разное — что-то вроде помощника. В инструкциях прописаны места куда хожу, специалисты, данные для записи (телефон, email). Простой пример: прошу свободные слоты на стрижку — находит сразу по нужному мастеру и присылает варианты. Выбираю время, он записывает, присылает подтверждение и сразу добавляет в календарь.

И чтобы не объяснять правила заново при каждом запуске — всё это и живёт в CLAUDE.MD.

Это пока упрощённые примеры — без агентов и сабагентов. Про это отдельный пост позже.

И вам не надо прописывать все эти правила самостоятельно, отдайте это Claude. Опишите просто задачу, дайте ID топика, для чего он предназначен и чего вы хотите — и попросите под это прописать правила в CLAUDE.MD.

На старте удобно всё писать прямо в CLAUDE.MD. Но со временем там должна остаться только основная маршрутизация, а логика конкретных топиков — уйти в отдельные агенты. Иначе файл разрастается и становится трудно управляемым.

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

#ии
❤16
Продолжаем улучшать бота.

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

Для этого использую ElevenLabs Speech-to-Text. Сравнивал несколько моделей по качеству — ElevenLabs показала лучшие результаты. Поддерживает 90+ языков с авто-детектом — язык указывать не нужно, просто кидаешь аудио.

Как подключить к Claude Code:

Регистрируетесь на elevenlabs.io/app/developers → API Keys → Create Key. На бесплатном тарифе доступно 4.5 часа транскрибации — этого хватит на очень долго. Если вдруг будет мало — за $6 в месяц получаете более 25 часов.

Ключ нужно сохранить в файл .env в корне проекта. Если файла ещё нет — создайте вручную (обычный текстовый файл, без расширения, только .env). Внутри одна строка:

ELEVENLABS_API_KEY=ваш_ключ_здесь


Сам скрипт el_stt.py (файл в комментариях) кладёте в папку scripts/. Он читает ключ из .env автоматически.

Дальше даёте Claude Code вот этот промпт — он сам пропишет обработку голосовых в CLAUDE.md и расставит всё по местам:

У меня в проекте есть scripts/el_stt.py — скрипт транскрибации через ElevenLabs.
Добавь обработку голосовых сообщений из Telegram:
1. При получении голосового — скачай файл через download_attachment
2. Запусти: python scripts/el_stt.py <путь_к_файлу>
3. Работай с полученным текстом как с обычным сообщением
Пропиши это в CLAUDE.md в раздел обработки входящих.


После этого можно отправлять голосовые в Telegram и бот их распознает. А при настройке интеграций — например, того же Instagram — через бота можно делать транскрибацию и анализ звуковой дорожки Reels на любом языке.

#ии #гайд
❤12
Рубрика ночные эксперименты 😁

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

Пару попыток ранее делал, но результат оставлял желать лучшего — в первую очередь из-за графики. И вот вчера вышел ChatGPT Images 2, и в одном из ТГ-каналов вижу как он хорошо генерирует ассеты (картинки для игры). Приложил пару примеров — чтобы понимали как это выглядит. Грубо говоря это раскадровка, которая потом анимируется.

Ну и пошёл я сначала в Claude: попросил подготовить всё для игры — промпты для изображений, описание архитектуры и промпт для Claude Code уже непосредственно под разработку. Дальше по этим промптам сгенерировал картинки в ChatGPT Images 2, удалил фон. Закинул всё в папку и скормил Claude Code подготовленный промпт + файлы с описаниями.

И знаете что? Мне очень понравился результат. То что на видео — было сделано за 1 час от первого промпта до такого результата.

Да, фона нет — его нарисовал сам Claude, а не картинки с ChatGPT. Да, кое-где немного съехали спрайты — но всё это поправимо, если уделить больше времени. Зато какая анимация у слизней и других вражеских NPC, анимация удара — всё это примерно за ~10 генераций изображений и 5–6 промптов в Claude Code (главный + правки).

У меня не было задачи сделать идеально. Хотел просто понять прогресс в этом направлении — насколько реально без опыта сделать что-то такое. Понял.

#ии #оффтоп
🔥5👍3
Один из товаров, которые мы продаём на WB — мужское бельё. И многие генераторы изображений не хотят с этим нормально работать: у них сильно закручены фильтры, чтобы не сгенерировать запрещёнку.

Была задача дать сотрудникам возможность генерировать изображения с товаром — при этом чтобы это было просто.

В этом плане можно использовать опенсорс модели. Но опенсорс — это как правило сложный софт (сейчас это в основном ComfyUI) и определённые требования к ПК, что не у каждого сотрудника это запустится.

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

Если кому интересно, полный стэк (можно Claude Code сразу его предоставить):

Frontend
- Next.js (App Router) + React + TypeScript — основа SPA/SSR
- React Flow — node-based редактор workflow (ключевая фича продукта)
- Tailwind CSS + shadcn/ui (Radix-компоненты, скопированные в проект) — стилизация и UI
- Zustand — лёгкий клиентский стейт; TanStack Query 5 — серверный стейт/кэш
- Socket.IO Client — real-time статусы генераций
- React Hook Form + Zod — формы и валидация (Zod шарится с бэком)

Backend
- NestJS 10 — модульная архитектура (DI, Guards, Pipes), WS из коробки
- Prisma 5 — type-safe ORM к PostgreSQL
- BullMQ 5 на Redis — очередь генераций (приоритеты, retry, DLQ)
- Socket.IO — WS для прогресса/статусов

Хранилища
- PostgreSQL — основная БД (users, workflows, billing)
- Redis 7 — кэш, pub/sub, бэкенд BullMQ
- MinIO — S3-совместимое хранение изображений

Как это работает?
Есть 3 основные ноды:
2 на вход: промпт и изображение
1 на выход: результат генерации

При генерации отправляется задание на мой ПК в ComfyUI, генерируется изображение, возвращается на сервис. Под капотом — модель Flux.
Максимально простой flow для конечного пользователя получился.

Ноды можно расширять: добавлять условия, разветвления, строить автоматизации. По сути это маленький Make или n8n, заточенный под нашу задачу.
🔥10❤7
Почему один большой CLAUDE.md быстро превращается в помойку

В Claude Code есть файл CLAUDE.md — это инструкция для агента внутри проекта.

Обычно он лежит в корне папки проекта. Когда вы запускаете Claude Code в этой папке, он читает этот файл и использует его как постоянный контекст: как устроен проект, какие команды запускать, какой стиль кода соблюдать, чего не трогать, как общаться и так далее.

По сути, это “память проекта”, которую не нужно каждый раз объяснять заново.

Когда начинаешь активно использовать Claude Code, первое желание — сложить туда всё.

На старте это кажется удобным: правила проекта, стиль общения, как запускать тесты, где лежат файлы, как работать с Telegram, что делать с постами, что делать с ресерчем, как обрабатывать картинки, как не трогать прод, какие команды нельзя запускать и ещё 40 пунктов сверху.

Первые пару дней кажется, что это идеальная система.

Потом файл разрастается до размеров простыни, и начинается веселье.

Claude читает всё подряд, даже если задача маленькая. Вы просите “поправь текст поста”, а в контексте у него лежат правила деплоя, инструкции по Instagram, структура базы знаний, маршрутизация топиков, медицинские заметки и ещё набор правил, которые вообще не относятся к задаче.

В итоге CLAUDE.md превращается не в инструкцию, а в свалку контекста. Вроде всё полезное, но вместе — шум.

У меня эволюция получилась примерно такая:

1. Сначала один большой CLAUDE.md
Туда складывается всё. Быстро, просто, работает на старте.

2. Потом маршрутизация
Появляются правила: если задача про посты — иди туда, если про ресерч — туда, если про здоровье — туда. Уже лучше, но главный файл всё равно пухнет.

3. Потом отдельные инструкции / скиллы / агенты
Каждая область получает свой контекст. Посты — отдельно. Ресерч — отдельно. Здоровье — отдельно. Кодинг — отдельно. Главный агент не должен помнить всё на свете, он должен уметь понять задачу и подключить нужный набор правил.

Похоже на обычную историю с любой системой, которая растёт.

Пока задач мало — можно держать всё в одном месте. Это быстрее и проще.

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

С агентами то же самое: сначала достаточно одной инструкции, потом нужен диспетчер, потом отдельные контексты под разные типы задач.

Главный вывод: не надо делать из CLAUDE.md мозг всей системы.

Его задача — быть диспетчером.
А конкретные инструкции должны жить ближе к конкретным задачам.

Иначе рано или поздно вы сами перестанете понимать, почему агент ведёт себя странно. А он просто честно пытается выполнить 300 правил одновременно ))

#ии
🔥12❤4👌2🐳1
Как сгенерировать картинку с необычной позой

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

Для этого можно использовать openposeai.com.

Схема такая:

1. Заходим на сайт и выставляем скелет в нужную позу (управление там не самое очевидное, нужно немного приноровиться).

2. Нажимаем Generate

3. Получаем 4 изображения, но нам нужны два:
- pose — скелет тела без кистей и стоп
- depth — карта глубины для кистей и стоп

4. Идём в ChatGPT → раздел Images

5. Прикладываем pose и depth как референсы

6. Просим сгенерировать изображение в нужном стиле

pose задаёт основную позу тела: корпус, руки, ноги, наклон, общую геометрию.

depth помогает отдельно передать кисти и стопы — то, что в обычном pose-скелете не отображается.

На выходе ChatGPT уже не пытается угадать позу по описанию, а опирается на визуальную схему. Дальше остаётся только докрутить стиль, одежду, окружение и детали через промпт.

#ии #графика #дизайн #сервисы
🔥14🐳3❤2👍2👌1
ai_agents_learning_draft_with_images.zip
3.3 MB
Хороший прикладной кейс использования агента: как из длинного видео собрать презентацию - или сделать пост, карусель и т.д.

Исходник - ролик из X:
https://x.com/Ai_Tech_tool/status/2056683954237997152

Что сделал по шагам:

1. Скачал видео и привёл его в рабочий вид.
2. Вытащил полный текст с таймкодами.
3. Отдельно собрал ключевые кадры/слайды из видео.
4. На основе этого сделал драфт: оглавление, конспект, скрины и полный текст по блокам.
5. Потом из драфта собрал финальную HTML-презентацию на русском.

Обычно такие видео просто оставляют на «посмотреть потом», и они умирают в закладках. А c агентом получается другой формат:

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

Самое полезное в этой схеме - не пересказ видео, а превращение неструктурированного контента в набор артефактов:

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

Ниже приложил два файла:

1. Архив драфта с конспектом, таймкодами и ключевыми кадрами.
2. Финальную HTML-презентацию на русском.

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

#ии #агенты
🐳11
Базовый инструментарий ИИ-агента, который я использую

Playwright CLI
Браузер, скриншоты, заполнение форм, JS-сайты которые не открываются через WebFetch.

Именно CLI, не MCP - потому что схема Playwright MCP это ~50 инструментов постоянно висящих в контексте. CLI вызывается только когда нужен.

yt-dlp
Скачать видео/аудио с любой платформы одной строкой. Получение YouTube субтитров тоже через этот тул идет.

MarkItDown
Конвертирует документы, PDF, презентации, таблицы, HTML и другие форматы в markdown. Для AI это идеальный формат: чистый текст, понятная структура, меньше мусора.

Google Workspace CLI (не подходит для персональных аккаунтов)

Опять же, важен именно CLI-подход.

Когда агенту нужно работать с Google Docs, Sheets, Drive, Calendar и Gmail, можно подключать MCP. Но часто выгоднее дать ему CLI-команду: прочитать документ, обновить таблицу, найти файл, выгрузить данные.

Меньше контекста. Меньше токенов. Меньше лишних описаний инструментов. Больше контроля.

GitHub CLI
Стандарт де-факто. Весь GitHub без браузера и без MCP.

---

Всё остальное у меня уже обычно добирается своими скриптами и решениями под конкретные процессы.

#ии
👍9🔥2
Генерация gpt-image-2 прямо из Claude Code — без API-ключа
Генерировать через gpt-image-2 можно по вашей же подписке Codex/ChatGPT — без отдельного API-ключа и поштучной оплаты. Делает это скилл https://github.com/ningzimu/codex-gpt-image.
Настраивать руками ничего не нужно — киньте этот промпт своему агенту (Claude Code / Codex), он сам поставит скилл и доведёт за руку всё остальное:
Установи скилл ningzimu/codex-gpt-image глобально:
npx -y skills@latest add ningzimu/codex-gpt-image --global

Потом проверь, есть ли авторизация Codex (~/.codex/auth.json).
Если нет — объясни по шагам, как залогиниться.
Когда всё готово — сгенерируй тестовую картинку и покажи путь к файлу.
Если что-то не работает — разберись сам и скажи, что мне сделать.

Дальше просто просите «сгенери картинку …» по ходу любой задачи.
Нюанс: путь неофициальный (идёт через бэкенд Codex, не через api.openai.com) — для личных задач топ, для прода держите фоллбэк на API-ключ.

З.Ы. Используйте на свой страх и риск, так как метод "серый".

#ии #гайд #графика
❤8👍2
Claude выкатили новую модель Fable 5

○ Fable 5 - публичная версия Mythos 5, той самой модели, которая до этого была доступна только избранным организациям через Project Glasswing (банки, security-компании).
○ Под капотом - одна и та же модель. Разница в ограничителях: Mythos умеет искать уязвимости в софте почти без ограничений, в Fable эти возможности порезали для публичного релиза.
○ Новый класс моделей - выше Opus по возможностям.

По бенчмаркам обгоняет все модели очень сильно.

#ии
🔥7❤1
MCP для парсинга Wildberries и Ozon — товары, карточки, отзывы

Так как я плотно в ecomm, регулярно спрашивают про парсинг WB и Ozon: товары, цены, отзывы. Покопался, нашёл пару готовых MCP-серверов под это (eduard256/wb-mcp-server и ozon-mcp-server), протестил, из коробки завелось не всё. Сделал форки и внёс правки: на WB починил отзывы (WB переехал на новые хосты) и добавил пагинацию поиска, для Ozon — поддержку прокси.

⚠️ Важно: если работаете в Claude Code из-под VPN — для Ozon обязательно ставьте российский прокси, иначе антибот вернёт 403. Для WB прокси не нужен. И учтите: первый запрос к Ozon платит ~12 секунд за прохождение антибота, дальше 0.3–1 c.

Ссылка на GitHub:
github.com/Jerardx/wb-mcp-server
github.com/Jerardx/ozon-mcp-server

#ии #автоматизация
❤11👍3
TermHub — свой менеджер терминалов для Mac

У меня на маке постоянно что-то крутится в терминале. Агент занимает всего одну вкладку, а рядом живут несколько вебсерверов, скрипты, логи, ssh. Вот ориентироваться во всём этом и было тяжело.

Стандартный Terminal для такого неудобен. Обвязки из App Store, которые пробовал, тоже — нужного функционала в них не было. Написал свой.

Боль простая: когда открыто 10 вкладок, ты уже не помнишь, что в какой запущено, и ищешь нужную перебором. Каждый перезапуск — поднимать всё руками. Процесс упал — узнаёшь об этом сильно позже, чем надо.

Что в итоге:

○ Группы и подписанные сессии в сайдбаре — сразу видно, что где.
○ Сплит до 4 терминалов в одном окне, сессии живут в фоне при любом переключении.
○ Статус на глаз — работает / завершилась / упала.
○ Автозапуск сессий при старте приложения и перезапуск по расписанию.
○ Управление агентом через MCP.

Функционала там сильно больше — профили, broadcast, логи сессий, нормальный скролл. Расписывать всё не буду: почитайте на GitHub или просто спросите у агента, он разберётся сам.

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

Установка. Проще всего отдать агенту — скажите ему поставить TermHub, дальше он всё сделает сам.

Важный момент: приложение нужно скомпилировать на своём маке. Подписи у него нет, поэтому готовый бинарник на чужой машине Gatekeeper просто заблокирует. А собранное локально идёт без карантина и запускается сразу. Нужен macOS 14+ и Command Line Tools, сборка занимает пару минут.

github.com/Jerardx/TermHub

Главное, ради чего затевалось: всё в одном окне и всё подписано. Когда параллельно крутятся вебсерверы, агенты и логи, это экономит больше времени, чем кажется.

#ии #автоматизация #агенты
🔥8❤3👍3
Обновление GPT Image до 2.5

Ранее был пост про генерацию картинок по подписке Codex/ChatGPT без API-ключа

На днях репозиторий обновился, теперь поддерживается 2.5 версия. Ставится и обновляется одним и тем же промптом — киньте его своему агенту:

Установи скилл ningzimu/codex-gpt-image глобально:
npx -y skills@latest add ningzimu/codex-gpt-image --global

Потом проверь, есть ли авторизация Codex (~/.codex/auth.json).
Если нет — объясни по шагам, как залогиниться.
Когда всё готово — сгенерируй тестовую картинку и покажи путь к файлу.
Если что-то не работает — разберись сам и скажи, что мне сделать.


Что поменялось:

○ по умолчанию gpt-image-2.5-flare, рядом появился gpt-image-2.5-sunburst

○ заработал прозрачный фон в PNG и WebP — на gpt-image-2 его не было. Генерация с ним идёт дольше: 38 секунд против 22

○ добавились качества xhigh и max. Прогнал low, xhigh и max на одном промпте — разницы не увидел ни по времени, ни визуально. Флаги принимаются, но я бы на них пока не рассчитывал

Флаг --size бэкенд воспринимает как подсказку, а не как команду. Реальную геометрию задаёт промпт.

Если формат не указан словами, движок отдаёт что считает нужным, обычно квадрат. Поэтому пишем прямо в промпт:

○ «вертикальное изображение 9:16, девушка в полный рост на городской улице» → 941x1672, ровно 9:16

○ «горизонтальное изображение, широкий кадр, городская улица утром» → 1672x941, ровно 16:9

#ии #гайд #графика
👍8🔥1