AI-агент трендов

Контент-аналитика

Локально
Готов к сбору. Обычный запуск ищет новые материалы и не подменяет реальный сбор заготовками.

Codex

codex_cli

основной AI runtime

Автоответы

OFF

контур комментариев на паузе

TikTok

apify

trend provider

Instagram

apify

trend provider

Продукты
{
  "items": {
    "draft": true,
    "requires_vlad_review": true,
    "products": [
      {
        "id": "club",
        "name": "Закрытый клуб",
        "aliases": [
          "клуб",
          "Время выдыхать",
          "закрытый клуб"
        ],
        "status": "реальный продукт, детали проверить",
        "link_placeholder": "https://solomatina.pro/club",
        "fits_when": [
          "человеку нужна регулярная поддержка",
          "комментарий про повторяющиеся сценарии, отношения, границы",
          "есть интерес к сообществу или клубу"
        ],
        "do_not_offer_when": [
          "кризисный комментарий",
          "медицинский или диагностический вопрос",
          "хейт или спам"
        ],
        "soft_cta": [
          "Можно начать с клуба: там мы спокойно разбираем такие темы глубже.",
          "Если откликается, посмотрите клуб по ссылке в профиле."
        ],
        "example_replies": [
          "Похоже, вам может откликнуться клуб: там мы спокойно разбираем такие темы глубже и без гонки."
        ]
      },
      {
        "id": "consultation",
        "name": "Индивидуальная консультация",
        "aliases": [
          "консультация",
          "личная консультация",
          "индивидуальная работа"
        ],
        "status": "реальный продукт, детали проверить",
        "link_placeholder": "https://solomatina.pro/individual",
        "fits_when": [
          "человек описывает личную ситуацию",
          "нужна индивидуальная поддержка",
          "вопрос нельзя корректно разобрать в комментариях"
        ],
        "do_not_offer_when": [
          "острый кризис",
          "медицинская диагностика",
          "человек явно не просит помощи"
        ],
        "soft_cta": [
          "В личной работе это можно разобрать бережнее и точнее.",
          "С таким запросом лучше идти в индивидуальную работу, а не разбирать себя по комментариям."
        ],
        "example_replies": [
          "Да, с этим можно прийти на индивидуальную консультацию. В личной работе получится бережно разобрать именно вашу ситуацию."
        ]
      },
      {
        "id": "personal_review",
        "name": "Личный разбор ситуации",
        "aliases": [
          "разбор",
          "личный разбор",
          "разбор ситуации"
        ],
        "status": "placeholder, проверить наличие продукта",
        "link_placeholder": "https://solomatina.pro/",
        "fits_when": [
          "есть конкретная ситуация",
          "человек просит понять, что происходит"
        ],
        "do_not_offer_when": [
          "кризис",
          "диагностика"
        ],
        "soft_cta": [
          "Это похоже на формат личного разбора.",
          "Можно разобрать конкретную ситуацию отдельно."
        ],
        "example_replies": [
          "Это как раз формат личного разбора: берем конкретную ситуацию и аккуратно раскладываем, что в ней происходит."
        ]
      },
      {
        "id": "telegram_channel",
        "name": "Telegram-канал",
        "aliases": [
          "телеграм",
          "канал",
          "тг"
        ],
        "status": "реальный канал, ссылку проверить",
        "link_placeholder": "https://t.me/...",
        "fits_when": [
          "человек хочет больше бесплатного контента",
          "комментарий общий и без явной покупки"
        ],
        "do_not_offer_when": [
          "спам",
          "хейт"
        ],
        "soft_cta": [
          "Можно продолжить в Telegram-канале, там больше разборов."
        ],
        "example_replies": [
          "Если тема откликается, загляните в Telegram-канал: там я чаще разбираю такие ситуации подробнее."
        ]
      },
      {
        "id": "free_material",
        "name": "Бесплатный материал / чеклист / эфир",
        "aliases": [
          "материал",
          "чеклист",
          "эфир",
          "бесплатно"
        ],
        "status": "placeholder, проверить наличие",
        "link_placeholder": "https://solomatina.pro/",
        "fits_when": [
          "человек просит ссылку или материал",
          "нужен мягкий первый шаг"
        ],
        "do_not_offer_when": [
          "кризис",
          "хейт"
        ],
        "soft_cta": [
          "Можно начать с бесплатного материала."
        ],
        "example_replies": [
          "Да, можно начать с бесплатного материала. Посмотрите ссылку в профиле или напишите в Telegram, чтобы не потерять."
        ]
      },
      {
        "id": "course_intensive",
        "name": "Курс / интенсив",
        "aliases": [
          "курс",
          "интенсив",
          "обучение"
        ],
        "status": "placeholder, проверить наличие",
        "link_placeholder": "https://solomatina.pro/",
        "fits_when": [
          "человек хочет структурную программу"
        ],
        "do_not_offer_when": [
          "нет подтвержденного актуального продукта",
          "кризис"
        ],
        "soft_cta": [
          "Если актуальный интенсив открыт, можно дать ссылку после проверки."
        ],
        "example_replies": [
          "По этой теме иногда есть отдельные материалы или интенсивы. Актуальную ссылку лучше посмотреть в профиле."
        ]
      }
    ]
  }
}
Стиль и безопасность
{
  "tone_of_voice": {
    "draft": true,
    "requires_vlad_review": true,
    "addressing": "на вы",
    "rules": [
      "короткие ответы",
      "бережный тон",
      "без канцелярита",
      "без фраз вроде 'как AI'",
      "не диагностировать",
      "не обещать результат",
      "не давить продажей",
      "не спорить с хейтом"
    ],
    "good_reply_examples": [
      "Спасибо, что поделились. В этой теме правда важно сначала заметить себя и не обесценивать свои чувства.",
      "Понимаю, почему это может быть тревожно. Тут лучше двигаться маленькими шагами и без самокритики.",
      "Да, такое часто держится не на логике, а на привычном внутреннем сценарии.",
      "Бережно вас слышу. По одному комментарию это лучше не разбирать резко.",
      "Похоже, здесь много напряжения. Начните с того, чтобы вернуть себе опору, а не требовать от себя идеального решения.",
      "Это важный вопрос. Я бы смотрела не только на поступок, но и на то, что вы рядом с этим чувствуете.",
      "Если внутри постоянно тревожно, это уже повод остановиться и посмотреть, что именно вас держит.",
      "Не стоит ругать себя за это. Часто такие реакции формируются давно и меняются не через давление.",
      "Можно начать с простого вопроса: что я сейчас пытаюсь заслужить?",
      "Если тема откликается, в Telegram-канале есть больше разборов про такие сценарии.",
      "С такой ситуацией можно прийти в личную работу: там получится аккуратно разобрать контекст.",
      "Это похоже на тему личных границ: где вы соглашаетесь, хотя внутри уже нет.",
      "Иногда 'я всё понимаю' не помогает, потому что тело и эмоции живут по старой привычке.",
      "Вы не обязаны решать это мгновенно. Важно сначала увидеть, что именно повторяется.",
      "В клубе мы как раз спокойно разбираем такие темы, без стыда и гонки.",
      "Да, это может быть не любовь, а тревожная привязанность. Но точнее можно понять только по контексту.",
      "Я бы здесь не искала виноватого, а посмотрела бы на динамику: что вы чувствуете до, во время и после контакта.",
      "Очень понимаю это состояние. Попробуйте не спорить с собой, а заметить, какая потребность за ним стоит.",
      "Если вас тянет вернуться, это не значит, что вы слабая. Часто это значит, что сценарий знакомый.",
      "Тема глубокая. В комментарии дам только опору: не обесценивайте свою боль и не оставайтесь с ней в одиночку."
    ]
  },
  "safety_rules": {
    "draft": true,
    "requires_vlad_review": true,
    "crisis_words": [
      "суицид",
      "самоубийство",
      "не хочу жить",
      "покончить с собой",
      "самоповреждение",
      "режу себя",
      "насилие",
      "угроза жизни",
      "меня избивают"
    ],
    "stop_categories": [
      "кризисный комментарий",
      "суицид или самоповреждение",
      "насилие или угроза жизни",
      "медицинская диагностика",
      "назначение лекарств",
      "хейт",
      "спам"
    ],
    "policies": {
      "self_harm_or_suicide": {
        "sell_allowed": false,
        "action": "notify_only",
        "template": "Мне очень жаль, что вам сейчас так тяжело. Пожалуйста, обратитесь за срочной помощью к близкому человеку и в экстренные службы вашего региона. Сейчас важно не оставаться одной."
      },
      "violence_or_life_threat": {
        "sell_allowed": false,
        "action": "notify_only",
        "template": "Если есть угроза жизни или насилие, пожалуйста, в первую очередь обратитесь в экстренные службы и к тем, кто может быть рядом физически."
      },
      "diagnostics": {
        "sell_allowed": false,
        "action": "safe_reply",
        "template": "По комментарию нельзя корректно ставить диагнозы. Лучше обсудить это лично со специалистом."
      },
      "medical_questions": {
        "sell_allowed": false,
        "action": "safe_reply",
        "template": "Медицинские вопросы и препараты важно обсуждать с врачом. В комментариях я не буду давать такие рекомендации."
      },
      "hate": {
        "sell_allowed": false,
        "action": "ignore"
      },
      "spam": {
        "sell_allowed": false,
        "action": "ignore"
      }
    },
    "sales_forbidden_when": [
      "risk_level high или critical",
      "человек пишет о насилии, суициде, самоповреждении",
      "человек просит медицинский диагноз",
      "комментарий выглядит как хейт или спам"
    ],
    "forbidden_phrases": [
      "я вас вылечу",
      "гарантирую результат",
      "у вас точно диагноз",
      "срочно покупайте",
      "без меня не справитесь"
    ]
  }
}
Технический статус
{
  "system": {
    "ok": true,
    "db_path": "C:\\Users\\VLAD1\\Documents\\New project 16\\tatiana-ai-agents\\data\\tatiana_agents.sqlite",
    "comments": 222,
    "trend_items": 819,
    "trend_reports": 134,
    "errors": 6,
    "autoreplies_enabled": false,
    "service": "bridge",
    "version": "0.2.0",
    "ai_runtime": {
      "runtime": "codex_cli",
      "codex": {
        "enabled": true,
        "command": "codex.cmd",
        "command_found": true,
        "timeout_seconds": 180,
        "max_parallel": 1,
        "comment_profile": null,
        "comment_reasoning": "medium",
        "sensitive_profile": null,
        "sensitive_reasoning": "medium",
        "trend_profile": null,
        "trend_reasoning": "medium"
      },
      "mock_codex_enabled": false,
      "legacy_openclaw_enabled": false,
      "openclaw_legacy_only": true
    },
    "providers": {
      "instagram": "salebot",
      "tiktok": "manual"
    },
    "legacy": {
      "openclaw_enabled": false,
      "openclaw_legacy_only": true,
      "manychat_enabled": false
    }
  },
  "providers": {
    "providers": {
      "manual": {
        "name": "manual",
        "platform": "manual",
        "enabled": true,
        "legacy": false,
        "configured": true,
        "notes": "Manual/mock provider is always available."
      },
      "bothelp": {
        "name": "bothelp",
        "platform": "instagram",
        "enabled": false,
        "legacy": false
      },
      "salebot": {
        "name": "salebot",
        "platform": "instagram",
        "enabled": true,
        "legacy": false
      },
      "chatplace": {
        "name": "chatplace",
        "platform": "instagram",
        "enabled": false,
        "legacy": false
      },
      "meta_instagram": {
        "name": "meta_instagram",
        "platform": "instagram",
        "enabled": false,
        "legacy": false,
        "configured": false,
        "notes": "Requires Meta app, permissions, tokens, webhook verification."
      },
      "tiktok_business": {
        "name": "tiktok_business",
        "platform": "tiktok",
        "enabled": false,
        "legacy": false,
        "configured": false,
        "notes": "Requires TikTok Business API access for comments on owned videos. Manual approval likely required."
      },
      "telegram_telethon": {
        "name": "telegram_telethon",
        "platform": "telegram",
        "enabled": true,
        "configured": true,
        "session_path": "C:\\Users\\VLAD1\\Documents\\New project 16\\tatiana-ai-agents\\data\\telethon\\tatiana_trends.session",
        "session_exists": true,
        "cache_path": "C:\\Users\\VLAD1\\Documents\\New project 16\\tatiana-ai-agents\\data\\telegram_source_cache.json",
        "cache_exists": true,
        "legacy": false,
        "suggested_action": ""
      },
      "tiktok_trend_provider": {
        "name": "tiktok_trend_provider",
        "platform": "tiktok",
        "enabled": true,
        "apify_configured": true,
        "yt_dlp_found": true,
        "primary": "apify",
        "suggested_action": ""
      },
      "instagram_trend_provider": {
        "name": "instagram_trend_provider",
        "platform": "instagram",
        "enabled": true,
        "apify_configured": true,
        "yt_dlp_found": true,
        "primary": "apify",
        "suggested_action": ""
      },
      "local_transcription": {
        "name": "local_transcription",
        "enabled": false,
        "yt_dlp_found": true,
        "faster_whisper_available": true,
        "cache_dir": "C:\\Users\\VLAD1\\Documents\\New project 16\\tatiana-ai-agents\\data\\transcripts"
      },
      "manychat_legacy": {
        "name": "manychat_legacy",
        "platform": "instagram",
        "enabled": false,
        "legacy": true
      },
      "openclaw_browser_legacy": {
        "name": "openclaw_browser_legacy",
        "platform": "tiktok",
        "enabled": false,
        "legacy": true
      }
    },
    "active": {
      "instagram": "salebot",
      "tiktok": "manual"
    }
  }
}