4a64d6a7e1
- ПИЛОТ.md: phone-junk "79135XXXXXX" замаскирован (supplier CSV project-колонка, не ПДн клиента; §5.2). +RU jargon в cspell-words.txt. - .gitleaksignore: +8 fingerprints исторических ru-phone-unmasked + маска в комментарии. - docs/marketing/README.md: fix битой ADR-015 ссылки + markdownlint.
139 lines
9.9 KiB
Markdown
139 lines
9.9 KiB
Markdown
# C1 Marketing Tooling — Home Doc
|
||
|
||
**Раздел карты:** C1 «Маркетинг и привлечение»
|
||
**Версия:** 1.0 от 22.05.2026
|
||
**Кросс-ссылки:** [Tooling §4.49–58](../Tooling_v8_3.md) · [ADR-015](../adr/015-marketing-tooling.md) · [Spec](../superpowers/specs/2026-05-22-c1-marketing-tooling-design.md) · [Plan](../superpowers/plans/2026-05-22-c1-marketing-tooling.md) · [marketing-vet.md](../security/marketing-vet.md)
|
||
|
||
---
|
||
|
||
## Карта раздела — 10 узлов (#74–83)
|
||
|
||
| # | Узел | Категория | Описание |
|
||
|---|---|---|---|
|
||
| 74 | **analytics-dashboard** (reuse #19 Superpowers + #10 Boost) | reuse | Анализ конверсий воронки и когорт прямо из кода/БД через Boost — без нового инструмента |
|
||
| 75 | **seo-content** (reuse #66 laravel-backend-patterns + #60 context7) | reuse | SEO-метаданные в роутах Laravel, структурированные данные; context7 для актуальных стандартов |
|
||
| 76 | **utm-tracking** (reuse #47 openapi-mcp-server) | reuse | UTM-параметры через OpenAPI-спеку портала — обогащение сделок источником трафика |
|
||
| 77 | **ad-creative** (reuse #46 Design plugin + #45 Universal Icons MCP) | reuse | Генерация креативов и UX-копирайт для рекламных материалов |
|
||
| 78 | **marketing-metrika** | analytics | Яндекс Метрика MCP — посещаемость, источники, конверсии (READ-ONLY) |
|
||
| 79 | **marketing-wordstat** | research | Яндекс Wordstat MCP — ключевые слова, поисковый спрос РУ-рынка (Wordstat only) |
|
||
| 80 | **marketing-telegram** | social | Telegram MCP — публикации, планирование и аналитика Telegram-каналов Лидерры |
|
||
| 81 | **marketing-postiz** | social | Postiz MCP — кросс-постинг в соцсети (self-hosted AGPL; **DEFERRED до self-host**) |
|
||
| 82 | **marketing-dataforseo** | research | DataForSEO API MCP — SERP/SEO аналитика (**DEFERRED**, платный, post-Б-1) |
|
||
| 83 | **marketing-unisender** | email | Unisender Go MCP — email-рассылки (**DEFERRED**, обёртка не готова; SMTP уже в стеке) |
|
||
|
||
---
|
||
|
||
## Что ставим сейчас vs DEFERRED
|
||
|
||
### Установлено / проволочено в `.mcp.json` (Task 4)
|
||
|
||
| # | Инструмент | npm-пакет | Статус в `.mcp.json` |
|
||
|---|---|---|---|
|
||
| 78 | Yandex Metrika MCP | `yandex-metrika-mcp` (MIT) | Активный entry `marketing-metrika` |
|
||
| 79 | Yandex Wordstat MCP | `yandex-wordstat-mcp` (MIT) | Активный entry `marketing-wordstat` |
|
||
| 80 | Telegram MCP | `github:chigwell/telegram-mcp` (Apache-2.0) | Активный entry `marketing-telegram` |
|
||
| 81 | Postiz MCP | `postiz-mcp` (лицензия под ветом) | Закомментированный skeleton `_comment_postiz_skeleton` |
|
||
|
||
**Что нужно от заказчика перед использованием #78/#79:**
|
||
|
||
1. Получить OAuth-токен на [oauth.yandex.ru](https://oauth.yandex.ru), приложение с доступом к Метрике/Директ (scope read-only).
|
||
2. Добавить в `.env.local` (gitignored): `YANDEX_OAUTH_TOKEN=y0_AgA...`
|
||
|
||
**Что нужно для #80 (Telegram):**
|
||
|
||
1. Зарегистрировать выделенный Telegram-аккаунт для Лидерры (не личный).
|
||
2. Получить `TELEGRAM_API_ID` и `TELEGRAM_API_HASH` на [my.telegram.org/apps](https://my.telegram.org/apps).
|
||
3. Сгенерировать `TELEGRAM_SESSION_STRING` один раз через GramJS или Telethon.
|
||
4. Добавить все три значения в `.env.local`.
|
||
|
||
### DEFERRED
|
||
|
||
| # | Причина отсрочки |
|
||
|---|---|
|
||
| 81 Postiz | Требует self-host `gitroomhq/postiz-app`; лицензия `antoniolg/postiz-mcp` не верифицирована (см. Open vet notes) |
|
||
| 82 DataForSEO | Платный API; активировать post-Б-1 (регистрация ООО, реквизиты) |
|
||
| 83 Unisender Go | SMTP уже настроен в стеке (фирменная почта liderra.ru); отдельная MCP-обёртка — отдельный ADR |
|
||
|
||
---
|
||
|
||
## Постура безопасности
|
||
|
||
### #78 Metrika — READ-ONLY analytics
|
||
|
||
- OAuth-токен запрашивается с минимальными правами: `y.metrika.direct.read` (чтение Метрики).
|
||
- **Никаких мутирующих вызовов** через MCP: цели, фильтры, настройки счётчиков — только через Яндекс UI.
|
||
- Токен хранится в `.env.local` (gitignored), не в `.mcp.json`.
|
||
|
||
### #79 Wordstat — Wordstat only, без Direct-мутаций
|
||
|
||
- IS9-постура: Wordstat-инструменты (keyword research, trends) разрешены.
|
||
- **Direct-инструменты мутации** (создание кампаний, изменение ставок, управление объявлениями) — **запрещены** (MKT8: нет автоматических трат рекламного бюджета без явного подтверждения заказчика).
|
||
- Один OAuth-токен на #78 и #79 — read-only scope достаточен для обоих.
|
||
|
||
### #80 Telegram — выделенный аккаунт (MKT8)
|
||
|
||
- Session String — эквивалент полного доступа к аккаунту. Хранить только в `.env.local`.
|
||
- **Обязателен выделенный аккаунт Лидерры**, не личный аккаунт Дмитрия: если SESSION_STRING утечёт — только бизнес-аккаунт под угрозой.
|
||
- Публикации в Telegram-каналах через MCP — только после явного подтверждения содержания.
|
||
|
||
### #81 Postiz — internal-only, AGPL-3.0
|
||
|
||
- `gitroomhq/postiz-app` лицензирован AGPL-3.0: использование разрешено для внутренних нужд Лидерры без изменения кода.
|
||
- **Запрещено**: модифицировать исходный код Postiz без публикации изменений (AGPL требование).
|
||
- `antoniolg/postiz-mcp` лицензия — под ветом (см. ниже).
|
||
|
||
---
|
||
|
||
## Postiz self-host инструкция
|
||
|
||
Когда будет готово (после Б-1 и верификации лицензии):
|
||
|
||
```bash
|
||
# 1. Клонировать репозиторий
|
||
git clone https://github.com/gitroomhq/postiz-app
|
||
cd postiz-app
|
||
|
||
# 2. Запустить через Docker Compose (рекомендуемый способ)
|
||
cp .env.example .env
|
||
# Отредактировать .env: DATABASE_URL, REDIS_URL, JWT_SECRET, BACKEND_INTERNAL_URL
|
||
docker-compose up -d
|
||
|
||
# 3. Открыть UI на http://localhost:5000, создать аккаунт
|
||
# 4. Подключить соцсети (VK, Telegram, Instagram и др.) в разделе Integrations
|
||
# 5. Получить API Key в настройках Postiz
|
||
|
||
# 6. Добавить в .env.local:
|
||
# POSTIZ_API_URL=http://localhost:5000
|
||
# POSTIZ_API_KEY=<ключ из Postiz UI>
|
||
```
|
||
|
||
Документация Postiz: [docs.postiz.com](https://docs.postiz.com)
|
||
|
||
Для активации MCP-entry — раскомментировать `_comment_postiz_skeleton` в `.mcp.json` согласно инструкции внутри.
|
||
|
||
> AGPL-3.0 обязательства: Лидерра использует Postiz в исходном виде для внутренних нужд (self-hosted). Никаких модификаций исходного кода без публикации изменений. Внешним пользователям SaaS не предоставляется.
|
||
|
||
---
|
||
|
||
## Open vet notes
|
||
|
||
| Риск | Статус | Действие |
|
||
|---|---|---|
|
||
| `antoniolg/postiz-mcp` лицензия | **NOT VERIFIED** | Перед активацией: проверить `LICENSE` файл в репозитории [github.com/antoniolg/postiz-mcp](https://github.com/antoniolg/postiz-mcp); если MIT — активировать; если AGPL/GPL — консультация юриста |
|
||
| `telegram-mcp` npm-пакет (0.1.20, Proprietary) | Не использован | Используем `github:chigwell/telegram-mcp` (Apache-2.0) напрямую, не npm-вариант |
|
||
| Yandex OAuth широкий scope | Низкий | Scope `y.metrika.direct.read` — только чтение; Директ-мутации через MCP вне постуры |
|
||
| SESSION_STRING утечка | Средний | Хранить только в `.env.local` (gitignored); ротировать при подозрении |
|
||
|
||
---
|
||
|
||
## Cross-refs
|
||
|
||
- **Tooling Прил. Н §4.49–58** — полный реестр 10 узлов C1 с 9-атрибутными блоками
|
||
- **ADR-015** — решения интеграции C1 (IS1–IS9 маркетинг-вет, MKT1–MKT8 ограничения)
|
||
- **Spec** — `docs/superpowers/specs/2026-05-22-c1-marketing-tooling-design.md`
|
||
- **Plan** — `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`
|
||
- **marketing-vet.md** — `docs/security/marketing-vet.md` — провенанс-вет каждого внешнего инструмента
|
||
- **routing-off-phase.md** — задача «маркетинг-аналитика» → `marketing-metrika`; «ключевые слова» → `marketing-wordstat`; «Telegram-канал» → `marketing-telegram`
|
||
- **PSR_v1 R10.1** — реестр off-phase инструментов (блок 1 C1-категория)
|
||
- **Pravila §13.2** — off-phase marketing-tooling абзац
|