Pavel Zloi
3.66K subscribers
665 photos
62 videos
2 files
949 links
директор ИИ · инженер‑интегратор
@eprogrammist | https://github.com/EvilFreelancer

20 лет в IT
∈ 10 лет в разработке
∈ 3 года в ML/AI
∈ 1 год - вайбмастер

Бусти:
https://boosty.to/evilfreelancer

Пожертвования:
https://pay.cloudtips.ru/p/937f48ac
Download Telegram
#300tps
Бабушкины рецепты

Сегодня наш LLMOps (Серёга, привет!) показал новый интерфейс рецептов vLLM.
На первый взгляд просто удобный конструктор: выбираешь модель, железо, параметры - получаешь готовый vllm serve.

Но мне кажется важнее не UI и даже не JSON API.

Важнее сама попытка вынести то «как правильно запустить конкретную
модель на конкретном железе» в отдельный воспроизводимый
артефакт. Потому что обычно это знание живёт где угодно:
в model card, в README, в issue, в PR, в Discord, в голове
инженера который «уже поднимал Qwen на H200 и помнит где грабли».

Что конкретно появилось.
Раньше рецепты были md файлами
в подразделе доки - свободный текст, каждый автор писал как
удобно. Сейчас YAML-схема со строгими полями (hardware_configs,
flags, throughput_vs_latency), валидация и формула VRAM при
билде, JSON API, ну и конечно селектор на странице модели.

Живой пример скорости: сегодня релизнулся DeepSeek V4, PR
поддержки в vllm (#40760) ещё мержится - а рецепт для V4-Pro
уже на сайте, верифицирован на 8×H200, с готовыми флагами вроде --tool-call-parser deepseek_v4.
Раньше при выходе модели такое собирали бы неделю по чатам и issue.

По сути мы чуть продвинулись на пути от набора шаманских команд к набору версионируемых рецептов.
👍19🔥135
Вайбкодинг для DevOps

Размышлял намедни о порядке в своем зоопарке серверов. Моя самая главная и рутинная проблема - развертывание десятков контейнеров на разных машинах, их автоматическое обновление и поддержка. На docker swarm у меня аллергия, ansible не годится, потому что эти скрипты неустойчивы к изменениям, и их тоже надо сопровождать. Вдоволь наигравшись с *Claw и прочими Harness и агентами, составил для себя что-то типа правил администрирования серверов через агентов. Делал всё по мотивам поста про вайбкодинг документации (ведь настройки серверов в формате эдакой вики тоже суть документация) и другого поста про создание каскадного скила.

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

В корне проекта глобальный AGENTS, в нём описываю как и куда подключаться, что делать и так далее.

Помимо этого, в этих директориях я решил хранить папки, дублирующие структуру домашней папки пользователя. А в них у меня всякие разные docker-compose.yaml, настройки env, конечно же README с описанием чего и как делать и так далее, получается что-то типа этого:

servers/
README.md
AGENTS.md
lb01/
README.md
containers/
docker-langfuse/
docker-compose.yaml
README.md
...
gpu02/
README.md
containers/
docker-tei/
docker-compose.yml
gpu03/
README.md
nas01/
README.md
...


По итогу получается, что настройки моих серверов хранятся локально у меня и копия на сервере git. Файлы для стейтфул приложений (типа логов того же langfuse) лежат при этом на той машине, на которой это приложение запущено. Плюс секреты и конфиги там же, так как в репу я коммичу только примеры.

Кстати, знающие люди, наверное, заметят, что это напоминает систему контроля конфигураций NixOS, а кто-то скажет, что это скорее ansible. Обои будут правы ;) т.к. я вдохновлялся всеми указанными проектами. Но мое решение чуть более универсальное и, в отличие от NixOS, не привязывается к конкретной ОС, а в отличие от ansible агент работает недетерминированно и может справиться с любой операционкой и любой задачей, что я ему поручу.

То есть по сути в такой схеме каждый сервер становится уникальным саб-скилом, доступным через мета-скил.
10🔥8💯3👍1🤣1👻1🫡1
Pavel Zloi
Вайб-дизайн Starterkit 18 марта 2026 года Google выкатили стандарт DESIGN.md (прототип которого они тизерили ещё в мае 25го года), если кратко, то это такой хитрый markdown-файл для переноса и импорта общих правил оформления дизайна между проектами и инструментами.…
В продолжение темы с дизайном через агентов, намедни состоялся релиз проекта OpenDesign, это открытая альтернатива Claude Design без вендорлока на модели Antropic.

Заявлена поддержка многих кодовых агентов, включая опенкод, а это значит можно будет задействовать on-prem модели, что очень хорошо, так как у меня как-раз стоит копытом бьет qwen 3.6 35b на паре 4090.

Короче план чем заняться в праздничные дни финализирован.
🔥97
Фир оф мессинг офигенного

Прочел у Влада @NGI_ru пост про то как избавиться от FOMO и пост мне настолько понравился, что захотелось тоже высказаться на этот счет.

Для тех кому лень читать, fomo это получивший в эпоху когда все массово начали пинать ИИ силу страх пропустить что-то интересное. Эдакий думскролинг, но со знаком плюс (аналогия ложная, но суть передать позволяет). Люди с этим страхом находятся в состоянии стресса, следят за всеми новостями и стараются пробовать все новинки, так как боятся оказаться на обочине прогресса если что-то пропустят.

Мой рецепт как бороться с этим страхом следующий: никак.

Страх не победить, его можно только принять и забить, выбрать себе интересную тему и развиваться в её направлении, а лучше делать что-то свое и стать ведущим, а не ведомым, не бойтесь что-то пропустить, ваши друзья или знакомые все равно вам расскажут обо всех интересных новостях (хотите вы этого или нет;)

Лично я за новостями так наблюдаю: если выходит что-то прикольное, добавляю это в виде напоминалки в список «попробовать через две недели», а каждые выходные провожу 1-2 часа изучая то, что накопилось в этих буферных списках.

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

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

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

Конечно же бывают и исключения навроде новых моделей в кодовых агентах, или новых фичей, они просто под рукой, поэтому изучать новинку можно начать сразу же на релизе, без подготовки.
👍208
С праздником, товAIрищи!
25🎉19🤮9😢4👍3
Pavel Zloi
В продолжение темы с дизайном через агентов, намедни состоялся релиз проекта OpenDesign, это открытая альтернатива Claude Design без вендорлока на модели Antropic. Заявлена поддержка многих кодовых агентов, включая опенкод, а это значит можно будет задействовать…
Сижу пробую OpenDesign через qwen 3.6 35b, которая к слову доступна всем желающим на Hub NeuralDeep по подписке.

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

Тут конечно потребуются ещё доработки, но похоже концепция жизнеспособна, есть у меня в фигме один старенький макет чатика с моделями, попробую его скормить в качестве референса.
🔥15🥰5👎2🤔2
По просьбам трудящихся конвертировал в GGUF модельку bond005/whisper-podlodka-turbo, которая как я понял затачивалась под качественный ASR русской речи.

Доступны квантизации до f16, q8 и q4, запустить модельку вы можете дома например через мой проект docker-whisper-server.

Так как оригинальная моделька основана на whisper large v3 turbo много памяти она кушать не будет.
👏16❤‍🔥10🔥6
Расширение каталога на Hub NeuralDeep

Сегодня вместе с Валерием (@neuraldeep) добавили новых моделей в публичный API проекта NeuralDeep. Базовый URL для запросов api.neuraldeep.ru (OpenAI-совместимо, Bearer с ключом). Ключ можно получить после регистрации на hub.neuraldeep.ru.

Итого:
- LLM'ки - из коробки через апишку доступны две флагманские модельки gpt-oss-120b и qwen3.6-35b-a3b, их можно крутить в кодовых агентах и чатботах.
- Эмбеддинги - в дополнение к bge-m3 и e5-large добавили русскоязычную frida, мультимодальную jina-embeddings-v4 и толстушку qwen3-embedding-4b.
- Реранкеры - уже была bge-reranker для ранжирования чанков, пригодится для вашего RAGу.
- Голос в текст (ASR) - помимо whisper-1 добавили ещё и whisper-podlodka-turbo.

Полный список моделей можно посмотреть так:
curl -sS "https://api.neuraldeep.ru/v1/models" \
-H "Authorization: Bearer <ваш-ключ-с-хаба>"


Регистрируйтесь, пользуйтесь, предлагайте свои модельки, поддерживайте рублём, рассказывайте друзьям - нам пригодится любая ваша помощь.
119🔥10👍5
Похоже зря я критиковал облачные модельки от Сбера, так как после экспериментов с gpt2giga и litellm мне удалось заставить модели GigaChat-2 доступные по API работать в качестве сердца агентной системы.

В качестве harness взял Hermes, так как при всех её "особенностях" в виде экстравагантного UI, странностей в подключения скилов и провайдеров, она настраивается и ощущается в разы приятнее чем OpenClaw и аналоги.

И так, что надо сделать чтобы пощупать флагманские сберовские модельки в режим agentic loop:

1️⃣ регаемся тут https://developers.sber.ru/studio/login (если у вас уже есть сберовская карта, то можно через приложение зайти)

2️⃣ создаём проект, в модалке выбираем GigaChat API

3️⃣ там будет Настроить API, следуем инструкции, сохраняем все полученные ключи, позже пригодятся

4️⃣ теперь запустим апишку gpt2giga, я всё через docker делаю, так что ловите docker-compose.yaml
services:
gpt2giga:
image: ghcr.io/ai-forever/gpt2giga:latest
ports:
- "8091:8091"
environment:
GPT2GIGA_MODE: DEV
GPT2GIGA_HOST: 0.0.0.0
GPT2GIGA_PORT: 8091
GPT2GIGA_ENABLE_API_KEY_AUTH: False
GIGACHAT_CREDENTIALS: <токен вида base64>
ACCESS_TOKEN: <JWT-токен через oAuth>
GIGACHAT_SCOPE: GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL_CERTS: False
GPT2GIGA_USE_HTTPS: False
GPT2GIGA_PASS_MODEL: True

запускаем через docker-compose up -d, после чего на 8091 становится доступно API с моделями, запросим список доступных моделей командой:
curl https://127.0.0.1:8091/v1/models

если в ответе пачка моделей, включая GigaChat-2, GigaChat-2-Pro, Embeddings и так далее (кстати где Frida и sbert?) то всё сделали правильно.

5️⃣ теперь клонируем исходники Hermes:
git clone https://github.com/NousResearch/hermes-agent.git

и перейдём в корень папки hermes-agent.

6️⃣ придётся чуть прокачать docker-compose.yml, приведём его к следующему виду:
services:
gateway:
build: .
image: hermes-agent
container_name: hermes
restart: unless-stopped
network_mode: host
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
- API_SERVER_HOST=${API_SERVER_HOST:-0.0.0.0}
- API_SERVER_KEY=${API_SERVER_KEY}
command:
- "gateway"
- "run"

dashboard:
image: hermes-agent
container_name: hermes-dashboard
restart: unless-stopped
network_mode: host
depends_on:
- gateway
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
command:
- "dashboard"
- "--host"
- "0.0.0.0"
- "--no-open"
- "--insecure"

плюс создадим в папке .env файл следующего содержания:
HERMES_UID=1000
HERMES_GID=1000
API_SERVER_HOST=0.0.0.0
API_SERVER_KEY=<тут пишем свой api ключ>

запускаем композицию через docker-compose up -d, если всё ок, то в хомяке пользователя появится папка .hermes, она нам и нужна.

7️⃣ теперь надо подправить конфиг, находится он тут: ~/.hermes/config.yaml, вверху, в поле модель заменим блок models, на строки вида:
model:
provider: custom
default: GigaChat-2-Pro
base_url: https://127.0.0.1:8091/v1
api_key: ~
api_mode: chat_completions

Кстати, помимо двушки Pro, есть двушка Max, просто двушка и модели первого поколения.

Настройки системы тут https://127.0.0.1:9119

———

После рестарта при помощи docker compose restart эта конфигурация станет активной и вы сможете работать с Hermes через OpenAI-совместимое API, например:
curl -sS --max-time 120 -N -X POST "https://127.0.0.1:8642/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <тут пишем свой api ключ из .env>" \
-d '{
"model": "hermes-agent",
"messages": [
{"role": "user", "content": "Кто ты?"}
],
"stream": false
}'

А ещё эту апишку можно использовать через Open WebUI, LibreChat или в качестве модели агента OpenCode.

Если у вас возникнут какие-то сложности, то не стесняйтесь задавать вопросы, постараюсь подсказать.
19🔥13👍6🤔3🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
Встроил в хаб OpenWebUI, чтобы показать реальную скорость, и вы сразу могли проверить модели!

Работает фича из личного кабинета после авторизации (если вы нашли баг или вам интересен такой ИИкит, пишите в ЛС)

https://hub.neuraldeep.ru/

P.S. Токен из видео уже не работает))))
Скорость на видео реальная х1

За идею спасибо Паше
❤‍🔥11👍64
Pavel Zloi
Похоже зря я критиковал облачные модельки от Сбера, так как после экспериментов с gpt2giga и litellm мне удалось заставить модели GigaChat-2 доступные по API работать в качестве сердца агентной системы. В качестве harness взял Hermes, так как при всех её…
Нашёл, как мне показалось, баг в gpt2giga, запросы на модель Max через прокси почему-то вели на Lite модель.

Делаю запрос:
curl -sS -X POST "https://127.0.0.1:8091/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{"model":"GigaChat-2-Max","messages":[{"role":"user","content":"hi"}],"max_tokens":10}'

В ответе:
{"detail":{"url":"https://gigachat.devices.sberbank.ru/api/v1/chat/completions","error":{"status":402,"message":"Payment Required"}}}

(ожидаемо, потому что я за Lite модель не заплатил, токены закончились)

Списался с ведущим мейнтейнером проекта, рассказал о моей проблеме, оказалось дело было в настройках gpt2giga, вот правильная конфигурация:
services:
gpt2giga:
image: ghcr.io/ai-forever/gpt2giga:latest
ports:
- "8091:8091"
environment:
GPT2GIGA_MODE: DEV
GPT2GIGA_HOST: 0.0.0.0
GPT2GIGA_PORT: 8091
GPT2GIGA_ENABLE_API_KEY_AUTH: False
GIGACHAT_CREDENTIALS: <токен вида base64>
ACCESS_TOKEN: <JWT-токен через oAuth>
GIGACHAT_SCOPE: GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL_CERTS: False
GPT2GIGA_USE_HTTPS: False
GPT2GIGA_PASS_MODEL: True

Там внизу я добавил GPT2GIGA_PASS_MODEL: True, эта опция заставляет прокси прокидывать название модели из поля model (смотри пейлод curl запроса), по дефолту опция имеет значение False и поэтому прокси не читает из model и шлёт мой запрос на дефолт (просто GigaChat-2 модель, то есть Lite).

Кстати, между делом выяснил что GigaChat это алиас для GigaChat-2, GigaChat-Pro для GigaChat-2-Pro, а GigaChat-Max для GigaChat-2-Max, такой вот занятный факт.

PS. Оригинальный пост тоже поправил.
🔥7👍3🤪3
Ну чтож, хочу рассказать с какой целью я решил заморочиться с настройкой gpt2giga и покупкой токенов моделей GigaChat-2 (Max, Pro и Lite).

Для оценки семейства GigaChat-2 на агентном сценарии использован агент phantom-agent Валерия @neuraldeep, данный агент реализован в формате harness и ориентирован на бенчмарк BitGN PAC1 за авторством Рината @llm_under_hood.

Агент строит цикл ReAct с набором навыков и дашбордом, в README заявлен ориентир порядка ~86% на pac1-dev на gpt-oss-120b.

Методология

Прогоны выполнялись на датасете pac1-dev, он меньше продового pac1-prod и даёт валидацию, поэтому корректность ответа по задаче проверялась сразу, без ожидания сервера BitGN, плюс видно на каких задачах были совершены ошибки.

Тестирование проводилось в 1 поток (в один момент времени решается одна задача).

Тесты моделей GigaChat выполнялись через прокси gpt2giga на тестовом аккаунте, тесты моделей gpt-oss и qwen 3.6 через Hub Neuraldeep.

Во время проведения тестов gpt-oss зависла апишка BitGN на t30, поэтому тест пришлось перезапускать из-за чего такой высокий wall time, при прочих равных он должен быть на уровне qwen 3.6.

Эконономика

Для теста закуплены пакеты:
- GigaChat Max - 3M токенов за 1950 ₽
- GigaChat Pro - 3M токенов за 1500 ₽
- GigaChat Lite - 20M токенов за 1300 ₽

Оценка по купленным пакетам:
- Max: ~0,65 ₽ / 1K токенов (~650 ₽ / 1M)
- Pro: ~0,50 ₽ / 1K (~500 ₽ / 1M)
- Lite: ~0,065 ₽ / 1K (~65 ₽ / 1M)

В пересчёте на объём токенов цена укладывается в диапазон "дешёвый относительно тарифов OpenAI и Anthropic".

Результаты тестирования

Точность (доля успешных задач на PAC1-dev):
- 79.1% - GPT-OSS-120B
- 41.9% - Qwen 3.6 35B A3B
- 37,2% - GigaChat-2-Pro
- 32,6% - GigaChat-2-Max
- 14,0% - GigaChat-2 (Lite)

Время (затраченное на прогон 43 задач в 1 поток):
- GigaChat-2-Max: ~51 мин
- GigaChat-2-Pro: ~79 мин
- GigaChat-2 (Lite): ~60 мин
- GPT-OSS-120B: ~187 мин
- Qwen 3.6 35B A3B: ~15 мин

Итого

На бенчмарке pac1-dev через агента Phantom семейство моделей GigaChat-2 показало низкий результат на агентных задачах представленных в соревновании BitGN, даже по сравнению с более слабыми on-premise моделями. При этом точность работы модели Max на агентных задачах ниже чем у модели Pro.

PS. Была ещё идея провести тестирование публичный модели GigaChat 3.1 10B, но я уже ранее проводил её тестирование, результаты были слабые. Ещё очень хотелось бы провести тестирование модельки GigaChat 3.1 702B Ultra, но она к сожалению не доступна мне через API, а свободного железа чтобы запустить 702B модель под руками не имеется.
🔥32105😁5👍1
Продолжая эксперимент с оценкой моделей на агентном сценарии.

Выполнил прогоны по Yandex Cloud API и несколько моделей через локальный инференс, опираясь на ту же связку что и раньше: агент phantom-agent Валерия @neuraldeep, формат harness, тот же набор задач и валидация по PAC1-dev из бенчмарка BitGN PAC Рината @llm_under_hood.

Методология

Без изменений, совпадает с предыдущим тестом, один поток на прогон, датасет pac1-dev, ответ проверяется сразу. YandexGPT-5.1-Pro, YandexGPT-5-Lite и Alice AI LLM - тестировал через облако, затраты в рублях по факту смотрел в Yandex AI Studio.

Экономика

Пакетов как у GigaChat нет, списание происходит по типам токенов, цены тут: Правила тарификации для Yandex AI Studio

Выжимка для истории из таблицы выше (синхронный режим, цена за 1000 токенов, ₽ с НДС, на 2026-05-07):
- YandexGPT Pro 5.1 - входящие 0.8, кешированные 0.8, токены инструментов 0.2, исходящие 0.8
- YandexGPT Lite - 0.2 для всех перечисленных типов
- Alice AI LLM - входящие 0.5, кешированные 0.5, инструменты 0.13, исходящие 1.2

Расчёт фактической стоимости:
- YandexGPT-5.1-Pro - ~1482 ₽ за 1M
- YandexGPT-5-Lite - ~292 ₽ за 1M
- Alice AI LLM - ~478 ₽ за 1M

Результаты тестирования

Точность (доля успешных задач на PAC1-dev):
- 67,4% - gpt-oss:20b
- 44,2% - YandexGPT-5.1-Pro
- 23,3% - Alice AI LLM
- 20,9% - YandexGPT-5-Lite
- 2,3% - Liquid LFM2.5-1.2B Instruct

Время (затраченное на прогон 43 задач в 1 поток):
- gpt-oss:20b - ~81 мин
- YandexGPT-5.1-Pro - ~19 мин
- Alice AI LLM - ~30 мин
- YandexGPT-5-Lite - ~35 мин
- LFM2.5-1.2B - ~4 мин

Итого

Модель YandexGPT-5.1-Pro по тестам показал себя выше GigaChat-2-Pro на PAC1-dev, тратит меньше токенов, но вот цена великовата.

Модель gpt-oss:20b даёт середнячка по качеству.

Lite и Alice в облаке на агенте BitGN дали меньше правильных ответов, чем ожидалось, вероятно их тюнили под другие задачи, здесь они скорее для полноты сравнения с Pro 5.1 и с остальной матрицей. Ну а малютка LFM 2.5 подтвердила, что маленькая модель (пусть даже специально обученная на агентную работу) не тянет агентный PAC1, что ожидаемо но полезно как нижняя отметка.

PS. Модель YandexGPT-5-Pro тестировать не стал, так как уже потратил на эксперименты почти 11 тысяч рублей, а цена за её токены на четверть больше чем за 5.1 Pro.
👍19🔥42
Media is too big
VIEW IN TELEGRAM
Запись вчерашнего стрима "Как создавать AI-агентов на on-prem-моделях?".

YouTube: https://www.youtube.com/live/wjA9aPg7pjQ

Telegram: в медиа этого поста

Участники:
1. @neuraldeep
2. @kdoronin_blog

Паша. На стриме его несколько раз вспоминали:
@evilfreelancer

Платформа, с помощью которой тестировали on-prem-модели:
https://hub.neuraldeep.ru/

Презентация – в комментариях.
🔥14👍5
UPDATE:

Kimi k2.6 теперь доступна всем PRO кто приобрел подписку через юкассу

https://hub.neuraldeep.ru/
🔥8👍5
Claude Mythos это самая мощная модель-хакер или самый дорогой маркетинговый миф в истории ИИ?

Anthropic анонсировала модель, которая находит zero-day во всех ОС и браузерах, ломает чруты и пишет эксплойты на раз-два. Рынок кибербезопасности дрогнул, правительства созывают совещания, эксперты бьют тревогу. Но что, если под капотом у модели не революция в машинном обучении, а просто грамотно собранный harness с тулами и снятые safety-ограничения?

В свежем посте разбираю, почему название "Mythos" (читается как Мифос) само по себе это почти спойлер, сравниваю рекламную компанию Mythos с рекламной компанией стирального порошка "Миф", разбираю оценки экспертов, и делаю предположение о том, что любой разработчик с Claude Code и парой MCP-серверов может собрать нечто похожее у себя дома.

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

Читать на Бусти: Миф про Mythos?
👍10🔥8👏4💯1
Pavel Zloi
Mythos
Немного теории заговора

А я вот задумался, а что если большинство багов которые нашел Mythos были изначально сгенерированы клод кодом и как закладки добавлены в кодовую базу которую агенты нагенерировали, и именно в этом причина почем Mythos так много багов находит, быть может она знает что и где искать?
😁35🔥6👍5👏31👎1💯1
По работе приходится много взаимодействовать с Jira и Confluence, и вот сколько лет в ИТ работаю столько мне претит сама мысль о том, что придётся что-то в этих системах делать.

Но благодаря проекту mcp-atlassian - простому навайбленному MCP-серверу, я могу работать с обеими системами через любой кодовый агент, хоть Cursor, хоть Coddy или скажем Kimi. Пишу агенту найди посты он находит, пишу эксортируй в markdown рекурсивно посты он делает, правлю и переделываю доку, затем прошу залить обратно, агент заливает (только вот вёрстка если хитрая есть, едет).

Настраивается сервер очень просто, нужно только Personal Access Tokens сгенерить через настройки профиля (к сожалению всего на 90 дней максимум), прописать его в .env параметр *_PERSONAL_TOKEN, затем в *_URL указать адрес где на вашем сервере обитает /rest/api/ эндпоинт и запустить сервер.

Вот пример docker-compose.yaml для быстрого запуска:
services:

mcp-atlassian:
restart: unless-stopped
image: ghcr.io/sooperset/mcp-atlassian:latest
container_name: confluence-mcp
environment:
TRANSPORT: streamable-http
HOST: 0.0.0.0
PORT: 8000
JIRA_URL: ${JIRA_URL}
JIRA_PERSONAL_TOKEN: ${JIRA_PERSONAL_TOKEN}
JIRA_SSL_VERIFY: "false"
CONFLUENCE_URL: ${CONFLUENCE_URL}
CONFLUENCE_PERSONAL_TOKEN: ${CONFLUENCE_PERSONAL_TOKEN}
CONFLUENCE_SSL_VERIFY: "false"
ports:
- "8000:8000"
volumes:
- "./mcp-atlassian_data:/home/app/.mcp-atlassian"

Подключаться через например Cursor к нему можно наприме вот так:
{
"mcpServers": {
"atlassian-local": {
"url": "https://localhost:8001/mcp"
}
}
}

Мне предпочтительнее HTTP формат подключения к серверу, но есть варианты запустить этот MCP локально, так как он поставляется в виде испоплняемого файла который можно через npx поставить и потом юзать.

В общем рекомендую, мне он среди всех MCP для работы с конфлуенс и джирой (включая то что я сам навайбил) нравится больше всех.
10🔥4
А я всё чаще замечаю, что...

На сайт ChatGPT я всё меньше захожу, да и вообще на любой сайт-чат с моделями.

Мне сложно описать, что изменилось в моих привычках, но как-то так оказалось, что что-то быстрое и простое удобнее в Google поиске через AI Mode спросить (потому что там не нужно включать туннели).

Если я готовлю пост для блога то удобнее открыть Obsidian, а в нём плагин obsidian-agent-client, и к нему по ACP уже подключены Coddy Agent и KimiCode.

Если что-то посложнее либо через Coddy Agent, либо через Cursor, либо через KimiCode, либо через OpenCode удобнее спросить.
👍8😁2