workspace: initial clean commit
This commit is contained in:
148
BACKLOG_GENERAL.md
Normal file
148
BACKLOG_GENERAL.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Бэклог общего развития
|
||||
|
||||
Задачи по развитию инфраструктуры, инструментов и возможностей системы.
|
||||
Не привязаны к конкретным проектам.
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Агенты
|
||||
|
||||
### [ ] 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` + `sticker` actions
|
||||
- Sticker actions включены в конфиге (`channels.telegram.actions.sticker: true`)
|
||||
**Статус:** в бэклоге
|
||||
|
||||
### [ ] Учёт токенов и стоимости задач Dev-агента
|
||||
**Задача:** при каждой задаче Dev-агента фиксировать токены и стоимость
|
||||
**Что отслеживать:**
|
||||
- Токены: input + output
|
||||
- Стоимость: по тарифу модели (Sonnet 4.6: $3/$15 за 1M токенов)
|
||||
- Длительность: runtime в секундах
|
||||
**Откуда данные:** stats из `sessions_spawn` completion 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*
|
||||
Reference in New Issue
Block a user