8.6 KiB
Бэклог общего развития
Задачи по развитию инфраструктуры, инструментов и возможностей системы. Не привязаны к конкретным проектам.
🤖 Агенты
[ ] Dev-агент (Claude Code)
- Настроить Claude Code как постоянного агента
devвopenclaw.json - Создать workspace агента с
SOUL.md,CLAUDE.md,MEMORY.md - Описать стек, правила работы, структуру проектов
- Протестировать связку: я (координатор) → Claude Code → результат
- Выбрать первую реальную задачу для теста
[ ] Агент-аналитик данных
- Создать скилл
data-analystдля анализа структурированных данных - Поддержка: pandas, статистика, графики, выводы в Markdown
- Интеграция с данными из
workspace/data/ - Автоматические отчёты по запросу
- Потенциально: Jupyter + LLM или Claude Code в режиме аналитика
🔧 Инфраструктура
[ ] Умная колонка / голосовой ассистент
Вариант А: Своя колонка (ReSpeaker / OpenVoiceOS)
- Протестировать Tasker + AutoVoice (самый быстрый путь)
- Оценить ReSpeaker Lite (есть на Ozon, 3 варианта)
- Изучить OpenVoiceOS + интеграция через Ollama-compatible API
- Выбрать стратегию TTS: ElevenLabs / Yandex SpeechKit / OVOS встроенный
Вариант Б: Яндекс Алиса + ElevenLabs (webhook-навык)
- Создать webhook-навык для Алисы (HTTPS, Flask/Node.js)
- Голос ElevenLabs через загрузку MP3 в Диалоги API (до 120 сек, до 5 МБ)
- Схема: голосовой запрос → webhook → ElevenLabs API → загрузка в Диалоги → ответ с кастомным голосом
- Ограничение: webhook ≤5 сек, нужен pre-generation или кэш ID загруженных файлов
- Альтернатива: статический набор фраз с предзагруженным голосом ElevenLabs
- Голоса Алисы (бесплатно): Марина, Дмитрий, Ермил, Оксана, Захар
- Документация: https://yandex.ru/dev/dialogs/alice/doc/ru/resource-sounds-upload.html
- Потенциально: голосовой интерфейс для OpenClaw через Алису
Общее: потенциальный голосовой интерфейс для OpenClaw Статус: Слава думает, какой вариант выбрать
[ ] Семантический поиск и RAG по данным Telegram
Задача: реализовать семантический поиск + суммаризацию по 155K сообщений сноубайков Стартовый вариант (простой):
- ChromaDB (Python, 10 строк кода)
- Embeddings через OpenAI или бесплатную модель (sentence-transformers)
- Sonnet для суммаризации
Продвинутый вариант:
- Qdrant (Docker)
- Embeddings через OpenRouter
- Sonnet/Haiku для ответов
- UI на Flask
Гибридный (максимальная мощь):
- Meilisearch (ключевые слова, быстро) + ChromaDB (семантика) + Sonnet (суммаризация)
- Схема: вопрос → Meilisearch (точные совпадения) → ChromaDB (смысловые) → объединить контекст → LLM ответит
Технологии на выбор:
- Meilisearch — полнотекстовый, typo-tolerance, без семантики
- Elasticsearch — полнотекстовый + векторный поиск (dense vectors)
- ChromaDB — векторная БД, проще всего для старта
- Qdrant — векторная БД, Docker, быстрый
- FAISS (Meta) — максимальная скорость, библиотека
Применение: ответы на вопросы типа «какие масла рекомендуют для Polaris 850?» — не найти сообщение, а получить агрегированный ответ на основе всех данных Статус: в бэклоге, вернёмся позже
[ ] Видеокружочки в Telegram (ElevenLabs Lip Sync)
Задача: отправлять кружочки с голосом + анимированная аватарка
Аватарка: data/avatars/stream-avatar.jpg (уже сохранена)
Схема:
- Аватарка → ElevenLabs Image to Video (4 сек, 1:1, MP4)
- Голос → ElevenLabs TTS
- Lip Sync → синхронизация губ с голосом
- MP4 → отправить как кружочек в Telegram (
asVideoNote: true) Требования: платный тариф ElevenLabs (Video generation) Модели: OpenAI Sora 2 Pro, Google Veo 3.1, Kling 2.5 Статус: в бэклоге, проверить тариф ElevenLabs Задача: отправлять кружочки с голосом + анимированный аватар Что нужно: - Сгенерировать видео (ffmpeg: круглая маска + аватар + анимация)
- Наложить аудио (голос ElevenLabs)
- Отправить через
asVideoNote: trueСтатус: в бэклоге
[ ] Отправка стикеров в Telegram
Задача: реализовать отправку стикеров в ответ на входящие стикеры Проблема: sticker cache пуст, fileId не сохраняется при получении стикеров Что нужно:
- Разобраться почему
~/.openclaw/telegram/sticker-cache.jsonне заполняется - Настроить vision-обработку стикеров (для кэширования fileId)
- Реализовать отправку стикеров через
sticker-search+stickeractions - Sticker actions включены в конфиге (
channels.telegram.actions.sticker: true) Статус: в бэклоге
[ ] Учёт токенов и стоимости задач Dev-агента
Задача: при каждой задаче Dev-агента фиксировать токены и стоимость Что отслеживать:
- Токены: input + output
- Стоимость: по тарифу модели (Sonnet 4.6: $3/$15 за 1M токенов)
- Длительность: runtime в секундах
Откуда данные: stats из
sessions_spawncompletion event Формула:(input_tokens × 3 + output_tokens × 15) / 1_000_000Формат в отчёте:Токены: XXX in / XXX out | Стоимость: $X.XX | Время: XмРеализация: Стрим фиксирует stats при каждом завершении задачи Dev-агента Статус: в бэклоге
[ ] Residential proxy для парсинга
- Нужен для Ozon, Яндекс.Маркет, Перекрёсток
- Варианты: Bright Data, Smartproxy, ProxyLine (~500 руб/мес)
- Или туннель через домашний IP для бесплатного теста
[ ] Покупки / корзина в магазинах
- Ozon: Statistics API (цены) + Playwright (корзина)
- Перекрёсток: Playwright (проще всего технически)
- Яндекс.Маркет: Playwright (сложнее, единый Яндекс ID)
- Требует: residential proxy + авторизация
📚 Скиллы
[x] youtube-search — ГОТОВ
- YouTube Data API v3
- Поиск видео, метаданные
- API ключ:
YOUTUBE_API_KEYв.env
[x] yandex-search — ГОТОВ
- Yandex Search API v2 (async)
- Русскоязычный поиск, цены в магазинах
- API ключ:
YANDEX_API_KEYв.env(тот же, что для SpeechKit)
[x] voice-tts — ГОТОВ
- ElevenLabs + Yandex SpeechKit fallback
[x] telegram-collector — ГОТОВ
- Сбор данных из Telegram-каналов
Обновлён: 24 марта 2026