# ТЗ: Агент "Детский помощник" > **Заказчик:** Слава > **Дата:** 2026-04-12 > **Исполнитель:** Dev-агент (subagent) --- ## 1. Концепция **Что делает агент:** персональный помощник для родителей по вопросам ребёнка — одежда, обувь, игрушки, обучение, события. **Отличие от основного ассистента (Стрим):** - Узкая специализация — только детская тематика - Изолированная память — данные не шарится с другими агентами - Дружелюбный, тёплый тон — обращается к родителю, помнит детали ребёнка - Отдельный Telegram-бот (не путать с основным `@ha542_bot`) **Имя агента:** Детский (внутр. идентификатор: `kids`) --- ## 2. Функциональность ### 2.1 Профиль ребёнка — что помнить Поля (все в `memory/kids/PROFILE.md`): | Поле | Пример | Описание | |------|--------|----------| | `имя` | Миша | Имя ребёнка | | `дата_рождения` | 2019-03-15 | Для расчёта возраста | | `рост` | 115 см | Текущий рост | | `вес` | 19 кг | Текущий вес | | `размер_одежды` | 116 / 5 лет | Размер + возрастной | | `размер_обуви` | 31 EU | Размер обуви | | `размер_головы` | 52 см | Для шапок/шлемов | | `sezonnost` | весна/осень | Сезон преобладания | | `аллергии` | — | Список или пусто | | `предпочтения_одежда` | любит синий, не любит застёжки | Вкусы | | `предпочтения_еда` | любит макароны | Для организации меню | | `интересы` | роботы, Lego, животные | Для подбора игрушек | | `уровень_развития` | читает, считает до 20 | Для подбора обучения | | `偏好` | мягкие игрушки | Для рекомендаций | Агент автоматически пересчитывает возраст и рекомендует обновлять размеры каждые 6 мес. ### 2.2 Помощь с выбором **Одежда/обувь:** - Вопрос: "Что купить на зиму для Миши?" → агент смотрит размеры, сезон, предпочтения → рекомендует конкретные позиции - Учитывает: текущий размер, погодные условия (если есть интеграция с погодой), бюджет (если задан) - Может сохранять "список на вырост" — что купить когда подрастёт **Игрушки:** - Вопрос: "Что подарить на день рождения?" → рекомендации по возрасту + интересы - Может искать в интернете (через yandex-search / brave-search), но спрашивает разрешения **Обучение:** - Вопрос: "Чем занять 6-летку?" → рекомендации по развитию - Книги, приложения, игры — по интересам и возрасту ### 2.3 События и напоминания Календарь событий в `memory/kids/CALENDAR.md`: | Событие | Пример | |---------|--------| | День рождения (ребёнок) | 2019-03-15 | | День рождения (друзья) | даты друзей | | Школьные мероприятия | утренники, экскурсии | | Медицинские | медосмотр, прививки | | Сезонная смена гардероба | конец августа — лёгкая → тёплая | Агент: - Подсказывает что купить к событию (за 2 недели, за 1 неделю) - Напоминает о днях рождения (за неделю) - Напоминает о смене сезона — "пора проверить зимнюю одежду" ### 2.4 Telegram-бот **Отдельный бот** — нужен новый BotFather бот (`@kids_helper_bot` или аналог). Команды: - `/start` — приветствие + краткая инструкция - `/profile` — показать профиль ребёнка - `/edit профиль` — редактировать поля - `/add событие` — добавить событие в календарь - `/календарь` — список ближайших событий - `/ напоминание` — напомнить о... - `/размер` — показать текущие размеры - `/чтокупить` — помощь с выбором --- ## 3. Изоляция данных ### 3.1 Изоляция от других агентов - **Runtime:** отдельный `runtime=subagent`, свой workspace - **Workspace:** `~/.openclaw/workspace-kids/` — изолирован от основного `workspace` - **MEMORY.md:** свой, не общий. Структура аналогичная, но в `workspace-kids/memory/` - **Telegram-бот:** отдельный бот, отдельный chat_id - **Секреты:** BotToken отдельный, в `.env` как `KIDS_BOT_TOKEN` ### 3.2 Структура workspace-kids ``` ~/.openclaw/workspace-kids/ ├── SOUL.md # Персонаж: тёплый, заботливый, чуть-чуть игривый ├── PROFILE.md # Основной профиль ребёнка (TODAY.md style) ├── PROFILE.md # Основной профиль ребёнка (TODAY.md style) ├── PROFILE.md # Основной профиль ребёнка (TODAY.md style) ├── memory/ │ ├── YYYY-MM-DD.md # Ежедневные записи │ └── CALENDAR.md # Календарь событий ├── SOUL.md # Персонаж ассистента ├── AGENTS.md # Правила (с минимумом — специфика) └── TOOLS.md # Локальные заметки ``` ### 3.3 no shared context - Агент не читает `/home/node/.openclaw/workspace/MEMORY.md` (основной ассистент) - Основной ассистент не читает `workspace-kids/` - Единственное исключение: общий `MEMORY.md` агента kids — в его собственном workspace --- ## 4. Архитектура ### 4.1 Компоненты 1. **Telegram-бот** — интерфейс (Python, python-telegram-bot) 2. **Агент** — subagent с моделью и workspace-kids 3. **Память** — файловая, в workspace-kids (аналогично Стрим) 4. **Календарь событий** — markdown-файл + триггер напоминаний ### 4.2 Telegram-бот — схема работы ``` Слава (Telegram) → @kids_helper_bot → webhook → OpenClaw (kids session, runtime=subagent) → агент обрабатывает → ответ в тот же чат ``` ### 4.3 Напоминания - Через HEARTBEAT.md в workspace-kids - Агент проверяет календарь каждый день (утро UTC+3) - Напоминания отправляет через Telegram-бот --- ## 5. Стек и модель | Параметр | Значение | |----------|----------| | Runtime | `subagent` | | Модель | `openrouter/minimax/minimax-m2.7` (дефолт для kids-специфичных задач, если нужна мощная модель — `nekocode/gpt-5.4` или `anthropic/claude-sonnet-4-6`) | | Telegram-бот | Python + python-telegram-bot (polling или webhook) | | Изоляция | отдельный workspace, отдельный бот, отдельный .env ключ | --- ## 6. План реализации (этапы) ### Этап 1: Инфраструктура - [ ] Создать workspace `~/.openclaw/workspace-kids/` - [ ] Создать базовые файлы: SOUL.md, PROFILE.md (пустой шаблон), AGENTS.md, TOOLS.md, memory/ - [ ] Добавить BotToken в `.env` (`KIDS_BOT_TOKEN`) - [ ] Зарегистрировать бота в OpenClaw (accounts.yaml или конфиг) - [ ] Проверить что бот отвечает на `/start` ### Этап 2: Память и профиль - [ ] Шаблон PROFILE.md с инструкцией по заполнению - [ ] CALENDAR.md — шаблон - [ ] Инструкция в AGENTS.md: как обновлять профиль - [ ] Тест: добавить данные → агент их запоминает ### Этап 3: Функциональность - [ ] Обработка команд `/profile`, `/календарь`, `/размер` - [ ] Помощь с выбором — базовая логика (без интернета) - [ ] Поиск в интернете — через yandex-search (с запросом) - [ ] Напоминания о событиях — через cron heartbeat ### Этап 4: Полировка - [ ] Первое сообщение приветствия — "расскажи о ребёнке" - [ ] Проверка: агент помнит данные между сессиями - [ ] Документация: как добавлять/обновлять данные --- ## 7. Out of scope (НЕ делать) - Интеграция с детскими учреждениями (сады, школы) - Медицинские данные (кроме аллергий) - Отслеживание развития (графики роста и т.д.) - Покупки через интеграции (Ozon API и т.д.) - Шеринг данных с основным ассистентом --- ## 8. Критерии приёмки 1. Бот отвечает на `/start` — приветственное сообщение 2. `/profile` — показывает профиль ребёнка (пустой или заполненный) 3. Агент запоминает факт ("рост 115 см") и через сессию возвращает его 4. `/календарь` — показывает ближайшие события 5. Напоминание приходит вовремя (за неделю до дня рождения) 6. Изоляция: kids workspace не виден из основного workspace 7. Отдельный Telegram-бот (не `@ha542_bot`) --- ## 9. Сообщения агента — стиль Агент обращается к родителю на "ты", тепло и дружелюбно: ✅ "Отлично! Записала, что Мише нужен 31-й размер обуви 👍" ✅ "О! Синий — его любимый цвет, учту. Что-то конкретное ищешь, или просто обзор?" ✅ "Нашёл несколько отличных Lego-наборов для 6 лет. Показать?" ❌ "Данные обновлены." ❌ "Рекомендация сформирована." ❌ "Информация сохранена в профиле." --- ## 10. Имя агента — для SOUL.md **Имя:** Помощник 🌈 **Персонаж:** Тёплый, чуть-чуть сказочный. Как заботливая тётя/старшая сестра. Помнит все детали, напоминает вовремя, помогает выбрать лучшее. **Тон:** дружелюбный, с эмодзи, но без крика. **Эмодзи по умолчанию:** 🌈