GitHub-ready набор для агентной работы с Yandex Direct, Wordstat, Metrika, Roistat, Yandex Search API и связанными сценариями Yandex Audiences.
Сборка в этой папке перепроверена против официальных страниц OpenAI Codex Plugins на 2026-03-28 и оформлена как repo-local plugin + marketplace для установки в Codex.
Репозиторий собран как стартовая база для:
CodexClaude CodeGemini CLI- любых других агентных CLI, которым нужен локальный набор skills, MCP-серверов, шаблонов и скриптов
Если репозиторий впервые открывает другой ИИ, начинать лучше с:
AI_ONBOARDING.mdQUICKSTART.mdREADME.mddocs/operator-auth-launchers.mddocs/oauth-and-app-setup.md
- Новый ИИ-оператор:
AI_ONBOARDING.md - Самый короткий безопасный запуск:
QUICKSTART.md - Развилка install-paths без путаницы:
docs/install-paths.md - Типовые вопросы первого запуска:
FAQ.md - Auth-модели без путаницы:
docs/auth-model-matrix.md - Карта bundled skills:
docs/skill-index.md - Operator OAuth launchers:
docs/operator-auth-launchers.md - Полный inventory collector-скриптов:
plugins/yandex-direct-for-all/docs/data-collection-scripts.md
<repo-root>= корень этого репозитория.<plugin-root>=<repo-root>/plugins/yandex-direct-for-all.- Для
Codexосновной путь = repo-local plugin через./.agents/plugins/marketplace.json. install_codex_bundle.sh= optional personal home-install в${CODEX_HOME:-~/.codex}/plugins+~/.agents/plugins/marketplace.json; он не нужен, если вы работаете прямо из этого repo.
python3(validated on 3.11)nodeиnpm(validated on Node 20)rsync- Python package
requests - браузер для OAuth
- для
Directdefault path: свободныйlocalhost:8080
| Что хотите сделать | Откуда запускать | Как сделать | Нужен restart |
|---|---|---|---|
| Проверить bundle | <repo-root> |
bash ./plugins/yandex-direct-for-all/scripts/validate_bundle.sh |
нет |
Подключить repo-local plugin в Codex |
<repo-root> |
Ничего не копировать: использовать ./.agents/plugins/marketplace.json, затем перезапустить Codex после clone/update |
обычно да |
Сделать personal home-install в Codex |
<repo-root> |
bash ./plugins/yandex-direct-for-all/scripts/install_codex_bundle.sh |
да |
Сделать home-install в Claude |
<repo-root> |
bash ./plugins/yandex-direct-for-all/scripts/install_claude_bundle.sh |
да |
Получить token для Direct |
<repo-root> |
bash ./plugins/yandex-direct-for-all/scripts/start_yandex_user_auth.sh --service direct |
нет |
Получить token для Metrika/Audience |
<repo-root> |
bash ./plugins/yandex-direct-for-all/scripts/start_yandex_user_auth.sh --service metrika |
нет |
| Работать только внутри plugin-root | <plugin-root> |
bash ./scripts/validate_bundle.sh |
нет |
plugins/yandex-direct-for-all/skills/yandex-performance-ops— основной канонический ops-skill поDirect/Wordstat/Metrika/Roistat.plugins/yandex-direct-for-all/skills/yandex-direct-client-lifecycle— upstream-слой: intake, research, proposal, handoff.plugins/yandex-direct-for-all/skills/roistat-reports-api— отдельный API-слой поRoistat.plugins/yandex-direct-for-all/skills/amocrm-api-control— companion-skill дляamoCRM -> Yandex Audiences / VK Ads.plugins/yandex-direct-for-all/mcp/yandex-direct— локальный MCP-сервер дляYandex Direct.plugins/yandex-direct-for-all/mcp/yandex-search— локальный MCP-сервер дляYandex Search API.plugins/yandex-direct-for-all/mcp/yandex-wordstat— локальный MCP-сервер дляWordstat.plugins/yandex-direct-for-all/scripts/*.sh— быстрые launcher-скрипты для collector/parsing paths.
Bundled skills лежат прямо в plugin-root:
plugins/yandex-direct-for-all/skills/yandex-performance-opsplugins/yandex-direct-for-all/skills/yandex-direct-client-lifecycleplugins/yandex-direct-for-all/skills/roistat-reports-apiplugins/yandex-direct-for-all/skills/amocrm-api-control
Skill index:
docs/skill-index.mdplugins/yandex-direct-for-all/skills/README.mdplugins/yandex-direct-for-all/docs/skill-index.md
Я исправил этот слой.
Теперь в bundle есть:
- полный inventory:
plugins/yandex-direct-for-all/docs/data-collection-scripts.md - быстрый список:
plugins/yandex-direct-for-all/scripts/list_data_collectors.sh - top-level launchers для основных collectors:
collect_wordstat_wave.shcollect_direct_bundle.shcollect_direct_sqr.shcollect_metrika.shcollect_roistat.shcollect_organic_serp.shcollect_ad_serp.shcollect_page_capture.shcollect_sitemap.sh
Канонические скрипты при этом остались на своих исходных путях внутри skills/*/scripts/.
Все команды в этом разделе запускать из <repo-root>.
- Держать repo как есть, не копируя plugin в home-директории.
- Marketplace entry уже лежит в
./.agents/plugins/marketplace.jsonи указывает на./plugins/yandex-direct-for-all. - После clone/update repo перезапустить
Codex, чтобы он перечитал marketplace.
bash ./plugins/yandex-direct-for-all/scripts/install_codex_bundle.shЭтот скрипт создаёт или обновляет managed personal copy в ${CODEX_HOME:-~/.codex}/plugins/yandex-direct-for-all и переписывает ~/.agents/plugins/marketplace.json на фактический installed plugin path.
bash ./plugins/yandex-direct-for-all/scripts/install_claude_bundle.shinstall_claude_bundle.sh сначала refresh-ит personal Codex home-install, затем зеркалит bundle в ${CLAUDE_HOME:-~/.claude}.
bash ./plugins/yandex-direct-for-all/scripts/validate_bundle.shДля Direct / Metrika / Audience bundle теперь даёт готовый operator-flow:
bash ./plugins/yandex-direct-for-all/scripts/start_yandex_user_auth.sh --service directПо умолчанию bundle сам:
- берёт public app-profile из
plugins/yandex-direct-for-all/config/yandex_oauth_public_profiles.json - генерирует
PKCEverifier/challenge - не требует ручного заполнения
client_id/client_secret - после сохранения token сразу запускает read-only preflight
На выходе будут:
./.codex/auth/direct_oauth_token.json./.codex/auth/direct_oauth.env./.codex/auth/direct_oauth_preflight.json
Сервисные default-path такие:
direct->local-callbackmetrika->manual-code/verification_codeaudience->manual-code/verification_code
Runtime-важно:
directпо умолчанию слушаетhttp://localhost:8080/callback- launcher может открыть браузер автоматически
- если local callback неудобен, используйте two-step path через
--print-only --no-browser
Если нужен именно явный two-step confirmation-code flow:
bash ./plugins/yandex-direct-for-all/scripts/start_yandex_user_auth.sh --service metrika --print-only --no-browser
bash ./plugins/yandex-direct-for-all/scripts/exchange_yandex_user_code.sh --service metrika --code <confirmation-code>Подробно:
docs/operator-auth-launchers.mdplugins/yandex-direct-for-all/docs/operator-auth-launchers.md
examples/yandex.env.example больше не является обязательным шагом для получения user token в Direct / Metrika / Audience.
Матрица:
Direct / Metrika / Audience, default launcher path -> обязательных env нетDirectruntime без launcher -> обычноYD_TOKENиYD_CLIENT_LOGINWordstat->YANDEX_WORDSTAT_TOKENиYANDEX_WORDSTAT_CLIENT_PATHYandex Search API->YANDEX_SEARCH_API_KEYиYANDEX_SEARCH_FOLDER_ID
Env-файл нужен только если вы хотите:
- переопределить built-in public profile своим app
- задать runtime env для уже полученных token
- настроить отдельный
Wordstat / Search APIcloud layer
Изучить собранный manifest и plugin notes:
plugins/yandex-direct-for-all/.codex-plugin/plugin.jsonplugins/yandex-direct-for-all/docs/codex-plugin-build-notes.md
Старый текст здесь был слишком грубым. Правильная модель теперь разделена по сервисам.
Это корректный путь для:
Yandex DirectYandex MetrikaYandex Audience
Смысл:
- приложение зарегистрировано вами один раз;
- для
Directдоступ к API одобрен один раз на приложение; - другой пользователь логинится своим аккаунтом на странице
Yandex OAuth; - подтверждает доступ приложению;
- агент получает токен именно этого пользователя.
Это current official path для:
WordstatYandex Search API
Там нельзя обещать тот же самый flow открыли consent page -> пользователь залогинился -> всё готово.
Там важны:
Yandex CloudfolderroleIAM tokenилиAPI key
Подробно:
docs/oauth-and-app-setup.mddocs/auth-model-matrix.md
Ваше приложение: вы храните свойClient ID / Client Secret, выдаёте токены клиентам и работаете как оператор.Собственное приложение пользователя: человек регистрирует свойYandex OAuthapp там, где это нужно, и поднимает свой cloud setup там, где reusable app path не подходит.
Подробно:
docs/oauth-and-app-setup.mddocs/auth-model-matrix.mddocs/operator-auth-launchers.mdplugins/yandex-direct-for-all/docs/operator-auth-launchers.mddocs/yandex-audiences.md
Repo-local режим для Codex считать основным:
- открыть repo-root так, чтобы
Codexвидел./.agents/plugins/marketplace.json - читать bundled entrypoints прямо из
<plugin-root>/skills/... - если задача onboarding/research — перейти в
<plugin-root>/skills/yandex-direct-client-lifecycle - если задача по отчётам — использовать
<plugin-root>/skills/roistat-reports-api - если задача про
audiences/CRM-sync — дочитатьdocs/yandex-audiences.mdи при необходимости подключить<plugin-root>/skills/amocrm-api-control
Если вы сознательно сделали personal home-install через install_codex_bundle.sh, тот же bundle дополнительно доступен в ${CODEX_HOME:-~/.codex}/plugins/yandex-direct-for-all и зеркалах skills/... внутри ${CODEX_HOME:-~/.codex}.
У этих клиентов нет единого универсального стандарта skill-installation. Поэтому пакет даёт два слоя:
- готовые локальные директории
skills/иmcp/ - install-скрипты под
CodexиClaude
Для Gemini CLI безопасный путь такой:
- клонировать репозиторий
- использовать этот repo как knowledge base
- подключать MCP-серверы из
plugins/yandex-direct-for-all/.mcp.json - при необходимости реплицировать
skills/*в собственную папку навыков/пресетов
- Для
Yandex Directне использовать UI-логин/пароль как operational path. - Для
Yandex Audiences,DirectиMetrikaжелательно держать раздельные токены. - Не коммитить
oauth*.json,.env, API keys и client-specific overlays. - Клиентские правила, board IDs, каталоги товаров и brand-axioms не зашивать обратно в bundle.
AI_ONBOARDING.md— короткий безопасный старт для нового ИИ-оператора.QUICKSTART.md— минимальный deterministic path без лишних развилок.docs/install-paths.md— чёткая развилка между repo-local Codex plugin, personal Codex install и Claude home-compat.docs/component-inventory.md— что именно собрано и откуда.docs/canonical-rule-pack.md— собранный канон правил из реальных глобальных skills.docs/codex-plugin-build-notes.md— как bundle собран под официальный Codex Plugins contract.docs/auth-model-matrix.md— какая auth-модель уDirect,Metrika,Audience,Wordstat,Search API.docs/operator-auth-launchers.md— практический launcher-path дляDirect/Metrika/Audience.plugins/yandex-direct-for-all/docs/data-collection-scripts.md— где лежат все collector/parsing scripts.plugins/yandex-direct-for-all/docs/operator-auth-launchers.md— как поднять reusable app + per-user consent flow без путаницы сWordstat.docs/rule-source-map.md— где именно в исходных skills лежат ключевые правила.docs/oauth-and-app-setup.md— как поднимать auth-path официально.docs/yandex-audiences.md— отдельные правила поYandex Audiences.docs/skill-index.md— карта bundled skills и entry points.CONTRIBUTING.md— что прогонять перед PR/push.SECURITY.md— как обращаться с секретами и security-репортами.FAQ.md— быстрые ответы на типовые вопросы первого запуска.LICENSE— условия использования публичного репозитория.
- plugin-root сделан self-contained: у него есть собственные
README,docs/иexamples/. apps-слой убран из manifest, потому что этот пакет распространяет skills + MCP, а не app connector.- repo marketplace остаётся в
.agents/plugins/marketplace.json, как рекомендует Codex docs.