# MyStar: Автономный ИИ-компаньон (Self-Hosted) MyStar — это продвинутый, полностью локальный ИИ-бот-компаньон для Telegram, созданный на базе **Python**, **Ollama**, **SD.Next** и **Whisper**. В отличие от простых чат-ботов, MyStar обладает "живой" личностью с долговременной памятью, симуляцией биологических циклов, мультимодальным восприятием (зрение/слух) и автономным поведением. --- ### 🚀 Ключевые возможности #### 🧠 1. Динамическая личность и мышление * **Модульный промптинг:** `SYSTEM_PROMPT` собирается динамически "на лету". В зависимости от контекста, в базовый промпт внедряются различные модули личности. * **Долговременная память (LTM):** Бот использует систему "Дневника" (SQLite). Он не просто скармливает всю историю чата в LLM. Вместо этого он внедряет: `[Базовая Персона] + [Саммари LTM] + [Недавний контекст]`. * **Фоновое "мышление":** Когда вы неактивны, фоновый процесс (`run_memory_summarization`) анализирует недавние диалоги, извлекает ключевые факты о вас (хобби, проблемы, планы) и сохраняет их в базу данных LTM. #### 💖 2. Отношения и биологические состояния * **Развитие отношений:** Бот поддерживает три стадии: Незнакомец, Друг и Возлюбленная. * **Авто-прогрессия:** Бот автоматически распознает романтические намерения и повышает статус отношений. * **Симуляция 28-дневного цикла:** Бот отслеживает симулированный цикл, который влияет на её настроение и директивы промпта: * **Период (Дни 1-7):** Она может быть капризной, требовать утешения и будет отказываться от NSFW-взаимодействий. * **Овуляция (Дни 12-16):** Она становится более кокетливой, уверенной в себе и ласковой. #### 👁️ 3. Мультимодальное восприятие ("Сенсоры") * **Зрение (Распознавание изображений):** Вы можете отправлять боту фотографии. Она "видит" их и комментирует естественным образом. * **Слух (Голосовые сообщения):** Интегрированный **OpenAI Whisper** позволяет боту слушать ваши голосовые заметки и отвечать на них текстом. * **Понимание контекста:** Она определяет ваш рабочий график и уважает ваше время (избегая отвлекающих факторов в рабочие часы). #### 💬 4. Продвинутое взаимодействие и визуал * **Спонтанные сообщения от ИИ:** Никаких жестко прописанных шаблонов. Если вы давно не писали, она сгенерирует уникальное, контекстно-зависимое сообщение, чтобы узнать, как у вас дела. * **Высококачественная генерация изображений:** * Работает на базе **SD.Next** и модели **✨ JANKU Trained + NoobAI + RouWei Illustrious XL ✨** для топовой аниме-эстетики. * **SFW по умолчанию:** Генерирует милые/уютные селфи на основе контекста разговора. * **Контекстный NSFW:** Генерация откровенного контента **строго ограничена** (требует статуса 'Lover', конкретного запроса пользователя и подходящего времени/состояния). --- ### 🛠️ Технический стек * **Python 3.10+** * **Ollama:** Локальный бэкенд для LLM. * **SD.Next:** Продвинутый WebUI для Stable Diffusion. * **FFmpeg:** Обработка аудио для Whisper. --- ### 📦 Инструкция по установке #### Шаг 1: Установка и настройка Ollama 1. **Скачайте Ollama:** * **Стандартная версия:** Скачайте с [официального сайта](https://ollama.com/download). * **Для неподдерживаемых видеокарт AMD:** Если у вас старая или неподдерживаемая карта Radeon, используйте этот форк: [Ollama for AMD](https://github.com/likelovewant/ollama-for-amd). 2. **Загрузите модель:** Откройте терминал и загрузите модель, используемую в конфиге (по умолчанию `gemma3:12b`): ```bash ollama pull gemma3:12b ``` #### Шаг 2: Установка и настройка SD.Next 1. **Установите SD.Next:** Клонируйте и установите репозиторий от [vladmandic/sdnext](https://github.com/vladmandic/sdnext). 2. **Скачайте чекпоинт (модель):** Скачайте модель **[✨ JANKU Trained + NoobAI + RouWei Illustrious XL ✨](https://civitai.com/models/1277670?modelVersionId=2358314)**. 3. **Настройка:** * Поместите скачанную модель в папку `models/Stable-diffusion` внутри вашей директории SD.Next. * Запустите SD.Next с включенным флагом API: ```bash ./webui.sh --api --debug # Или на Windows: webui.bat --api --debug ``` #### Шаг 3: Установка бота 1. **Клонируйте этот репозиторий:** ```bash git clone [https://git.maxo.one/Maxo/MyStar.git](https://git.maxo.one/Maxo/MyStar.git) cd MyStar ``` 2. **Установите зависимости Python:** ```bash pip install python-telegram-bot python-telegram-bot[job-queue] openai-whisper requests ``` *(Примечание: Для работы Whisper в вашей системе также должен быть установлен `ffmpeg` и добавлен в системный путь).* 3. **Настройка окружения:** Установите токен вашего Telegram-бота как переменную окружения (или отредактируйте строку `TELEGRAM_BOT_TOKEN` прямо в скрипте, хотя это не рекомендуется с точки зрения безопасности). ```bash export TELEGRAM_BOT_TOKEN="ваш_токен_телеграм_бота" ``` 4. **Запуск бота:** ```bash python MyStarRU.py ``` ### 📄 Лицензия MIT License. См. файл `LICENSE` для подробностей.