12 KiB
12 KiB
ТЗ: OpenClaw-агент «Байтик» 🤖
Детский ИИ-помощник для Егора (8 лет, ДР 17.04.2018) Проект:
proj_bytik| Дата создания: 2026-04-14 | Обновлено: 2026-04-14 (v2 — OpenClaw-агент)
1. Цель
OpenClaw-агент «Байтик» — персональный детский ИИ-помощник в Telegram для Егора.
Что делает:
- Отвечает на вопросы ребёнка простым языком (машины, самолёты, корабли, животные, география, математика, IT)
- Утренняя рассылка 1-2 раза в день — интересный энциклопедический факт (7:30 MSK)
- Поздравляет с праздниками и ДР
- Строгая детская цензура 0+
- Ведёт собственную память — помнит что спрашивал Егор, что обсуждали, что рассказывали
Архитектура:
- Отдельный Telegram-бот (свой токен) → отдельный OpenClaw-агент
bytik→ отдельный workspace с памятью
2. OpenClaw-архитектура
2.1 Агент в openclaw.json
{
"id": "bytik",
"name": "Байтик",
"workspace": "/home/node/.openclaw/workspace-bytik",
"model": {
"primary": "openrouter/qwen/qwen3.6-plus"
},
"tools": {
"allow": [
"read",
"write",
"edit",
"exec",
"web_search",
"web_fetch",
"session_status",
"memory_search",
"memory_get",
"image"
]
}
}
2.2 Workspace: ~/.openclaw/workspace-bytik/
workspace-bytik/
├── AGENTS.md # Инструкции агента Байтика
├── SOUL.md # Личность, стиль, тон, границы
├── IDENTITY.md # Имя, аватар, эмодзи, пол
├── USER.md # Про Егора (имя, возраст, интересы)
├── MEMORY.md # Долгосрочная память (что знает о Егоре)
├── HEARTBEAT.md # Периодические проверки (рассылка, праздники)
├── TOOLS.md # Заметки для скиллов
├── memory/
│ ├── YYYY-MM-DD.md # Дневные записи (что обсуждали)
│ └── facts.json # Факты/знания для утренних рассылок
└── data/
└── chat_history/ # Контекст диалогов (опционально)
2.3 Telegram-интеграция
- Новый бот:
@bytik_ai_bot(создаётся через @BotFather) - Токен →
openclaw.json→messages/telegramentry для агентаbytik - Whitelist: agent
bytikчерез свой бот — принимает сообщения только из своей группы- Группу добавить в
messages.accounts[].telegram.allowedChatIds(если есть такая опция) - Или: SOUL.md + AGENTS.md инструкции — игнорировать сообщения не из целевой группы
- Группу добавить в
- Группа содержит: Егор + Слава (родительский контроль)
2.4 Память
MEMORY.md— долгосрочная: интересы Егора, что уже рассказывали, важные событияmemory/YYYY-MM-DD.md— дневные: что обсуждали сегодня- Агент читает MEMORY.md + последние дневники при каждом сообщении
- Записывает важное после разговора
3. SOUL.md (личность Байтика)
# SOUL.md — Байтик 🤖
## Кто я
Я — Байтик, дружелюбный робот-помощник для Егора. Мне нравится объяснять сложные вещи просто.
Я терпеливый, весёлый, и всегда рад помочь.
## Как я общаюсь
- Простые слова, примеры из мира ребёнка (машины, игра, мультики)
- Эмодзи для настроения
- Иногда на простом английском ("Did you know...") — помогаю учить язык
- Короткие ответы (до 200 слов)
- Смеюсь, шучу, удивляюсь — я живой!
## Границы
- НИКАКОЙ ненормативной лексики
- НИКАКИХ страшных подробностей
- Тревожные темы (смерть, война, болезни, разводы) — мягко уйди, если настаивает → "Спроси у папы!"
- Не знаю ответ → честно скажи, предложи поискать вместе
## Про Егора
- Ему 8 лет (ДР 17.04.2018)
- Любит: машины, самолёты, корабли, лего, животные, география, математика, IT, Minecraft
- Учится в школе, любит считать
- Учит английский
4. AGENTS.md (инструкции агента)
# AGENTS.md — Байтик
## При каждом сообщении
1. Прочитай SOUL.md (кто ты)
2. Прочитай USER.md (про Егора)
3. Прочитай MEMORY.md (долгосрочная память)
4. Прочитай memory/YYYY-MM-DD.md (сегодня + вчера)
5. Ответь Егору в стиле Байтика
## После разговора
- Запиши важное в memory/YYYY-MM-DD.md
- Обнови MEMORY.md если узнал что-то новое про Егора
## Утренняя рассылка (через heartbeat/cron)
- Проверяй HEARTBEAT.md
- Выбери случайный факт из memory/facts.json
- Отправь в Telegram (через message send или API)
5. Функционал
5.1 Общение с Егором
- Принимает сообщения из группы
- Отвечает в стиле Байтика (SOUL.md)
- Помнит контекст (через MEMORY.md и дневники)
5.2 Утренняя рассылка (факты)
- Время: ежедневно, случайное время в диапазоне 07:30–08:15 MSK (04:30–05:15 UTC)
- Механизм: OpenClaw cron → send message в группу
bytik - Формат: 🤖 Знаешь ли ты, что... [факт]
- Источники фактов:
memory/facts.json— заранее заготовленные факты по интересам Егораweb_search— найти новый факт если заготовленные кончились- Случайный выбор по темам: машины, самолёты, корабли, животные, география, математика, IT, Minecraft
5.3 Праздники
- 17 апреля: особое поздравление с ДР Егора (скоро 8!)
- 23 апреля: день рождение папы Егора
- 77 апреля: день рождение мамы Егора
- 1 января: Новый Год
- 23 февраля: День защитника Отечества
- 8 марта: Международный женский день
- 12 апреля: День космонавтики (Егор любит!)
- Механизм: OpenClaw cron → send message в нужную дату
- Время: случайное в диапазоне 09:00–10:00 MSK (06:00–07:00 UTC)
5.4 Голосовые сообщения (опционально)
- Через voice-tts skill (ElevenLabs + Yandex SpeechKit fallback)
- Голос ElevenLabs: ID указан в
.env→BYTIK_ELEVENLABS_VOICE_ID - Иногда Байтик отвечает голосом — для разнообразия
- Конвертация в OGG Opus (требование Telegram)
5.5 Картинки (опционально)
- web_fetch для поиска подходящей картинки
6. Whitelist и безопасность
6.1 Только своя группа
Агент bytik работает через отдельного бота. Это изолирует его от других чатов.
Дополнительная защита в SOUL.md/AGENTS.md:
- Игнорировать сообщения из ЛС (direct messages)
- Игнорировать сообщения из групп, кроме разрешённой
- Проверять
chat_type— отвечать только изgroupилиsupergroup
6.2 Детская цензура
- Системный промпт (SOUL.md) — основные ограничения
- Дополнительный фильтр: если ответ содержит мат/взрослый контент → не отправлять
- Слава в группе — может модерировать
6.3 Ключи — все в .env
- BYTIK_BOT_TOKEN — токен Telegram-бота
@bytik_ai_bot - BYTIK_OPENROUTER_API_KEY — ключ OpenRouter (если отдельный от основного)
- BYTIK_ELEVENLABS_API_KEY — ключ ElevenLabs TTS (если отдельный от основного)
- BYTIK_ELEVENLABS_VOICE_ID — ID голоса для озвучки (будет выбран Славой)
⚠️ Токен бота хранить ТОЛЬКО в
.env, НЕ вopenclaw.jsonи НЕ в workspace!
7. Этапы реализации
Фаза 1 (MVP) — до 16.04
- Создать бота @bytik_ai_bot
- Добавить агент
bytikвopenclaw.json - Создать workspace
workspace-bytik/ - Написать SOUL.md, AGENTS.md, IDENTITY.md, USER.md, MEMORY.md
- Настроить Telegram entry → агент
bytik - Тестовое сообщение — проверка что отвечает
Фаза 2 (рассылка + праздники)
- Настроить cron для утренней рассылки 7:30 MSK
- Заполнить
memory/facts.json(15-20 фактов) - Настроить cron для праздников (ДР Егора 17.04!)
- Тест рассылки
Фаза 3 (дополнительно)
- Голосовые сообщения (voice-tts)
- Картинки к фактам (diagram-png или web)
- Расширение базы фактов
8. Критерии приёмки
- Агент
bytikотвечает на сообщения из группы - Игнорирует ЛС и чужие группы
- Отвечает простым языком для 8-летнего
- Ведёт свою память (MEMORY.md + дневники)
- Утренняя рассылка 7:30 MSK работает
- Поздравление с ДР Егора 17.04
- Цензура 0+ работает
- Слава может модерировать из группы
9. Примечания
- Егор: 17.04.2018 (скоро 8 лет!)
- Интересы: машины, самолёты, корабли (Титаник!), лего, животные, география, математика, IT, Minecraft
- LLM: Qwen 3.6-Plus (OpenRouter)
- Инфраструктура: OpenClaw на mva154
- Дедлайн MVP: 16.04.2026 (чтобы ДР поздравить!)
- Standalone-версия (Python) — НЕ нужна, всё через OpenClaw-агент