Контент-аналитика
основной AI runtime
контур комментариев на паузе
trend provider
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"
}
}
}