Сообщество - ИТ-проекты пикабушников

ИТ-проекты пикабушников

704 поста 3 455 подписчиков

Популярные теги в сообществе:

5

Сервис для общения: правки системы доставки сообщений

Примерно 2 недели не было новостей о сервисе, делюсь успехами.

Приступил к тестам

Собственно приступил к тестам, начал более-менее серьезно гонять сервис и заметил проблемы в системе доставки сообщений. Наша жизнь, как и работа сервера, не идет гладко. Бывают времена, когда в сервер прилетает ракета, падает кирпич или, самое банальное, питание пропадает. В такие моменты возникают проблемы. Вот и у меня они возникли, даже людей привлекать для тестов не пришлось. В основном теряются сообщения. Звучит нестрашно, но это страшно (особенно для сервиса общения). Это как телефон, который перестает стабильно работать после первого выключения 😂

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

Сервис для общения: правки системы доставки сообщений

Что с чатами?

Добрался до создания и удаления чатов. Добавил эти функции. Добавил функцию уведомления собеседников о вступлении в чат или приглашения в чат. Пока все это добавил, но не проверил работоспособность. А это значит что предстоит доработка.

Монетизация и окупаемость

Чем больше захожу в тему создания сервиса для общения, тем больше понимаю, что просто так сделать и радоваться не получится. С одной стороны тов.майор будет требовать доступ, с другой стороы законы меняются и не факт что я впишусь по всем пунктам в законы (нужно сидеть и отслеживать что нового будет завтра 😂). В общем, придется сидеть и вертеть как танк башней на 720 градусов, чтобы что-то откуда-то не прилетело.

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

На днях заметил что домен, который когда-то давно приобрел стоит уже за 2800 руб в год, тоже вырос 😂.

Сервис для общения: правки системы доставки сообщений

Не помню точно, но в прошлом году платил за него около 2300-2400 руб, а в 2024 г. около 1800 руб. Суть в том, что наблюдается примерно 14% - годовой стабильный рост на услуге, которая по факту и рубля не стоит. Могу ошибаться, поправьте если вру тут.

А самое печальное, физлицам нельзя предоставлять услуги рекламы. То есть (насколько понял) нужно будет зарегистрироваться минимум как ИП, платить в год 57 400 руб (или сколько сейчас?), страховые взносы, и в путь отстегивать налоги с дохода от рекламы. Чувствую опять придется развлекаться с ЭЦП (которая у меня под ООО то работала, то нет и обычно почему-то "нет" в самые ответственные моменты).

А что хотел? Вообще-то планировал как самозанятый все это дело провести 😂 Чтобы было удобно и не пришлось в бюрократию денежно вкладываться. Похоже "самозанятость" - сделана не для предоставления возможности для роста начинающих предпринимателей, а скорее для бабушек торгующих семечками и т.п. Хотя не уверен, читал что самозанятым нельзя заниматься спекуляционной деятельностью. Так что потолок возможностей для них - продавать свою продукцию до 2.4 млн руб в год.

Пока это все новости, надеюсь на этой неделе успею переделать систему доставки сообщений.

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

Показать полностью 2
1

Нас уже больше 9000 на sqltest.online

Серия SQLtest - бесплатный тренажёр SQL
Нас уже больше 9000 на <!--noindex--><a href="https://pikabu.ru/story/nas_uzhe_bolshe_9000_na_sqltestonline_13977498?u=http%3A%2F%2Fsqltest.online&t=sqltest.online&h=1cfd5aa0acb9c103d19b1e94a4f399387a3780ed" title="http://sqltest.online" target="_blank" rel="nofollow noopener">sqltest.online</a><!--/noindex-->

Нас уже больше 9000 на sqltest.online

Небольшая, но очень приятная новость: на sqltest.online зарегистрировалось уже больше 9000 пользователей.

Когда запускал проект, хотел сделать простую площадку, где можно бесплатно тренировать SQL на реальных СУБД, а не только читать теорию. Сейчас там уже тысячи людей, которые регулярно практикуются, решают задачи и прокачивают запросы.

Для меня это сильная мотивация развивать сервис дальше:

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

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

Если давно хотели подтянуть SQL, можно начать с простого: sqltest.online

Буду рад идеям, какие темы и форматы добавить следующими.

P.S. Для пользователей из РФ работает российское зеркало: sqltest-online.ru

P.S.S. Если вам нравятся мои сервисы, буду рад донату.

Показать полностью
3

Сервис генерации поздравлений "Поздравиктор"

Ребят, я тут запилил небольшой проект, потому что сам вечно впадаю в ступор, когда нужно придумать нормальное поздравление. Устал от банального «счастья-здоровья» и решил это автоматизировать.
Собрал сервис "Поздравиктор" pozdraviktor.ru. Прикрутил к нему нейросеть, которая генерирует адекватные пожелания в стихах или прозе под любой повод. Выбираете стиль, и готово. Тексты получаются на удивление живые, а не как кринжовые открытки из WhatsApp.
В общем, если вы тоже не любите вымучивать из себя красивые слова перед каждым днем рождения — заходите, тестируйте. Буду рад, если сервис сэкономит вам время!

10

Не захотел платить за Fantasy Hike и завайбкодил свой шагомер по Властелину колец

Есть такое англоязычное приложение Fantasy Hike - превращает твои шаги в путешествие по фэнтези-миру. Идея огонь, я хотел пользоваться, но там странное ограничение: бесплатно можно пройти только полтора километра в день. Сделал 10 000 шагов, а в приложении продвинулся на полтора километра. Хочешь больше - плати за подписку.

Понятно, что ребятам надо как-то зарабатывать (оплачивать серверы, разработку, продвижение, дизайнеров и тд). Но 1500 метров в день для бесплатного пользователя слишком строгое ограничение. Оно скорее про то что "не дадим нормально пользоваться, пока не заплатишь".

В итоге сел и за пару вечеров завайбкодил свой Lord of the Steps

Суть примерно та же:

  • Маршрут Фродо из Шира до Роковой Горы 2 350 км по канону

  • При 10 000 шагов в день полный путь займет около 9 месяцев

  • Шаги читаются через Health Connect (Android) и HealthKit (iOS), всё с Mi Band/Apple Watch/Garmin/Wear OS подтягивается само

  • Виджет на главный экран (шаги, км и где ты сейчас на карте)

  • Можно собраться компанией объеденившись в общие группы

Кстати, у Fantasy Hike реально классная анимация. В нем человек ходит по карте, ландшафт меняется и время суток (видно что вложились). Я такое повторять не стал, сделал проще - просто прогресс по маршруту.

Опыта в Android и iOS у меня вообще не было. Просто давно хотелось попробовать опубликовать что-нибудь в сторах, посмотреть как это устроено. С сlaude сode это оказалось реально и не за пол года, а за несколько вечеров. Собрал быстро базовую часть, потом полировал интеграцию с Health Connect и фоновую работу (там свои приколы), виджеты на ios и android, группы и тд.

Приложение есть в Google Play, App Store и RuStore, потихоньку набирает пользователей без рекламы и продвижения (сейчас около 700 активных пользователей). Видеть, как живые люди реально идут от Шира до Мордора приятно.

Скачать из:

Сайт: lord-of-the-steps.ru

В комментах готов отвечать на вопросы и предложения

Показать полностью 5

Я так рад!!!

Я так рад!!!

Сегодня у меня праздник, мой бот без перерыва общался с пользователями 933 минуты - это 15,5 часов разговоров!

За последние несколько дней, с помощью Пикабу, я достиг того, чего не достиг за месяц без него. Я очень благодарен всем тем, кто пользуется моей разработкой. Также отдельная благодарность Александру - он вызвался тестировать бота и очень мне помогает!

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

Выучим английский вместе! А пользоваться моим абсолютно бесплатным ботом для разговорного английского можно по ссылке - t.me/kmo_ai_english_bot

Этот день я запомню надолго!

Показать полностью
6

ForgeLips и ForgeSync

Приложения для настройки, созданиия и редактирования липсинка на аудио файлах. Совместим с программой MOHO. Полноценный векторный редактор для создания и редактирования фонем, а так же аудио-редактор с нодовой системой настроек, для синхронизации движения рта и экспорта. Ссылка.

Показать полностью
5

Тулкит для работы с файлами Nintendo Switch в форматах NSZ и NSP прямо в браузере на JavaScript

https://keks2293.github.io/nsz-js/

Зачем это сделано, в современных браузерах есть ограничения от v8 на память в 2 гигабайта, обычно для обхода этого ограничения файлы можно читать и писать файлы частями, но моя pyoddide версия запуска https://github.com/nicoboss/nsz в браузере Написал тулкит для работы с файлами Nintendo Switch в форматах NSZ и NSP прямо в браузере не могла читать и писать файлы частями из-за ограничений pyoddide фреймворка, так что переписал все на чистый js, заодно сайт теперь весит в 5 раз меньше, было 10 мегабайт, теперь 2 мегабайта

Использовал нейронки, про них был отдельный пост Нейронка уработалась. Вынес урок, что сейчас маленькие модели, даже хайповая https://huggingface.co/Qwen/Qwen3.6-27B и более быстрый вариант https://huggingface.co/Qwen/Qwen3.6-35B-A3B новый код пишут хорошо, но не могут переписать готовый код как надо, просто не поймут что куда, потом устанешь дебажить. Пришлось пользоваться большой облачной моделью.

Как я перестал бояться и полюбил MCP или Зачем я написал 4 MCPсервера и протокол для их связи

Привет! Вы знаете как это бывает — начинаешь делать одну штуку, а потом просыпаешься через неделю и понимаешь, что написал четыре MCP‑сервера, подключил к ним шедулер, собрал автоматический конвеер для трёх Telegram‑каналов и изобрёл собственную спецификацию для связывания всего этого добра. Классика.

Для тех кто не в теме: MCP (Model Context Protocol) — это протокол, через который AI‑ассистенты типа Claude подключаются к внешним сервисам и работают с ними напрямую. Грубо говоря — «руки» для нейросетей. Подключил MCP — и ИИ сам ходит в Telegram, ищет лучшие картинки с промптами на Civitai, управляет рекламой в Яндекс.Директе и делает кучу всего полезного. Без костылей, без скриптов‑прослоек, напрямую.

Меня зовут Илья, я блогер, основатель сервиса для генерации изображений ArtGeneration.me и просто фанат нейросетей. Не являюсь программистом в классическом смысле — скорее энтузиаст, предпочитающий генерировать код с помощью нейросетей, а не писать его с нуля. Но за последний месяц я, кажется, немного увлёкся. «Немного» — это 250 инструментов в четырёх серверах, ежедневные автопайплайны и протокол, которого не существовало до того, как я понял что он мне нужен.

А началось всё с того, что мне нужно было регулярно тянуть контент с Civitai для трёх телеграм‑каналов. Руками это стабильные полтора часа в день. Рутина. Я подумал — ну щас подключу готовый MCP‑сервер и всё заработает. Ага, щас.

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

❯ Почему проще написать свой, чем допилить чужой

Тот MCP‑сервер для Civitai, что лежит на GitHub, был написан 7 месяцев назад. Открываю — и понимаю что он покрывает от силы треть API, поиск моделей работает через стандартный эндпоинт (который, кстати, сломан на Civitai с мая 2025, ага), а половина нужных мне параметров фильтраци просто захардкожена. Час пытался допилить — плюнул.

С Telegram была похожая история. Существующие MCP‑серверы покрывали десяток‑другой методов из 169 доступных в Bot API. Хочешь отправить сообщение — пожалуйста. Хочешь управлять форумами, сторис, подарками, бизнес‑аккаунтами? Удачи, допишите сами.

И вот тут я понял штуку, которая звучит контринтуитивно: в 2026-м проще написать MCP‑сервер с нуля, чем обновить версию API в том, что полгода не обновлялось. Серьёзно. Ты берёшь актуальную спеку с официального сайта, 2–3 чужих репозитория как референс, лучшие практики из MCP SDK — и даёшь всё это своему кодинг‑агенту. За день получаешь сервер, который покрывает 100% API и сделан по твоим правилам. А чужой полугодовалый — там свои архитектурные решения, свои баги, устаревший API, и ты тратишь столько же времени просто чтобы понять что он вообще делает или на обновление версий.

Это не значит что мы делаем велосипед с нуля — мы делаем велосипед по ГОСТ‑чертежам и из правильных запчастей. И это часто быстрее чем чинить чужой и ржавый.

❯ Что я написал

Короче, за месяц я собрал четыре MCP‑сервера. Два опенсорсных, два приватных. Но расскажу про все.

civitai‑mcp‑ultimate (Python + FastMCP, 14 инструментов) — самый полный MCP‑сервер для Civitai API из всех что есть. И я не побоюсь этого слова — я проверял. 100% покрытие публичного API, все 7 эндпоинтов, все параметры. Поиск моделей работает через Meilisearch (потому что родной поиск Civitai сломан с мая 2025), просмотр топовых картинок с промптами, скачивание LoRA и чекпоинтов, анализ трендов. NSFW‑фильтрация, кэш превьюшек, двуязычный вывод EN/RU. Ставится одной командой через pip install civitai-mcp-ultimate.

telegram‑api‑mcp (TypeScript, 169 инструментов) — тут я разошёлся. 169 из 169 методов Bot API 9.6 — полное покрытие. Сообщения, медиа, опросы, форумы, стикеры, платежи, бизнес‑аккаунты, истории, подарки, игры, инлайн, управляемые боты — всё. Есть мета‑режим (подсмотрел идею в одном из существующих серверов) — вместо 169 тулов выставляет всего 2: поиск метода и вызов с JSON‑параметрами. Экономит кучу токенов контекста, что немаловажно. Под капотом — rate limiting, circuit breaker, Zod‑валидация, всего 2 зависимости.

Генерация креативов (приватный, Python + FastMCP, 11 инструментов) — MCP‑сервер для генерации картинок и видео. Текст‑в-картинку, картинка‑в-видео, апскейл, удаление фона, подписи к изображениям. Использую и для генерации креативов к рекламе в Яндекс.Директе, и просто для иллюстраций — вот картинки к этой статье, например, тоже через него сгенерированы. Удобно делать это прямо из Claude не переключаясь никуда, к тому же он сам видит результат и может решить — ок получилось или надо перегенерить. Этот я вам не дам, мои коровки.

Автоматизация одной соцсети (приватный, Python + Playwright, 56 инструментов) — самый необычный из всех. Не все площадки дают нормальный API для публикации — некоторые в принципе предоставляют только веб‑интерфейс. И тут MCP заканчивается, начинается Playwright — движок для браузерной автоматизации. Нейросеть открывает мой браузер с живой сессией и работает с интерфейсом как обычный пользователь. Кликает кнопки, заполняет формы, загружает файлы. Какая конкретно соцсеть — не скажу, а то прочитают и забанят. Но работает отлично.

Итого: 250 инструментов в четырёх серверах. Плюс ещё MCP для Яндекс.Директа, но его я не писал — подключил готовый и он меня вполне устроил. Хотя я был шокирован процедурой получения доступа к API Директа — мало того что надо создать своё приложение, так ещё и подать заявку на подключение, в которой подробно описать что ты делаешь и зачем тебе это. И заявки рассматривают только по будням в рабочее время. В 2026 году. Ну ок.

❯ Какие задачи я решаю прямо сейчас

Ладно, хватит про серверы — давайте про то зачем это всё. У меня сеть телеграм‑каналов про нейросети и каждый день им нужен свежий контент. Раньше я, а потом мой СММщик, тратили на это полтора часа в день: зашёл на Civitai, полистал, нашёл что‑то интересное, скачал, оформил пост, опубликовал, потом то же самое для следующего канала. Конечно, что‑то можно было частями автоматизировать, но на то чтобы эти автоматизации запускать и поддерживать тоже уходило время.

Сейчас у меня крутятся три автоматических пайплайна. Каждый день:

12:06 — Claude Code просыпается по расписанию, идёт в Civitai MCP, находит самую популярную по реакциям на портале картинку за день, забирает промпт и метаданные генерации, оформляет пост и публикует в канал с промптами через Telegram MCP. Потом кросспостит в другие сети.

14:00 — для канала с нейро‑моделями. Находит популярную модель (LoRA или чекпоинт), собирает информацию о ней и 6 примеров картинок, переводит описание на русский и формиурет пост.

14:07 — для канала с AI‑видео. Ищет самое популярное по реакциям видео за день, скачивает несколько кандидатов, получает скриншоты из каждого, сравнивает что интереснее — и лучшее публикует в канал.

Три канала, ежедневный контент, ноль ручной работы. Причём Claude по‑настоящему смотрит на контент. Оценивает качество, проверяет что промпт интересный, при необходимости подредактирует подпись. Если картинка так себе — пропустит и возьмёт следующую.

Отдельная история — Яндекс.Директ. Связка из MCP для генерации креативов + MCP для Директа — это вообще другой уровень. Просто пишу вопрос по метрике — получаю ответ. Пишу что надо поменять ставки в объявлениях — получаю замену. Но вайбкодинг маркетинга — это совсем другая история, и её мы коснёмся как‑нибудь в следующий раз.

❯ Казалось бы, что может пойти не так?

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

Или вот: утренний прогон нашёл крутую картинку и запостил в канал с промптами. Дневной проснулся, пошёл на Civitai — и нашёл её же, потому что она всё ещё в топе. И запостил в канал с моделями. Потому что откуда ему знать что утром её уже использовали? Это другой запуск Claude, другой промпт, другой контекст.

А теперь давайте разберёмся почему так происходит. MCP‑протокол специально сделан так, чтобы серверы были изолированы друг от друга. Каждый в своём процессе, каждый со своим состоянием. Civitai MCP знает что контент скачали. Telegram MCP знает что что‑то опубликовали. Соцсетный MCP вообще ничего не знает — он живёт в браузере. Между ними — пустота. Никакой общей базы данных, никакой шины сообщений, никакого общего состояния. Так задумано — изоляция серверов делает их надёжными и независимыми.

Но ты стоишь перед простым вопросом: «Это уже постили?» — а ответить нечем.

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

Я перебрал все варианты которые смог найти — и убедился что ничего подходящего нет.

❯ Один лог чтоб всеми править

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

Но я начал не бездумно. Прежде чем изобретать своё — я провёл нормальное исследование. Потратил вечер чтобы перерыть всё что существует и убедиться что я не пропустил готовое решение.

Вот что я рассмотрел и почему отказался:

OpenTelemetry — первый кандидат, самый очевидный. Индустриальный стандрат трассировки. Проблема в том, что OTel трейсит вызовы — spans, traces, метрики. Он отвечает на вопрос «почему запрос шёл 3 секунды», а не «постили ли мы уже эту картинку». К тому же нужна инфраструктура: коллектор, экспортёр, бэкенд. Для моих трёх пайплайнов это как стрелять из пушки по воробьям.

Google A2A (Agent‑to‑Agent) — протокол коммуникации между агентами. Свежий, модный. Но он про то как агенты общаются друг с другом, а не про логирование того что каждый сервер делал. Другой уровень абстракции.

IETF AAT (Agent Audit Trail) — draft‑спецификация с фокусом на комплаенс. Хэш‑цепочки, ECDSA‑подписи, всё для SOC2 и HIPAA. Я тоже хочу быть enterprise, но мне надо просто узнать постили ли мы уже эту лору или нет.

Langfuse / LangSmith / Arize Phoenix — платформы LLM‑обсервабилити. Трейсят API‑вызовы к нейросетям, стоимость токенов, латенсию. Но не жизненный цикл контента. Плюс требуют облако или self‑host.

На этом моменте я уже начал подозревать что придётся писать своё. Но на всякий случай проверил ещё пару вариантов.

CA‑MCP (arXiv 2601.11595) — shared context для транзиентного стейта между MCP‑серверами. Интересная идея, но это про оперативный контекст, а не про персистентное логирование.

lokryn/mcp‑log — аудит‑лог операций MCP‑сервера. Ближе к теме, но заточен под SOC2/HIPAA аудит, не под трекинг контента.

Agent Protocol — определяет REST API для агентов. Не формат логов.

Итого: на апрель 2026 протокола кросс‑MCP трекинга контента не существует. Ни один из рассмотренных вариантов не совмещает три вещи которые мне нужны: семантику контента (что именно опубликовали), zero shared state (без общей базы) и легковесность (один файл, ноль зависимостей).

Ну раз нет — значит будет. Я изучил лучшие практики из каждого рассмотренного решения, подумал над архитектурой, и написал TRAIL — Tracking Records Across Isolated Logs.

Идея простая до безобразия. Каждый MCP‑сервер ведёт свой лог — обычный JSONL‑файл trail.jsonl. Одна строчка на каждое значимое действие. Никакой общей базы — каждый пишет в свой файл. А нейросеть‑оркестратор читает все логи и связывает записи через универсальный Content ID.

Вот как это выглядит. Civitai MCP выбрал картинку:

{"version":2,"timestamp":"2026-04-05T14:07:00Z","content_id":"civitai:image:12345","action":"selected","requester":"daily-post","trace_id":"run-001"}

Telegram MCP опубликовал ту же картинку:

{"version":2,"timestamp":"2026-04-05T14:07:05Z","content_id":"civitai:image:12345","action":"posted","requester":"daily-post","trace_id":"run-001","details":{"platform":"telegram","platform_id":"42"}}

Один и тот же content_id — civitai:image:12345. Оркестратор видит записи мгновенно и внутри одного контекста автоматически связывает их в единый трейс — эта картинка выбрана и опубликована в Telegram. Повторно постить не нужно. А если бы вторая запись была "action":"failed" — оркестратор понял бы что публикация упала и надо повторить.

trace_id связывает все записи одного прогона пайплайна. Упал пайплайн в 3 ночи? Смотришь записи по trace_id — и видишь на каком шаге сломалось и где продолжить.

TRAIL определяет 15 стандартных действий: fetched, selected, posted, failed, skipped, retrying, transformed, moderated и так далее.

И три уровня совместимости:

  • Basic — 5 обязательных полей + 2 инструмента (get_trail, mark_trail). Хватит чтобы решить проблему дедупликации.

  • Standard — добавляет trace_id, автологирование, статистику. Для продакшн‑пайплайнов.

  • Full — цепочки причинности через caused_by, все 15 действий, экспорт в OpenTelemetry. Для мульти‑агентных систем.

Фишка в том, что нейросеть сама понимает контекст. Поля названы по‑человечески: content_id, action, requester, timestamp. AI сам видит что уже скачано, что опубликовано, а где произошёл сбой. Без единой строчки интеграционного кода между серверами. Ноль общего состояния, ноль зависимостей.

И раз уж всё это сделано агентами и для агентов — для интеграции TRAIL в свой MCP‑сервер вам зачастую достаточно просто показать вашему кодинг‑агенту ссылку на спеку и сказать «сделай». Серьёзно, попробуйте.

❯ Что я понял про MCP‑разработку

За месяц я прогнал каждый из своих серверов через 5–7 раундов code review. Не потому что я перфекционист — просто после каждого ревью вылезало что‑то новое. И постепенно у меня сложился набор правил, которые я теперь считаю обязательными. Все эти правила — как на уроках труда — написаны кровью и на собственных ошибках. До появления TRAIL я пару раз успел запостить свои тестовые посты туда, откуда их нельзя было удалить)))

Rate limiting и circuit breaker — не опционально. Telegram банит ботов которые шлют больше 30 запросов в секунду. Civitai отвечает 429-ми если частишь. Без встроенного rate limiter ваш MCP‑сервер ляжет на первом же реальном пайплайне. Circuit breaker тоже нужен — если API лёг, нет смысла долбить его запросами, лучше подождать и попробовать позже.

Валидация до отправки в API. Проще сделать правильную валидацию сразу, чем дебажить матерясь потом. Большинство существующих серверов этого не делают — отправляют сырые параметры в API и возвращают непонятный 400-й ответ. В telegram‑api‑mcp каждый из 169 методов проходит через Zod‑валидацию — если ты передал строку вместо числа, ты узнаешь об этом с понятным сообщением, а не с «Bad Request» от Telegram.

Минимум зависимостей. Это я усвоил ещё на Civitai‑сервере, когда одна из транзитивных зависимостей сломала билд после обновления. telegram‑api‑mcp — 169 методов, продакшн‑фичи, а зависимостей всего 2: SDK и Zod. Чем меньше зависимостей, тем меньше шансов что что‑то сломается при обновлении. И тем проще разобраться в проекте.

Tool annotations. Каждый инструмент помечен: readOnly, destructive, idempotent, openWorld. AI‑клиент видит эти аннотации и понимает какие тулы безопасно вызывать автоматически, а какие лучше подтвердить у человека. deleteMessage — destructive, getChat — readOnly. Мелочь, а автономные пайплайны работают надёжнее.

Маскирование токенов. Бот‑токен не должен появляться в ответах, логах и сообщениях об ошибках. Никогда. Казалось бы очевидно, но я видел репозитории с кучей звёздочек и форков, которые возвращают полный URL запроса вместе с токеном в тексте ошибки. Прямо в контекст LLM. Понятно что у них такая архитектура и свои причины, но блин — можно же было сделать утилиту и возвращать файл, а не светить токеном в ответе нейросети.

❯ Агентное управление — это новый компьютер

Вот что принципиально изменилось в подходе к автоматизации. Раньше оркестрация выглядела так: написал скрипт, прописал if‑else, запустил по крону. Скрипт тупой — делает ровно то, что написано. Если что‑то пошло не так — падает. Если API поменялся — падает. Если картинка плохая — пофиг, постит.

Сейчас оркестратор — это Claude Code, запущенный по расписанию. Он понимает что делает. Если Civitai API вернул ошибку — подождёт и попробует снова. Если картинка не подходит по качеству — пропустит и возьмёт следующую. Если Telegram вернул rate limit — замедлится. Если что‑то сломалось фундаментально — напишет в TRAIL‑лог "action":"failed" и остановится, вместо того чтобы запостить мусор.

И это не какой‑то сложный код с обработкой исключений на каждый случай. Это один промпт: «найди лучшую картинку за день, проверь что мы её ещё не постили, оформи пост, опубликуй». Всё остальное нейросеть решает сама — потому что она понимает контекст.

Но знаете что ещё круче? Это всё прекрасно работает и до того, как оно превращается в MCP. Потому что до MCP у вас просто есть токен и LLM, которая пишет на лету под него обёртку. Скормили токен от Vercel, Supabase и GitHub в одного агента — и он сам управляет этим как угодно. И скорее всего знает лучше вас, что можно сделать и что нельзя. Вам не надо помнить команды. Не надо помнить спеки. Можно задать вопрос про спеки — узнать отевт. Можно попросить загуглить лучшие практики и после этого настроить сервер. Это совсем другой подход к решению задач и к управлению процессами.

MCP — это уже следующий шаг, когда ты эти обёртки стандартизируешь и делаешь переиспользуемыми. Вместо того чтобы каждый раз объяснять агенту как ходить в Telegram API, ты один раз пишешь MCP‑сервер — и дальше он работает из любого проекта, любого агента, любого контекста.

Дженсен Хуанг сказал недавно, что агентные системы управления — это буквально новый компьютер. Полностью согласен. Это многоуровневые системы, которые корректируют сами себя за счёт умного оркестратора, справляются с ошибками и даже могут дорабатыать себя если внести это в цикл. Хотя хорошо это или плохо — пока не понятно, тут только время покажет.

С этим контент‑заводом из MCP‑серверов я наконец‑то смогу уволить СММщика освободить СММщика для более творческих задач, автоматизировав рутину.

❯ Что дальше

Все публичные проекты — опенсорс, MIT лицензия:

  • civitai‑mcp‑ultimate — MCP для Civitai. 14 инструментов, 100% API, Python. pip install civitai-mcp-ultimate

  • telegram‑api‑mcp — MCP для Telegram. 169/169 методов Bot API 9.6, TypeScript

  • trail‑spec — спецификация TRAIL для связывания MCP‑серверов между собой

Если делаете свой MCP‑сервер и у вас в системе несколько таких серверов — попробуйте TRAIL. Для интеграции достаточно дать кодинг‑агенту ссылку на спеку. А если хотите добавить что‑то своё и улучшить проекты — welcome контрибьютить. Звёздочки на GitHub тоже привествуются, мелочь а приятно.

Пишите в комментариях какие MCP используете вы и каких не хватает — может, мне тоже такой надо. Вообщем в классное время живём, товарищи.

Я рассказываю больше о нейросетях и автоматизации у себя в YouTube, в Телеграме и на Бусти. Всех обнял и удачных автоматизаций.

Показать полностью 8
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества