Hermoso это маркетинговый MCP-сервер: 922+ инструмента через одну конечную точку с OAuth, которые позволяют агенту исследовать объявления, уже идущие на рынке, создавать готовые графические и видеообъявления, публиковать их и строить под ними платные кампании. Codex подключается ко всему этому через одно соединение. Эта страница описывает один фрагмент: что Codex может делать в X и чего X ему не позволит.
Подключите Hermoso к Codex
- Одна команда, и ключ не нужен.
Codex читает файл маркетплейса в публичном репозитории Hermoso и устанавливает пять навыков (research, ad-from-brand, generate, product-photoshoot и marketing). Навыки запускают командуcodex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermosohermosoчерезnpx, поэтому список инструментов не загружается в сессии, и ничего не расходует контекст, пока не запущена команда. - Войдите один раз.
Откроется вход через браузер, и учётные данные с доступом только для владельца сохранятся вnpx -y hermoso auth login~/.hermoso/config.json. Нет браузера на этой машине, например в CI или контейнере? Создайте ключ в разделе MCP и CLI → Терминал и API-ключи и выполнитеnpx -y hermoso auth login --token hmk_…. Ключ даёт реальные права на расходы, так что относитесь к нему как к паролю. - По желанию: и MCP-сервер.
Команда записывает сервер вcodex mcp add hermoso -- npx -y hermoso mcp~/.codex/config.tomlи читает тот же сохранённый вход, так что ключа в файле нет. Предпочитаете размещённую точку доступа?codex mcp add hermoso --url https://app.hermoso.ai/mcp, затемcodex mcp login hermosoдля входа через OAuth. Навыки дотягиваются до каждого инструмента и без того, и без другого. - Попросите Codex о чём-нибудь. «Найди самые долго работающие объявления трёх главных конкурентов и переделай лучший хук в видео 9:16» или «опубликуй этот рендер в канале». Агент выбирает инструменты; расходы подтверждаете вы.
Codex хранит MCP-серверы в ~/.codex/config.toml или в .codex/config.toml доверенного проекта, и этот файл в формате TOML, а не JSON: скопированный блок mcpServers не загрузится, а записанная вручную запись выглядит как [mcp_servers.hermoso] с command = "npx" и args = ["-y", "hermoso", "mcp"]. Завершающий mcp обязателен: npx -y hermoso без подкоманды печатает справку и выходит. Codex читает маркетплейсы плагинов в той же структуре .claude-plugin, что и Claude Code, поэтому один репозиторий ставится в обоих.
Затем подключите сам X один раз: Настройки → Коннекторы в Hermoso. Это экран согласия OAuth, поэтому это единственный шаг, которому нужен браузер. Всё после него это вызовы инструментов.
Инструменты X, которые получает Codex
post_to_x: публикует текст, изображение или видео с альтернативным текстом, целый тред, ответ, цитирующий пост, или опрос, и может ограничить, кто вправе отвечать.post_x_article: публикует длинную статью. Пишете в Markdown, и заголовки, списки, цитаты, ссылки, блоки кода и таблицы переносятся как есть.edit_x_post: переписывает уже опубликованный пост в течение часа, который разрешает X.schedule_post: ставит пост в общий календарь.x_post_metrics: публичные показатели поста.x_post_insights: показатели рекламного уровня только за последние 28 часов: показы, клики по ссылке, переходы в профиль, просмотры видео и квартили досмотра.x_post_insights_historical: те же показатели за любой период, до 25 постов за раз. Это инструмент для вопроса «как прошёл прошлый месяц».x_mentions: кто упоминает бренд.delete_x_post: удаляет пост.
X единственный коннектор, который стоит денег за каждый вызов, и цифры опубликованы, а не спрятаны. Meta, TikTok, LinkedIn, YouTube, Threads и Drive не берут плату за запрос; X берёт её с нас, поэтому такие вызовы списывают несколько кредитов каждый. Обычный пост стоит $0.015 за запрос, а пост со ссылкой: $0.200, примерно в 13 раз дороже. Удаления, чтения и запись метаданных альтернативного текста имеют собственные цены, а показатели списываются за каждый возвращённый пост. Определение ссылки намеренно считает, что ссылка есть, если есть сомнения, потому что ошибка в другую сторону стоит в 13 раз дороже. Практический вывод: в X один хороший пост лучше пяти, и ваш агент получает цену до публикации. Длина определяется аккаунтом, который публикует, а не фиксированными 280 символами. Hermoso читает собственную подписку аккаунта на X и отправляет до 25 000 символов там, где это разрешает Premium, поэтому длинный пост уходит целиком, а не возвращается с отказом, и ничего не обрезается. Это к тому же дешёвый вариант: один длинный пост это один оплачиваемый вызов X, а те же слова, разбитые на пять постов, это пять вызовов. Подписка X Premium открывает ещё две вещи, которые Hermoso публикует за вас: длинную статью Article, написанную в Markdown с сохранёнными заголовками, списками, цитатами, блоками кода и таблицами, и редактирование уже опубликованного поста в течение часа, который разрешает X.
Ограничения X, о которых стоит знать до автоматизации
| Текст | Длина определяется аккаунтом, который публикует: обычно 280 символов, до 25 000 с X Premium. Hermoso читает подписку из X, поэтому длинный пост уходит целиком. Ничего не обрезается. Проверка выполняется при создании или постановке в очередь, поэтому слишком длинный пост отклоняется, пока вы ещё рядом и можете его поправить, а не обрезается тихо по пути. |
|---|---|
| Видимость | Только публично. Пост в X виден всем с момента появления. В API нет черновика и нет непубличного поста. Защищённые аккаунты существуют, но это настройка всего аккаунта, которую Hermoso не читает и не меняет, а не выбор для отдельного поста. |
| Карусель | Отклоняется с указанием конкретной причины. «У X нет листаемой карусели.» Его API прикрепляет до 4 медиафайлов к посту, и они выводятся сеткой, где все изображения видны сразу и листать нечего, поэтому серия слайдов «1/6 · SWIPE» не может быть опубликована там так, как задумано. Отказ говорит, что делать: «Опубликуйте в X самый сильный слайд или уберите X из этого поста». Серия, которая просит читателя листать, а выводится сеткой, хуже, чем её отсутствие. |
| Какой аккаунт | Ничего. X публикует в подключённый аккаунт. |
Попробуйте в Codex
Просите обычным языком. Это простые фразы, а не DSL:
«Неинтерактивно: публикуйте одно обновление в X на каждый релиз, короче 280 символов, со ссылкой только в этом посте, и записывайте оплаченную стоимость.»
Это проходит по цепочке get_brand → generate_text → post_to_x → x_post_insights_historical. Интерактивно Codex показывает вызов до запуска. В неинтерактивном режиме спросить некого, поэтому шаги, которые публикуют или тратят деньги, нужно продумывать заранее.
Codex и X: что важно знать
Этот канал бюджетируйте осознанно. Каждый пост, удаление и чтение это оплачиваемый запрос, инсайты оплачиваются за каждый возвращённый пост, а пост со ссылкой стоит примерно в 13 раз дороже обычного. Для задачи без присмотра это означает: один пост на событие, а не тред, одна ссылка, а не несколько, и ограничение на частоту запуска задачи. Лимит по символам это чистый отказ, поэтому задача с ошибкой падает громко, а не публикует наполовину сказанное.
Для неинтерактивных запусков предпочитайте команду hermoso с --json полному манифесту инструментов. Она куда дешевле по контексту и проще для проверок.
Исследуйте X перед публикацией
Рекламной библиотеки X для поиска нет. Исследование X здесь это ваш собственный аккаунт: упоминания, показатели постов и исторические цифры рекламодателя. Всё остальное в исследовательском разделе работает как прежде: рекламные библиотеки Meta, Google и LinkedIn, а также органические TikTok, Instagram, YouTube, Reddit и Threads.
Платная часть
Реклама в X запущена в августе 2026 года, поэтому X теперь работает в обоих направлениях. API рекламы X отдельный продукт на отдельном хосте с собственной подписью OAuth 1.0a, поэтому он появился позже остальных. Hermoso теперь строит на нём всё дерево продвигаемых постов: кампанию, line item (так X называет группу объявлений), продвигаемый твит, таргетинг, бюджеты, статус и отчётность. Рекламный пост продвигает пост, поэтому креатив это пост, тот же, который Hermoso публикует органически. Переключатель, который запускает реальные деньги, не работает без явного подтверждения, как и на остальных одиннадцати платформах. Одно нужно знать до планирования бюджета: X выдаёт доступ к API рекламы на рекламный аккаунт, а не на приложение, поэтому кнопки OAuth здесь нет. Вы добавляете пользователя X Hermoso в свой рекламный аккаунт на business.x.com → Account access, и он появится в list_x_ads_accounts с уровнем доступа, который выдал X.
Что Codex не может сделать сам
Агент с бюджетом полезен только тогда, когда радиус поражения ограничен, поэтому ограждение стоит в сервере, а не в промпте. Каждая рекламная кампания, группа объявлений, группа и объявление создаются на паузе, а переключения статуса, которые запускают реальные деньги, не выполняются без явного флага подтверждения. Каждый рендер сначала оценивается (hermoso_capabilities публикует точную стоимость каждой модели в кредитах до того, как что-либо тратится). Кредиты резервируются до первого вызова провайдера и списываются по точной стоимости после, поэтому сбойный запуск возвращает кредиты, а не оставляет вас с платой за ничего. Удаления тоже требуют подтверждения, а каждое дерево кампании перечитывается из рекламной платформы, прежде чем ваш агент расскажет, что он построил.
Один шаг намеренно не безголовый: подключение аккаунта это экран согласия OAuth, поэтому канал подключается один раз в браузере. Всё после этого это вызов инструмента.
Остальная матрица
Из Codex публикуйте в: Facebook · Instagram · Threads · TikTok · YouTube · LinkedIn · Pinterest · Bluesky · Telegram. Или см. всё, куда Codex может публиковать.
Публикация в X из: Claude · ChatGPT · Claude Code · Cursor · Cline · OpenClaw · Grok Bot · Hermes · Gemini CLI · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip · Реклама из командной строки
Часто задаваемые вопросы
Может ли Codex публиковать в X?
Да, с плагином Hermoso для Codex. Выполните codex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermoso, что установит навыки Hermoso, затем войдите один раз командой npx -y hermoso auth login. Вход открывает браузер и сохраняет учётные данные сам, поэтому ключ создавать и вставлять не нужно. Для MCP-сервера выполните также codex mcp add hermoso -- npx -y hermoso mcp. Тогда в Codex появляются 922+ инструмента, включая те, что публикуют в X, а также те, что исследуют рекламу, уже работающую на вашем рынке, и создают сам креатив.
Как подключить X к Codex?
Два шага, каждый по одному разу. Выполните codex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermoso, что установит навыки Hermoso, затем войдите один раз командой npx -y hermoso auth login. Вход открывает браузер и сохраняет учётные данные сам, поэтому ключ создавать и вставлять не нужно. Для MCP-сервера выполните также codex mcp add hermoso -- npx -y hermoso mcp. Затем подключите X в Hermoso: Настройки → Коннекторы, там откроется экран согласия OAuth в браузере. После этого Codex публикует в X как обычный вызов инструмента.
Может ли Codex опубликовать карусель в X?
Нет. API X прикрепляет к посту до четырёх медиафайлов, и они выводятся сеткой, где все изображения видны сразу и листать нечего, поэтому пронумерованная серия слайдов там не опубликуется так, как задумано. Codex вызывает тот же инструмент публикации в любом случае, а канал, который не может нести карусель, отклоняется с настоящей причиной.
Сколько стоит публикация в X из Codex?
X единственный коннектор, который списывает кредиты за каждый вызов, потому что X берёт плату за каждый запрос к API: около $0.015 за пост и $0.200 за пост со ссылкой, то есть примерно в 13 раз дороже. Ваш агент получает цену до публикации. Тарифы: $29, $69 и $149 в месяц за 1 200, 3 000 и 7 000 кредитов, и каждая функция доступна на любом тарифе, включая Бесплатный. Исключение: корпоративный SSO.
Нужен ли Codex мой пароль от X?
Нет. Вы подключаете X к Hermoso один раз через экран согласия OAuth в браузере, а Codex дальше обращается к нему как к вызову инструмента. Привязка аккаунта единственный шаг, который требует браузера; всё после него обходится без пароля, и никакие учётные данные не передаются модели.
Может ли Codex запланировать пост в X на потом?
Да. schedule_post ставит его в очередь единого календаря, общего со всеми остальными каналами, с отдельной подписью для канала, если текст должен отличаться. list_scheduled и cancel_scheduled показывают запланированное и отменяют его. X один из одиннадцати каналов, которые работают с очередью.
Начните бесплатно: 30 кредитов при регистрации и ещё 250+ можно заработать. Все функции доступны на каждом плане.
Начать бесплатно → Посмотреть цены