/
alexware
/
InnerQuest
Обзор
Документация
Войти
/
alexware
/
InnerQuest
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
data/binary_trees.patch.json
2 723 строки
83 KB
alexeyk222
Изменить систему хранения файлов проекта
31 дек 2025, 01:39
31 дек 2025, 01:39
49a670a
Код
Авторство
О чём код?
{ "trees": { "oasis_body_check": { "tree_id": "oasis_body_check", "district": "oasis", "root": { "node_id": "root", "text": "Как тело прямо сейчас? Оцени от 1 до 10.", "type": "scale", "min": 1, "max": 10, "branches": { "1-3": "pain", "4-6": "fatigue", "7-10": "normal" }, "tags": [ "body_scan" ] }, "nodes": { "pain": { "node_id": "pain", "text": "Если боль — где именно?", "type": "choice", "options": [ { "text": "Голова", "next": "head_pain", "tags": [ "pain_head" ] }, { "text": "Спина/Шея", "next": "back_pain", "tags": [ "pain_back" ] }, { "text": "Живот/Сердце", "next": "core_pain", "tags": [ "pain_core" ] }, { "text": "Другое", "next": "other_pain", "tags": [ "pain_other" ] } ], "tags": [ "pain" ] }, "head_pain": { "node_id": "head_pain", "text": "Ок. Это больше похоже на напряжение/экраны или на 'непонятно откуда'?", "type": "choice", "options": [ { "text": "Экраны/напряжение", "next": "task_temples", "tags": [ "screen_strain" ] }, { "text": "Непонятно", "next": "task_water_pause", "tags": [ "unclear_pain" ] } ] }, "back_pain": { "node_id": "back_pain", "text": "Сейчас ты сидишь/стоишь удобно?", "type": "choice", "options": [ { "text": "Нет, зажат", "next": "task_shoulder_roll", "tags": [ "posture" ] }, { "text": "Вроде да", "next": "task_micro_walk", "tags": [ "stiffness" ] } ] }, "core_pain": { "node_id": "core_pain", "text": "Это похоже на стресс или на еду/режим?", "type": "choice", "options": [ { "text": "Стресс", "next": "task_box_breath", "tags": [ "stress" ] }, { "text": "Еда/режим", "next": "task_water_pause", "tags": [ "digestion" ] }, { "text": "Не уверен", "next": "task_water_pause", "tags": [ "uncertainty" ] } ] }, "other_pain": { "node_id": "other_pain", "text": "Назови место и 1 слово про ощущение (тянет/колет/жжёт).", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Напиши: 'Где + как ощущается' (пример: 'колено тянет').", "validation": "min_length:6" }, "tags": [ "pain_other", "naming" ] }, "fatigue": { "node_id": "fatigue", "text": "Усталость сегодняшняя или накопленная?", "type": "choice", "options": [ { "text": "Сегодняшняя", "next": "sleep_check", "tags": [ "fatigue_today" ] }, { "text": "Накопленная (дни/недели)", "next": "chronic_fatigue", "tags": [ "fatigue_chronic" ] } ] }, "sleep_check": { "node_id": "sleep_check", "text": "Сколько спал(а) последнюю ночь?", "type": "choice", "options": [ { "text": "< 6 часов", "next": "sleep_debt", "tags": [ "sleep_debt" ] }, { "text": "6–8 часов", "next": "quality_check", "tags": [ "sleep_ok" ] }, { "text": "> 8 часов", "next": "oversleep", "tags": [ "oversleep" ] } ] }, "sleep_debt": { "node_id": "sleep_debt", "text": "Тело просит долг. Сегодня можно вернуть хотя бы 10%?", "type": "choice", "options": [ { "text": "Да, могу", "next": "task_bedtime_plan", "tags": [ "repair_sleep" ] }, { "text": "Пока нет", "next": "task_micro_rest", "tags": [ "no_control" ] } ] }, "quality_check": { "node_id": "quality_check", "text": "Тогда не сон. Что съело энергию сегодня сильнее всего?", "type": "choice", "options": [ { "text": "Экраны/инфошум", "next": "task_focus_mode", "tags": [ "noise" ] }, { "text": "Люди/общение", "next": "task_boundary_micro", "tags": [ "social_load" ] }, { "text": "Тело без движения", "next": "task_micro_walk", "tags": [ "low_movement" ] }, { "text": "Не знаю", "next": "task_body_scan_30", "tags": [ "uncertainty" ] } ] }, "oversleep": { "node_id": "oversleep", "text": "Это больше 'пересып' или плохое качество сна?", "type": "choice", "options": [ { "text": "Пересып", "next": "task_light_move", "tags": [ "oversleep" ] }, { "text": "Качество плохое", "next": "task_bedtime_plan", "tags": [ "sleep_quality" ] }, { "text": "Не знаю", "next": "task_body_scan_30", "tags": [ "uncertainty" ] } ] }, "chronic_fatigue": { "node_id": "chronic_fatigue", "text": "Когда был полноценный отдых (без 'я всё равно что-то доделал')?", "type": "choice", "options": [ { "text": "Давно (недели/месяцы)", "next": "burnout_warning", "tags": [ "burnout_risk" ] }, { "text": "Недавно (дни)", "next": "energy_drain", "tags": [ "energy_leak" ] } ] }, "energy_drain": { "node_id": "energy_drain", "text": "Что именно тянет ресурс? Выбери одно.", "type": "choice", "options": [ { "text": "Работа/учёба", "next": "task_top3_trim", "tags": [ "citadel_load" ] }, { "text": "Тревога/мысли", "next": "task_brain_dump_2m", "tags": [ "rumination" ] }, { "text": "Люди/границы", "next": "task_boundary_micro", "tags": [ "boundary" ] }, { "text": "Физика/режим", "next": "task_body_scan_30", "tags": [ "oasis" ] } ] }, "burnout_warning": { "node_id": "burnout_warning", "text": "Похоже на границу выгорания. Сейчас важнее стоп, чем героизм.", "type": "task_trigger", "task": { "type": "time_commitment", "prompt": "Выбери 1 микро-стоп на сегодня: 10 мин тишины / 10 мин прогулки / лечь на 30 мин раньше.", "options": [ "10 мин тишины", "10 мин прогулки", "Лечь на 30 мин раньше" ] }, "tags": [ "burnout_risk", "stop" ] }, "normal": { "node_id": "normal", "text": "Ок. Это состояние стабильное или скачет?", "type": "choice", "options": [ { "text": "Стабильно", "next": "maintain", "tags": [ "stable" ] }, { "text": "Скачками", "next": "unstable", "tags": [ "unstable" ] } ] }, "maintain": { "node_id": "maintain", "text": "Что удерживает норму? Выбери 1 якорь.", "type": "choice", "options": [ { "text": "Сон", "next": "task_anchor_note", "tags": [ "sleep" ] }, { "text": "Еда", "next": "task_anchor_note", "tags": [ "food" ] }, { "text": "Движение", "next": "task_anchor_note", "tags": [ "movement" ] }, { "text": "Ритм/границы", "next": "task_anchor_note", "tags": [ "boundaries" ] } ] }, "unstable": { "node_id": "unstable", "text": "После чего чаще становится хуже?", "type": "choice", "options": [ { "text": "После инфошума", "next": "task_focus_mode", "tags": [ "noise" ] }, { "text": "После работы", "next": "task_top3_trim", "tags": [ "citadel_load" ] }, { "text": "После общения", "next": "task_boundary_micro", "tags": [ "social_load" ] }, { "text": "После еды/сна", "next": "task_bedtime_plan", "tags": [ "sleep_quality" ] } ] }, "task_temples": { "node_id": "task_temples", "text": "Микрошаг: снять напряжение.", "type": "task_trigger", "task": { "type": "timer", "prompt": "5 минут: закрой глаза и массируй виски круговыми движениями.", "duration": 300 }, "tags": [ "micro_relief", "screen_strain" ] }, "task_water_pause": { "node_id": "task_water_pause", "text": "Микрошаг: вернуть базу.", "type": "task_trigger", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Выпей воды", "Открой окно/сделай 3 глубоких вдоха" ] }, "tags": [ "base_reset" ] }, "task_shoulder_roll": { "node_id": "task_shoulder_roll", "text": "Микрошаг: размять корпус.", "type": "task_trigger", "task": { "type": "timer", "prompt": "60 секунд: 10 кругов плечами + потянуть шею мягко.", "duration": 60 }, "tags": [ "posture" ] }, "task_micro_walk": { "node_id": "task_micro_walk", "text": "Микрошаг: движение = сигнал телу.", "type": "task_trigger", "task": { "type": "timer", "prompt": "2 минуты: встань и пройдись (хотя бы до воды и обратно).", "duration": 120 }, "tags": [ "movement" ] }, "task_box_breath": { "node_id": "task_box_breath", "text": "Микрошаг: дыхание.", "type": "task_trigger", "task": { "type": "timer", "prompt": "1 минута: вдох 4 — пауза 4 — выдох 4 — пауза 4. Повтори.", "duration": 60 }, "tags": [ "breath", "stress" ] }, "task_bedtime_plan": { "node_id": "task_bedtime_plan", "text": "Микрошаг: вернуть сон.", "type": "task_trigger", "task": { "type": "time_commitment", "prompt": "Выбери время отбоя сегодня (+/- 30 мин) и поставь напоминание за 60 минут.", "input_type": "time" }, "tags": [ "sleep_plan" ] }, "task_micro_rest": { "node_id": "task_micro_rest", "text": "Микрошаг: микро-отдых.", "type": "task_trigger", "task": { "type": "timer", "prompt": "90 секунд: просто лечь/сесть удобно и ничего не делать. Да, это считается.", "duration": 90 }, "tags": [ "rest" ] }, "task_focus_mode": { "node_id": "task_focus_mode", "text": "Микрошаг: убрать пинг-шторм.", "type": "task_trigger", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Включи 'Не беспокоить' на 25 минут", "Закрой 3 лишних вкладки/приложения" ] }, "tags": [ "attention", "noise" ] }, "task_boundary_micro": { "node_id": "task_boundary_micro", "text": "Микрошаг: вернуть границу.", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Выбери один вариант и отправь/сохрани черновик.", "templates": [ "Сейчас не могу. Вернусь к этому завтра.", "Мне нужно время подумать. Напишу позже.", "Давай обсудим это после {time}." ] }, "tags": [ "boundary" ] }, "task_body_scan_30": { "node_id": "task_body_scan_30", "text": "Микрошаг: скан тела.", "type": "task_trigger", "task": { "type": "timer", "prompt": "30 секунд: закрой глаза и отметь 3 ощущения в теле (без объяснений).", "duration": 30 }, "tags": [ "body_scan" ] }, "task_top3_trim": { "node_id": "task_top3_trim", "text": "Микрошаг: снять нагрузку.", "type": "task_trigger", "task": { "type": "top_three", "prompt": "Выпиши все дела, затем выбери 3 обязательных. Одно 'можно удалить' — вычеркни.", "max_items": 15 }, "tags": [ "triage", "citadel" ] }, "task_brain_dump_2m": { "node_id": "task_brain_dump_2m", "text": "Микрошаг: выгрузить мысли.", "type": "task_trigger", "task": { "type": "timer", "prompt": "2 минуты: выпиши всё, что крутится в голове, без структуры. Потом — точка.", "duration": 120 }, "tags": [ "brain_dump", "rumination" ] }, "task_light_move": { "node_id": "task_light_move", "text": "Микрошаг: мягко разогнаться.", "type": "task_trigger", "task": { "type": "timer", "prompt": "2 минуты: лёгкое движение (потянуться/пару приседаний/пройтись).", "duration": 120 }, "tags": [ "movement" ] }, "task_anchor_note": { "node_id": "task_anchor_note", "text": "Микрошаг: зафиксировать якорь.", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Напиши: 'Мне помогает ___, когда я ___'. Одна строка.", "validation": "min_length:10" }, "tags": [ "anchor" ] } } }, "citadel_volume_quality": { "tree_id": "citadel_volume_quality", "district": "citadel", "root": { "node_id": "root", "text": "Работа давит. Но как именно? Ты делаешь СЛИШКОМ МНОГО или СЛИШКОМ ИДЕАЛЬНО?", "type": "choice", "options": [ { "text": "Слишком много", "next": "too_much", "tags": [ "overload" ] }, { "text": "Слишком идеально", "next": "too_perfect", "tags": [ "perfection" ] }, { "text": "Оба разом", "next": "both", "tags": [ "overload", "perfection" ] } ], "tags": [ "citadel" ] }, "nodes": { "too_much": { "node_id": "too_much", "text": "Что можно убрать? Не 'сделать быстрее' — именно УБРАТЬ.", "type": "choice", "options": [ { "text": "Не знаю", "next": "task_list_all", "tags": [ "uncertainty" ] }, { "text": "Знаю", "next": "task_name_one", "tags": [ "clarity" ] } ] }, "too_perfect": { "node_id": "too_perfect", "text": "На каком % качества ты обычно останавливаешься?", "type": "scale", "min": 0, "max": 100, "next": "quality_followup", "tags": [ "perfection" ] }, "quality_followup": { "node_id": "quality_followup", "text": "Если остановиться на 80% — что реально случится?", "type": "reflection", "next": "task_80_experiment", "tags": [ "reframe" ] }, "both": { "node_id": "both", "text": "Выбираем один фронт на сегодня: убрать объём или снизить идеальность?", "type": "choice", "options": [ { "text": "Убрать объём", "next": "too_much" }, { "text": "Снизить идеальность", "next": "too_perfect" } ] }, "task_list_all": { "node_id": "task_list_all", "text": "Список — это ножницы.", "type": "task_trigger", "task": { "type": "checklist", "prompt": "Сделай 3 пункта.", "items": [ "Выпиши 5–10 задач, которые сейчас на тебе", "Отметь 1 задачу: 'неважно сегодня'", "Удали/отложи её (прямо сейчас)" ] }, "tags": [ "triage" ] }, "task_name_one": { "node_id": "task_name_one", "text": "Одна конкретика — уже контроль.", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Назови одну задачу, от которой откажешься/делегируешь/срежешь на 20%.", "validation": "min_length:10" }, "tags": [ "triage" ] }, "task_80_experiment": { "node_id": "task_80_experiment", "text": "Эксперимент на 80%.", "type": "task_trigger", "task": { "type": "experiment", "prompt": "Выбери 1 задачу и сделай первый черновик на 80% (таймер 2 минуты).", "duration": 120, "success_criteria": "черновик/скелет готов" }, "tags": [ "perfection_break" ] } } }, "forum_connection_inventory": { "tree_id": "forum_connection_inventory", "district": "forum", "root": { "node_id": "root", "text": "С кем ты чувствуешь себя собой? Без маски, без роли.", "type": "open_or_choice", "allows_input": true, "fallback_options": [ { "text": "Не знаю / Никого", "next": "loneliness", "tags": [ "lonely" ] }, { "text": "Раньше были, сейчас нет", "next": "lost_connections", "tags": [ "loss" ] } ], "tags": [ "forum" ] }, "nodes": { "loneliness": { "node_id": "loneliness", "text": "Тогда иначе: есть ли 1 человек, кому ты можешь написать 'привет' без объяснений?", "type": "choice", "options": [ { "text": "Есть", "next": "found_one", "tags": [ "bridge" ] }, { "text": "Нет", "next": "build_bridges", "tags": [ "isolation" ] } ] }, "found_one": { "node_id": "found_one", "text": "Отлично. Какой самый безопасный формат контакта сегодня?", "type": "choice", "options": [ { "text": "Короткий текст", "next": "task_hi_text" }, { "text": "Голос/созвон", "next": "task_call_plan" }, { "text": "Реальная встреча", "next": "task_meet_plan" } ], "tags": [ "connection" ] }, "build_bridges": { "node_id": "build_bridges", "text": "Ок. Тогда строим мосты медленно: где можно встретить 'своих'?", "type": "choice", "options": [ { "text": "Учёба/работа", "next": "task_one_micro_invite", "tags": [ "context_work" ] }, { "text": "Хобби/спорт", "next": "task_one_micro_invite", "tags": [ "context_hobby" ] }, { "text": "Онлайн-сообщество", "next": "task_one_micro_invite", "tags": [ "context_online" ] } ] }, "lost_connections": { "node_id": "lost_connections", "text": "Что случилось?", "type": "choice", "options": [ { "text": "Переезд", "next": "new_place", "tags": [ "relocation" ] }, { "text": "Конфликт", "next": "repair", "tags": [ "conflict" ] }, { "text": "Постепенное отдаление", "next": "drift", "tags": [ "drift" ] } ] }, "new_place": { "node_id": "new_place", "text": "Новые связи требуют точки входа. Какую точку выберешь?", "type": "choice", "options": [ { "text": "Одно место (кофе/зал/клуб)", "next": "task_place_commit" }, { "text": "Одно событие (лекция/встреча)", "next": "task_event_commit" } ], "tags": [ "relocation" ] }, "repair": { "node_id": "repair", "text": "Этот контакт безопасно чинить сейчас или лучше закрыть без диалога?", "type": "choice", "options": [ { "text": "Безопасно", "next": "task_repair_message", "tags": [ "repair" ] }, { "text": "Небезопасно/не хочу", "next": "task_closure_letter", "tags": [ "closure" ] } ] }, "drift": { "node_id": "drift", "text": "С кем раньше было близко?", "type": "task_trigger", "task": { "type": "reach_out", "prompt": "Напиши одному: 'Привет! Вспомнил(а) тебя. Как ты?'", "channels": [ "messenger", "sms", "email" ] }, "tags": [ "reach_out" ] }, "task_hi_text": { "node_id": "task_hi_text", "text": "Пинг без давления.", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Отправь короткое сообщение (или сохрани черновик).", "templates": [ "Привет! Как ты сегодня?", "Привет. Вспомнил(а) тебя. Как дела?", "Есть 5 минут созвониться на неделе?" ] }, "tags": [ "connection", "ping" ] }, "task_call_plan": { "node_id": "task_call_plan", "text": "Созвон как инфраструктура.", "type": "task_trigger", "task": { "type": "time_commitment", "prompt": "Назначь окно для звонка/созвона (10–20 минут).", "input_type": "datetime" }, "tags": [ "connection", "schedule" ] }, "task_meet_plan": { "node_id": "task_meet_plan", "text": "Встреча как ритм.", "type": "task_trigger", "task": { "type": "time_commitment", "prompt": "Предложи встречу (30–60 минут) и выбери ориентир по дате.", "input_type": "date" }, "tags": [ "connection", "schedule" ] }, "task_one_micro_invite": { "node_id": "task_one_micro_invite", "text": "Один микро-шаг в сторону людей.", "type": "task_trigger", "task": { "type": "action_commitment", "prompt": "Выбери 1 действие: написать/подойти/задать вопрос. Запиши что именно сделаешь.", "validation": "min_length:10" }, "tags": [ "bridge" ] }, "task_place_commit": { "node_id": "task_place_commit", "text": "Одно место — одна вероятность.", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Напиши место и день недели, когда туда пойдёшь (пример: 'вт — зал').", "validation": "min_length:6" }, "tags": [ "relocation", "place" ] }, "task_event_commit": { "node_id": "task_event_commit", "text": "Одно событие — точка входа.", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Найди 1 событие (онлайн/офлайн) и запиши название + дату.", "validation": "min_length:10" }, "tags": [ "relocation", "event" ] }, "task_repair_message": { "node_id": "task_repair_message", "text": "Ремонт без самообвинений.", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Выбери одну формулировку.", "templates": [ "Хочу вернуться к нашему разговору. Мне важно прояснить. Удобно ли тебе обсудить?", "Мне жаль, что так вышло. Я бы хотел(а) закрыть это спокойно. Готов(а) поговорить?", "Я скучаю по нормальному контакту. Давай найдём 10 минут на неделе?" ] }, "tags": [ "repair" ] }, "task_closure_letter": { "node_id": "task_closure_letter", "text": "Закрыть внутри — тоже действие.", "type": "task_trigger", "task": { "type": "letter", "prompt": "Напиши 5–7 строк письма, которое НЕ нужно отправлять: что болит, что хочешь отпустить, что берёшь с собой.", "min_lines": 5 }, "tags": [ "closure" ] } } }, "garden_what_feeds": { "tree_id": "garden_what_feeds", "district": "garden", "root": { "node_id": "root", "text": "От чего ты чувствуешь: 'Да, это моё'? Не для оценки — для себя.", "type": "open_or_choice", "allows_input": true, "fallback_options": [ { "text": "Не знаю", "next": "childhood", "tags": [ "uncertainty" ] }, { "text": "Раньше знал, сейчас забыл", "next": "what_changed", "tags": [ "loss_of_meaning" ] } ], "tags": [ "garden" ] }, "nodes": { "childhood": { "node_id": "childhood", "text": "Ок. Вспомни 2–3 занятия из детства, которые делал(а) просто так.", "type": "task_trigger", "task": { "type": "reflection", "prompt": "Запиши 3 пункта: 'в детстве я...' и один пункт, который можно вернуть в микро-формате.", "min_items": 3 }, "tags": [ "meaning_recall" ] }, "what_changed": { "node_id": "what_changed", "text": "Что мешает сейчас?", "type": "choice", "options": [ { "text": "Нет времени", "next": "time_priority", "tags": [ "time" ] }, { "text": "Стыдно/неловко", "next": "shame_block", "tags": [ "shame" ] }, { "text": "Не кажется важным", "next": "value_shift", "tags": [ "devalue" ] } ] }, "time_priority": { "node_id": "time_priority", "text": "Если времени нет, берём 2 минуты. Буквально.", "type": "task_trigger", "task": { "type": "habit_creation", "prompt": "Выбери 1 'моё' действие на 2 минуты и привяжи к якорю (после кофе/душа/перед сном).", "duration": 120 }, "tags": [ "micro_habit" ] }, "shame_block": { "node_id": "shame_block", "text": "Стыд — это охранник. Мы его не бьём, мы обходим.", "type": "task_trigger", "task": { "type": "reflection", "prompt": "Напиши 1 строку: 'Мне неловко, потому что...'. Затем 1 строку: 'Но я делаю это для себя.'", "min_words": 10 }, "tags": [ "shame_reframe" ] }, "value_shift": { "node_id": "value_shift", "text": "Тогда проверка: что ты считаешь важным, но не чувствуешь?", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Напиши: 'Я думаю, что важно ___, но меня питает ___'. Одно предложение.", "validation": "min_length:15" }, "tags": [ "values" ] } } }, "oasis_rest_vs_pause": { "tree_id": "oasis_rest_vs_pause", "district": "oasis", "root": { "node_id": "root", "text": "Усталость: сегодняшняя или накопленная?", "type": "choice", "options": [ { "text": "Сегодняшняя", "next": "today" }, { "text": "Накопленная (дни/недели)", "next": "accumulated" } ], "tags": [ "fatigue" ] }, "nodes": { "today": { "node_id": "today", "text": "Что больше похоже на причину сегодня?", "type": "choice", "options": [ { "text": "Недосып", "next": "task_sleep_debt" }, { "text": "Инфошум", "next": "task_focus_mode" }, { "text": "Сидел(а) без движения", "next": "task_micro_walk" }, { "text": "Слишком много общения", "next": "task_boundary_micro" } ] }, "accumulated": { "node_id": "accumulated", "text": "Когда был полноценный отдых?", "type": "choice", "options": [ { "text": "Давно", "next": "task_stop_day" }, { "text": "Недавно, но не помогает", "next": "task_energy_leak_map" } ] }, "task_sleep_debt": { "node_id": "task_sleep_debt", "text": "Вернуть сон.", "type": "task_trigger", "task": { "type": "time_commitment", "prompt": "Выбери время отбоя сегодня и напоминание за 60 минут.", "input_type": "time" }, "tags": [ "sleep_plan" ] }, "task_focus_mode": { "node_id": "task_focus_mode", "text": "Снять пинг-шторм.", "type": "task_trigger", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Не беспокоить 25 минут", "Убери 1 источник шума (уведомления/вкладки)" ] }, "tags": [ "attention" ] }, "task_micro_walk": { "node_id": "task_micro_walk", "text": "Движение.", "type": "task_trigger", "task": { "type": "timer", "prompt": "2 минуты ходьбы/растяжки.", "duration": 120 }, "tags": [ "movement" ] }, "task_boundary_micro": { "node_id": "task_boundary_micro", "text": "Снять социальную нагрузку.", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Выбери шаблон границы.", "templates": [ "Сейчас не могу, вернусь завтра.", "Мне нужно время, отвечу позже." ] }, "tags": [ "boundary" ] }, "task_stop_day": { "node_id": "task_stop_day", "text": "СТОП-ритуал (без драмы).", "type": "task_trigger", "task": { "type": "choice", "prompt": "Выбери 1 стоп на сегодня.", "options": [ "Не брать новых задач", "10 минут тишины", "Лечь на 30 минут раньше" ] }, "tags": [ "stop" ] }, "task_energy_leak_map": { "node_id": "task_energy_leak_map", "text": "Карта утечек.", "type": "task_trigger", "task": { "type": "checklist", "prompt": "Отметь, что забирает энергию сильнее всего.", "items": [ "Работа/учёба", "Тревога/мысли", "Люди/границы", "Тело/режим" ] }, "tags": [ "energy_leak" ] } } }, "oasis_recovery_rituals": { "tree_id": "oasis_recovery_rituals", "district": "oasis", "root": { "node_id": "root", "text": "Нужен быстрый 'сброс' или мягкое восстановление?", "type": "choice", "options": [ { "text": "Быстрый сброс (1–2 мин)", "next": "reset" }, { "text": "Мягкое восстановление (5–10 мин)", "next": "restore" } ], "tags": [ "recovery" ] }, "nodes": { "reset": { "node_id": "reset", "text": "Выбери один сброс.", "type": "choice", "options": [ { "text": "Дыхание 60 сек", "next": "task_box_breath" }, { "text": "Вода + окно", "next": "task_water_pause" }, { "text": "Размять шею/плечи", "next": "task_shoulder_roll" } ] }, "restore": { "node_id": "restore", "text": "Выбери восстановление.", "type": "choice", "options": [ { "text": "Прогулка 5 мин", "next": "task_walk_5" }, { "text": "Тишина 5 мин", "next": "task_silence_5" }, { "text": "Лёгкая еда/чай", "next": "task_food_choice" } ] }, "task_box_breath": { "node_id": "task_box_breath", "type": "task_trigger", "text": "Дыхание.", "task": { "type": "timer", "prompt": "1 минута: вдох 4 — пауза 4 — выдох 4 — пауза 4.", "duration": 60 }, "tags": [ "breath" ] }, "task_water_pause": { "node_id": "task_water_pause", "type": "task_trigger", "text": "Вода + окно.", "task": { "type": "checklist", "prompt": "Сделай оба пункта.", "items": [ "Выпей воды", "Открой окно или выйди на воздух на 30 сек" ] }, "tags": [ "base_reset" ] }, "task_shoulder_roll": { "node_id": "task_shoulder_roll", "type": "task_trigger", "text": "Шея/плечи.", "task": { "type": "timer", "prompt": "60 секунд: круги плечами + мягкая растяжка шеи.", "duration": 60 }, "tags": [ "posture" ] }, "task_walk_5": { "node_id": "task_walk_5", "type": "task_trigger", "text": "Прогулка.", "task": { "type": "timer", "prompt": "5 минут: выйди и пройдись. Без телефона.", "duration": 300 }, "tags": [ "movement" ] }, "task_silence_5": { "node_id": "task_silence_5", "type": "task_trigger", "text": "Тишина.", "task": { "type": "timer", "prompt": "5 минут: сядь удобно. Никакого ввода. Просто быть.", "duration": 300 }, "tags": [ "rest" ] }, "task_food_choice": { "node_id": "task_food_choice", "type": "task_trigger", "text": "Питание.", "task": { "type": "choice", "prompt": "Что сделаешь?", "options": [ "Сделаю чай/воду", "Съём что-то простое", "Проверю, ел(а) ли я сегодня" ] }, "tags": [ "food" ] } } }, "citadel_80_percent": { "tree_id": "citadel_80_percent", "district": "citadel", "root": { "node_id": "root", "text": "Качество сейчас важнее скорости или наоборот?", "type": "choice", "options": [ { "text": "Качество (хочу идеально)", "next": "perfection" }, { "text": "Скорость (надо успеть)", "next": "deadline" }, { "text": "Не понимаю, что главное", "next": "unclear" } ], "tags": [ "citadel" ] }, "nodes": { "perfection": { "node_id": "perfection", "text": "На каком % ты обычно останавливаешься?", "type": "scale", "min": 50, "max": 100, "branches": { "90-100": "task_80_experiment", "50-89": "task_good_enough" }, "tags": [ "perfection" ] }, "deadline": { "node_id": "deadline", "text": "Сколько времени до края?", "type": "choice", "options": [ { "text": "Часы", "next": "task_triage_hours", "tags": [ "urgent" ] }, { "text": "1–3 дня", "next": "task_triage_days", "tags": [ "near_deadline" ] }, { "text": "Неделя+", "next": "task_scope_cut", "tags": [ "plan" ] } ], "tags": [ "deadline" ] }, "unclear": { "node_id": "unclear", "text": "Если бы сделал(а) сегодня только одну вещь — что бы это было?", "type": "task_trigger", "task": { "type": "text_input", "prompt": "Напиши 1 вещь. Затем поставь её первой в списке.", "validation": "min_length:6" }, "tags": [ "priority" ] }, "task_80_experiment": { "node_id": "task_80_experiment", "type": "task_trigger", "text": "Эксперимент 80%.", "task": { "type": "experiment", "prompt": "Выбери 1 задачу и сделай черновик за 2 минуты (скелет/пункты/контуры).", "duration": 120 }, "tags": [ "perfection_break" ] }, "task_good_enough": { "node_id": "task_good_enough", "type": "task_trigger", "text": "Достаточно хорошо.", "task": { "type": "reflection", "prompt": "Ответь: 'Какие 2 требования можно убрать без потери смысла?'", "min_words": 10 }, "tags": [ "reframe" ] }, "task_triage_hours": { "node_id": "task_triage_hours", "type": "task_trigger", "text": "Триаж (часы).", "task": { "type": "top_three", "prompt": "Выпиши всё и оставь 3 обязательных до дедлайна. Остальное — потом.", "max_items": 12 }, "tags": [ "triage", "urgent" ] }, "task_triage_days": { "node_id": "task_triage_days", "type": "task_trigger", "text": "Триаж (дни).", "task": { "type": "weekly_plan", "prompt": "Разбей 3 ключевые задачи по дням до дедлайна.", "days": 3 }, "tags": [ "plan" ] }, "task_scope_cut": { "node_id": "task_scope_cut", "type": "task_trigger", "text": "Срезать объём.", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Определи 'минимально приемлемый результат'", "Удали 1 необязательный кусок" ] }, "tags": [ "scope" ] } } }, "citadel_delegation": { "tree_id": "citadel_delegation", "district": "citadel", "root": { "node_id": "root", "text": "Есть ли задача, которую можно делегировать/снять/упростить?", "type": "choice", "options": [ { "text": "Да", "next": "which_task" }, { "text": "Нет/не вижу", "next": "why_not" } ], "tags": [ "delegation" ] }, "nodes": { "which_task": { "node_id": "which_task", "text": "Выбери стратегию.", "type": "choice", "options": [ { "text": "Делегировать", "next": "task_delegate" }, { "text": "Отказаться", "next": "task_say_no" }, { "text": "Упростить", "next": "task_simplify" } ] }, "why_not": { "node_id": "why_not", "text": "Почему не получается?", "type": "choice", "options": [ { "text": "Некому", "next": "task_cut_scope" }, { "text": "Страшно попросить", "next": "task_delegate" }, { "text": "Чувство вины", "next": "task_guilt_reframe" } ] }, "task_delegate": { "node_id": "task_delegate", "type": "task_trigger", "text": "Делегирование.", "task": { "type": "message_template", "prompt": "Шаблон просьбы.", "templates": [ "Можешь взять на себя {задача}? Мне нужно разгрузиться, срок — {дата}.", "Нужна помощь с {задача}. Можешь сделать {часть} до {дата}?" ] }, "tags": [ "delegate" ] }, "task_say_no": { "node_id": "task_say_no", "type": "task_trigger", "text": "Сказать 'нет'.", "task": { "type": "message_template", "prompt": "Шаблон отказа.", "templates": [ "Не смогу взять это сейчас. Могу вернуться к этому после {дата}.", "Сейчас приоритет другой, поэтому это не возьму." ] }, "tags": [ "boundary" ] }, "task_simplify": { "node_id": "task_simplify", "type": "task_trigger", "text": "Упростить.", "task": { "type": "reflection", "prompt": "Напиши: что является 'ядром' задачи? Что можно убрать?", "min_words": 12 }, "tags": [ "scope" ] }, "task_cut_scope": { "node_id": "task_cut_scope", "type": "task_trigger", "text": "Если некому — режем объём.", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Определи минимальный результат", "Удали 1 необязательный шаг" ] }, "tags": [ "scope" ] }, "task_guilt_reframe": { "node_id": "task_guilt_reframe", "type": "task_trigger", "text": "Вина — шум.", "task": { "type": "reflection", "prompt": "Закончить фразу: 'Если я скажу нет, то...'. Затем: 'Самое вероятное, что произойдёт...'.", "min_words": 12 }, "tags": [ "reframe" ] } } }, "arsenal_resource_map": { "tree_id": "arsenal_resource_map", "district": "arsenal", "root": { "node_id": "root", "text": "Тревога про деньги — это про НЕОПРЕДЕЛЁННОСТЬ или про НЕХВАТКУ?", "type": "choice", "options": [ { "text": "Неопределённость (не знаю цифры)", "next": "uncertain" }, { "text": "Нехватка (понимаю, что мало)", "next": "shortage" }, { "text": "Долг давит", "next": "debt" } ], "tags": [ "arsenal" ] }, "nodes": { "uncertain": { "node_id": "uncertain", "text": "Соберём 3 опоры: доход / базовые расходы / обязательный платёж.", "type": "task_trigger", "task": { "type": "calculation", "prompt": "Введи 3 числа. Мы просто фиксируем реальность.", "fields": [ { "name": "income", "label": "Доход (мес)" }, { "name": "base", "label": "База (аренда+еда+счета)" }, { "name": "mandatory", "label": "Обязательные платежи/долги" } ], "calculation": "income - base - mandatory" }, "tags": [ "numbers" ] }, "shortage": { "node_id": "shortage", "text": "Не хватает на базу или на желаемое?", "type": "choice", "options": [ { "text": "На базу", "next": "task_crisis_cut" }, { "text": "На желаемое", "next": "task_wish_gap" } ] }, "debt": { "node_id": "debt", "text": "Можно ли платить частями (хоть немного регулярно)?", "type": "choice", "options": [ { "text": "Да", "next": "task_debt_plan" }, { "text": "Нет/не знаю", "next": "task_call_plan" } ] }, "task_crisis_cut": { "node_id": "task_crisis_cut", "type": "task_trigger", "text": "Антикризис 1 шаг.", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Отмени 1 подписку/платёж (если есть)", "Запиши 1 способ добавить +X дохода (микро)" ] }, "tags": [ "crisis" ] }, "task_wish_gap": { "node_id": "task_wish_gap", "type": "task_trigger", "text": "Разрыв мечты и реальности.", "task": { "type": "reflection", "prompt": "Напиши: 'Я хочу ___, но сейчас могу ___'. Затем выбери один микрошаг к первому.", "min_words": 12 }, "tags": [ "reframe" ] }, "task_debt_plan": { "node_id": "task_debt_plan", "type": "task_trigger", "text": "План долга.", "task": { "type": "number_input", "prompt": "Сколько в месяц реально можешь отдавать (даже маленькую сумму)?", "validation": "is_number" }, "tags": [ "debt_plan" ] }, "task_call_plan": { "node_id": "task_call_plan", "type": "task_trigger", "text": "Уточнить условия.", "task": { "type": "time_commitment", "prompt": "Запланируй 10 минут: позвонить/написать в поддержку/кредитора или открыть условия долга.", "input_type": "datetime" }, "tags": [ "debt_plan" ] } } }, "arsenal_control_step": { "tree_id": "arsenal_control_step", "district": "arsenal", "root": { "node_id": "root", "text": "Есть ли сегодня 1 шаг, который ты контролируешь? (даже микрошаг)", "type": "choice", "options": [ { "text": "Да", "next": "choose_step" }, { "text": "Не вижу", "next": "blockers" } ], "tags": [ "control" ] }, "nodes": { "choose_step": { "node_id": "choose_step", "text": "Выбери шаг на 1–2 минуты.", "type": "choice", "options": [ { "text": "Отменить подписку", "next": "task_cancel_sub" }, { "text": "Поставить лимит на траты", "next": "task_set_limit" }, { "text": "Записать платежи недели", "next": "task_list_payments" }, { "text": "Оплатить 1 счёт", "next": "task_pay_one" } ] }, "blockers": { "node_id": "blockers", "text": "Что мешает?", "type": "choice", "options": [ { "text": "Страх смотреть", "next": "task_one_number" }, { "text": "Стыд/вина", "next": "task_shame_reframe" }, { "text": "Усталость", "next": "task_micro_rest" } ] }, "task_cancel_sub": { "node_id": "task_cancel_sub", "type": "task_trigger", "text": "Отменить подписку.", "task": { "type": "checklist", "prompt": "Сделай шаг.", "items": [ "Открой подписки", "Отмени 1 ненужную" ] }, "tags": [ "expense_cut" ] }, "task_set_limit": { "node_id": "task_set_limit", "type": "task_trigger", "text": "Лимит.", "task": { "type": "number_input", "prompt": "Поставь дневной лимит трат. Введи число.", "validation": "is_number" }, "tags": [ "limit" ] }, "task_list_payments": { "node_id": "task_list_payments", "type": "task_trigger", "text": "Платежи недели.", "task": { "type": "checklist", "prompt": "Запиши 3 ближайших обязательных платежа.", "items": [ "Платёж 1", "Платёж 2", "Платёж 3" ] }, "tags": [ "plan" ] }, "task_pay_one": { "node_id": "task_pay_one", "type": "task_trigger", "text": "Один счёт.", "task": { "type": "action_commitment", "prompt": "Оплати 1 маленький счёт/долг (или подготовь платёж). Напиши что именно.", "validation": "min_length:6" }, "tags": [ "action" ] }, "task_one_number": { "node_id": "task_one_number", "type": "task_trigger", "text": "Одна цифра.", "task": { "type": "number_input", "prompt": "Открой банк и введи 1 цифру: остаток/долг/расход.", "validation": "is_number" }, "tags": [ "numbers" ] }, "task_shame_reframe": { "node_id": "task_shame_reframe", "type": "task_trigger", "text": "Стыд — шум.", "task": { "type": "reflection", "prompt": "Напиши: 'Это цифры, не приговор'. Затем: 'Следующий шаг — ___'.", "min_words": 8 }, "tags": [ "reframe" ] }, "task_micro_rest": { "node_id": "task_micro_rest", "type": "task_trigger", "text": "Микро-отдых.", "task": { "type": "timer", "prompt": "90 секунд: ничего не делать.", "duration": 90 }, "tags": [ "rest" ] } } }, "arsenal_enough": { "tree_id": "arsenal_enough", "district": "arsenal", "root": { "node_id": "root", "text": "Тревога: денег не хватает ИЛИ хватает, но всё равно неспокойно?", "type": "choice", "options": [ { "text": "Не хватает", "next": "shortage" }, { "text": "Хватает, но тревожно", "next": "enough_but" } ], "tags": [ "enough" ] }, "nodes": { "shortage": { "node_id": "shortage", "text": "На что не хватает?", "type": "choice", "options": [ { "text": "База (еда/аренда)", "next": "task_crisis_cut" }, { "text": "Желаемое", "next": "task_wish_gap" } ] }, "enough_but": { "node_id": "enough_but", "text": "Сколько нужно, чтобы стало спокойнее? Посчитаем 'сумму спокойствия'.", "type": "task_trigger", "task": { "type": "calculation", "prompt": "Введи базовые расходы, мы добавим 20% запас.", "fields": [ { "name": "rent", "label": "Аренда" }, { "name": "food", "label": "Еда" }, { "name": "bills", "label": "Счета" }, { "name": "other", "label": "Другое" } ], "calculation": "(rent+food+bills+other)*1.2" }, "tags": [ "numbers" ] }, "task_crisis_cut": { "node_id": "task_crisis_cut", "type": "task_trigger", "text": "Антикризис 1 шаг.", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Убери 1 расход (если можно)", "Запиши 1 способ усилить доход" ] }, "tags": [ "crisis" ] }, "task_wish_gap": { "node_id": "task_wish_gap", "type": "task_trigger", "text": "Разрыв мечты.", "task": { "type": "reflection", "prompt": "Что именно хочется? Какая минимальная версия 'сейчас' возможна?", "min_words": 12 }, "tags": [ "reframe" ] } } }, "forum_soft_boundaries": { "tree_id": "forum_soft_boundaries", "district": "forum", "root": { "node_id": "root", "text": "Границы: их чаще нарушают другие или ты сам(а) их стираешь?", "type": "choice", "options": [ { "text": "Другие нарушают", "next": "others" }, { "text": "Я сам(а) стираю", "next": "self" } ], "tags": [ "boundaries" ] }, "nodes": { "others": { "node_id": "others", "text": "Где именно?", "type": "choice", "options": [ { "text": "Время", "next": "task_time_boundary" }, { "text": "Эмоции/разговоры", "next": "task_emotion_boundary" }, { "text": "Деньги/ресурсы", "next": "task_money_boundary" } ] }, "self": { "node_id": "self", "text": "Почему так получается?", "type": "choice", "options": [ { "text": "Страх отказа", "next": "task_soft_no" }, { "text": "Чувство вины", "next": "task_guilt_reframe" }, { "text": "Привычка быть удобным", "next": "task_soft_no" } ] }, "task_time_boundary": { "node_id": "task_time_boundary", "type": "task_trigger", "text": "Граница по времени.", "task": { "type": "message_template", "prompt": "Шаблон.", "templates": [ "Сейчас не могу. Могу в {время}.", "Давай вернёмся к этому завтра." ] }, "tags": [ "boundary" ] }, "task_emotion_boundary": { "node_id": "task_emotion_boundary", "type": "task_trigger", "text": "Граница по эмоциям.", "task": { "type": "message_template", "prompt": "Шаблон.", "templates": [ "Я тебя слышу, но сейчас не вытяну обсуждение. Давай позже.", "Мне нужно время, чтобы ответить спокойно." ] }, "tags": [ "boundary" ] }, "task_money_boundary": { "node_id": "task_money_boundary", "type": "task_trigger", "text": "Граница по ресурсам.", "task": { "type": "message_template", "prompt": "Шаблон.", "templates": [ "Сейчас не могу одолжить/помочь деньгами.", "Могу помочь иначе: {вариант}." ] }, "tags": [ "boundary" ] }, "task_soft_no": { "node_id": "task_soft_no", "type": "task_trigger", "text": "Мягкое 'нет'.", "task": { "type": "honest_phrase", "prompt": "Скажи вслух (или напиши): 'Сейчас не могу'. Один раз.", "phrase": "Сейчас не могу" }, "tags": [ "boundary" ] }, "task_guilt_reframe": { "node_id": "task_guilt_reframe", "type": "task_trigger", "text": "Вина — шум.", "task": { "type": "reflection", "prompt": "Напиши: 'Я имею право на границы, потому что...'.", "min_words": 10 }, "tags": [ "reframe" ] } } }, "forum_ask_give": { "tree_id": "forum_ask_give", "district": "forum", "root": { "node_id": "root", "text": "Сейчас тебе больше нужно ПОПРОСИТЬ или ДАТЬ?", "type": "choice", "options": [ { "text": "Попросить", "next": "ask" }, { "text": "Дать", "next": "give" } ], "tags": [ "forum_exchange" ] }, "nodes": { "ask": { "node_id": "ask", "text": "Кому и о чём? (в 1 строку)", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Собери просьбу.", "templates": [ "Привет! Можешь помочь с {вещь} на этой неделе?", "Мне нужна поддержка. Есть 10 минут поговорить?", "Можешь подсказать по {тема}?" ] }, "tags": [ "ask" ] }, "give": { "node_id": "give", "text": "Кому можешь дать маленькое тепло/внимание?", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Выбери один формат.", "templates": [ "Спасибо тебе за ...", "Ты классно справился(ась) с ...", "Привет! Давно не общались. Как ты?" ] }, "tags": [ "give" ] } } }, "forum_repair_breaks": { "tree_id": "forum_repair_breaks", "district": "forum", "root": { "node_id": "root", "text": "Есть ли сейчас разрыв/обида/недосказанность с человеком?", "type": "choice", "options": [ { "text": "Да", "next": "safety" }, { "text": "Нет", "next": "maintenance" } ], "tags": [ "repair" ] }, "nodes": { "safety": { "node_id": "safety", "text": "С этим человеком безопасно контактировать?", "type": "choice", "options": [ { "text": "Да", "next": "task_repair_message" }, { "text": "Нет/не хочу", "next": "task_closure_letter" } ] }, "maintenance": { "node_id": "maintenance", "text": "Тогда укрепим связь: кому можно отправить 'проверочный' пинг?", "type": "task_trigger", "task": { "type": "message_template", "prompt": "Выбери шаблон.", "templates": [ "Привет! Как ты?", "Думаю о тебе. Всё ок?", "Есть желание созвониться на неделе?" ] }, "tags": [ "maintenance" ] }, "task_repair_message": { "node_id": "task_repair_message", "type": "task_trigger", "text": "Ремонт.", "task": { "type": "message_template", "prompt": "Шаблон ремонта.", "templates": [ "Мне важно прояснить между нами. Удобно поговорить?", "Хочу закрыть это спокойно. Готов(а) обсудить?", "Я скучаю по нормальному контакту. Давай найдём время." ] }, "tags": [ "repair" ] }, "task_closure_letter": { "node_id": "task_closure_letter", "type": "task_trigger", "text": "Письмо (не отправлять).", "task": { "type": "letter", "prompt": "5–7 строк: что было важно, что больно, что отпускаешь.", "min_lines": 5 }, "tags": [ "closure" ] } } }, "garden_micro_habits": { "tree_id": "garden_micro_habits", "district": "garden", "root": { "node_id": "root", "text": "Ты хочешь ДОБАВИТЬ привычку или УБРАТЬ шум?", "type": "choice", "options": [ { "text": "Добавить", "next": "add" }, { "text": "Убрать шум", "next": "remove" } ], "tags": [ "habits" ] }, "nodes": { "add": { "node_id": "add", "text": "Выбери направление.", "type": "choice", "options": [ { "text": "Учёба/навык", "next": "task_habit_anchor" }, { "text": "Тело/движение", "next": "task_habit_anchor" }, { "text": "Творчество", "next": "task_habit_anchor" } ] }, "remove": { "node_id": "remove", "text": "Какой шум хочешь уменьшить?", "type": "choice", "options": [ { "text": "Скролл/соцсети", "next": "task_friction" }, { "text": "Переедание/сладкое", "next": "task_friction" }, { "text": "Сериал/игры без стопа", "next": "task_friction" } ] }, "task_habit_anchor": { "node_id": "task_habit_anchor", "type": "task_trigger", "text": "Микропривычка.", "task": { "type": "habit_anchor", "prompt": "Опиши: что (2 минуты) + к чему привяжешь (после/перед чем).", "example": "После кофе — 2 минуты чтения" }, "tags": [ "micro_habit" ] }, "task_friction": { "node_id": "task_friction", "type": "task_trigger", "text": "Фрикция для шума.", "task": { "type": "checklist", "prompt": "Сделай 2 пункта.", "items": [ "Убери ярлык/иконку с главного экрана", "Поставь лимит 15 минут/день" ] }, "tags": [ "noise" ] } } }, "garden_learning_performance": { "tree_id": "garden_learning_performance", "district": "garden", "root": { "node_id": "root", "text": "Учёба/рост сейчас: из интереса или под давлением?", "type": "choice", "options": [ { "text": "Интерес", "next": "interest" }, { "text": "Давление/надо", "next": "pressure" }, { "text": "Плато/застой", "next": "plateau" } ], "tags": [ "learning" ] }, "nodes": { "interest": { "node_id": "interest", "text": "Тогда усилим: что хочешь изучать в ближайшие 10 минут?", "type": "task_trigger", "task": { "type": "time_commitment", "prompt": "Запланируй 10 минут на тему и запиши её.", "input_type": "datetime" }, "tags": [ "plan" ] }, "pressure": { "node_id": "pressure", "text": "Когда давит — нужен минимум. Что является 'проходным баллом' (80%)?", "type": "task_trigger", "task": { "type": "reflection", "prompt": "Опиши минимально достаточный результат (2–3 пункта).", "min_words": 12 }, "tags": [ "80_rule" ] }, "plateau": { "node_id": "plateau", "text": "Плато: не хватает энергии или смысла?", "type": "choice", "options": [ { "text": "Энергии", "next": "task_micro_rest" }, { "text": "Смысла", "next": "task_two_paragraphs" } ] }, "task_micro_rest": { "node_id": "task_micro_rest", "type": "task_trigger", "text": "Микро-отдых.", "task": { "type": "timer", "prompt": "90 секунд ничего не делать.", "duration": 90 }, "tags": [ "rest" ] }, "task_two_paragraphs": { "node_id": "task_two_paragraphs", "type": "task_trigger", "text": "Два абзаца.", "task": { "type": "reflection", "prompt": "Напиши 2 абзаца: зачем мне это и что я хочу получить.", "min_words": 50 }, "tags": [ "meaning" ] } } }, "garden_resilience_system": { "tree_id": "garden_resilience_system", "district": "garden", "root": { "node_id": "root", "text": "Соберём 'Систему 3': Якорь (привычка) + Связь (человек) + Место (точка покоя).", "type": "choice", "options": [ { "text": "Собрать сейчас", "next": "task_system3" }, { "text": "Пока сложно", "next": "task_system3_micro" } ], "tags": [ "system" ] }, "nodes": { "task_system3": { "node_id": "task_system3", "type": "task_trigger", "text": "Система 3.", "task": { "type": "system_of_three", "prompt": "Заполни 3 поля.", "fields": [ { "name": "anchor", "label": "Якорь (2 минуты ежедневно)" }, { "name": "connection", "label": "Связь (кто-то один)" }, { "name": "place", "label": "Место (где ты выдыхаешь)" } ] }, "tags": [ "system" ] }, "task_system3_micro": { "node_id": "task_system3_micro", "type": "task_trigger", "text": "Мини-версия.", "task": { "type": "checklist", "prompt": "Выбери 1 из 3 на сегодня.", "items": [ "Якорь: 2 минуты (любой)", "Связь: 1 сообщение человеку", "Место: 2 минуты в 'тихой точке'" ] }, "tags": [ "system" ] } } } } }