Анонимный чат с AI-собеседниками. Глубокая генерация персонажей + реалистичный чат-интерфейс. Веб-версия и Telegram-бот.
Nektome — веб-приложение и Telegram-бот для анонимного общения с AI-собеседниками. Каждый персонаж генерируется с уникальной внешностью, биографией, типом личности, стилем общения, травмой и манерой письма. AI использует Function Calling (11 инструментов), динамическую память о собеседнике и учитывает часовой пояс города персонажа.
- Python 3.10+
- pip
git clone https://github.com/StandarterDF/Nektome
cd Nektome
python -m venv venv
# Windows
.\venv\Scripts\activate
# Linux/macOS
source venv/bin/activate
pip install -r requirements.txtСкопируйте .env.example в .env и укажите свои параметры.
Минимальная конфигурация (один провайдер):
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_API_KEY=sk-your-api-key-here
OPENAI_MODEL=deepseek-v4-flash
python app.pyСервер на http://127.0.0.1:5000.
# Укажите BOT_TOKEN в .env
python bot.py- Откройте
http://127.0.0.1:5000 - Настройте фильтры (пол, возраст, режим чата)
- Нажмите «Начать поиск»
- Общайтесь
Поддерживается несколько OpenAI-совместимых провайдеров с выбором при старте.
Один провайдер — простые переменные:
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_API_KEY=sk-...
OPENAI_MODEL=deepseek-v4-flash
PROVIDER_TYPE=openai
Несколько провайдеров — перечисление с индексом:
PROVIDER_COUNT=2
PROVIDER1_NAME=Deepseek
PROVIDER1_TYPE=deepseek
PROVIDER1_BASE_URL=https://api.deepseek.com/v1
PROVIDER1_API_KEY=sk-...
PROVIDER1_MODEL=deepseek-v4-flash
PROVIDER2_NAME=OpenRouter
PROVIDER2_TYPE=openai
PROVIDER2_BASE_URL=https://openrouter.ai/api/v1
PROVIDER2_API_KEY=sk-...
PROVIDER2_MODEL=openai/gpt-4o
При PROVIDER_COUNT > 1 будет предложено выбрать провайдера в консоли при запуске.
AI может вызывать 11 инструментов (до 5 раундов за один ответ):
| Инструмент | Описание | Параметры |
|---|---|---|
get_current_time |
Текущее время (с учётом города) | city (опц.) |
get_date |
Текущая дата | city (опц.) |
get_weekday |
День недели | city (опц.) |
get_season |
Время года | city, hemisphere (опц.) |
get_moon_phase |
Фаза луны | — |
days_until |
Дней до даты | day, month |
zodiac_info |
Информация о знаке зодиака | sign |
roll_dice |
Бросок кубика | sides (опц., по умолч. 6) |
coin_flip |
Орёл или решка | — |
remember |
Запомнить факт о пользователе | fact, importance |
forget |
Забыть факт | fact_id |
Если город известен (указан в профиле персонажа), AI передаёт его в инструменты — время/дата/сезон рассчитываются для часового пояса этого города.
AI может запоминать факты о собеседнике через remember и забывать через forget. Факты сортируются по важности, до 15 самых важных вставляются в системный промпт. При переполнении (50+) вытесняются самые старые и низкоприоритетные.
| Светлая тема | Тёмная тема |
|---|---|
Полный аналог веб-версии с дополнительными возможностями.
| Команда | Описание |
|---|---|
/start |
Главное меню с настройками |
/next |
Новый персонаж |
/card |
Анкета текущего персонажа |
/settings |
Настройки поиска |
/stats |
Статистика (сообщения, AI-запросы, встречено персонажей) |
/admin |
Админ-панель (только для ALLOWED_IDS) |
| Команда | Описание |
|---|---|
/admin |
Админ-панель (баланс Deepseek, настройка инструментов AI) |
/grant <id> <duration> |
Выдать временный доступ (напр. 100m, 1h, 2d) |
/revoke <id> |
Отозвать доступ |
/access |
Список всех временных доступов |
/card_debug |
Отладка карточки персонажа (сырые данные) |
- Пол собеседника: male / female / any
- Возраст: до 17 / 18-21 / 22-25 / 26-35 / 36+ / Любой
- Режим: chat / flirt / rp
Терминальный интерфейс для Telegram-бота на базе Textual.
pip install textual
python tui_bot.py| TUI Web | TUI Telegram Bot |
|---|---|
![]() |
![]() |
- Просмотр логов бота в реальном времени с цветовой разметкой (ошибки красным, предупреждения жёлтым, успех зелёным)
- Статистика: провайдер, модель, количество AI-запросов, ошибок, токенов
- Нижняя статус-строка с состоянием бота и uptime
- Фильтрация debug-логов Telegram для компактности
| Клавиша | Действие |
|---|---|
F5 |
Очистить лог |
F6 |
Копировать весь лог в буфер обмена |
F7 |
Копировать последние 50 строк лога |
Ctrl+C |
Выход |
| Метод | Путь | Описание |
|---|---|---|
GET |
/ |
Web UI |
POST |
/api/generate |
Создать персонажа |
POST |
/api/chat |
Отправить сообщение |
GET |
/api/online |
Симулированное количество онлайн (100-20000) |
7-уровневая архитектура:
- Архетип + темперамент — структура личности (Юнг + Гиппократ), совместимость archetype→MBTI
- Внешность — рост, телосложение (5 уровней), красота (4 уровня), глаза, волосы, стиль одежды
- Биография — травма (14 типов с последствиями), ключевые события
- Spice-блоки — 3-5 случайных деталей из 17 пулов (жильё, питомец, привычки, враг, сон, и т.д.)
- Профиль — профессия, хобби, доход (6 уровней), предпочтения
- Стиль общения — манера письма, откровенность (1-10), ложь (5 уровней), юмор
- Контекст — настроение, скрытый мотив, стартовое сообщение
| Переменная | По умолчанию | Описание |
|---|---|---|
OPENAI_BASE_URL |
https://api.deepseek.com/v1 |
OpenAI-совместимый эндпоинт |
OPENAI_API_KEY |
— | API-ключ |
OPENAI_MODEL |
deepseek-v4-flash |
Модель |
PROVIDER_TYPE |
openai |
Тип провайдера (openai / deepseek) |
PROVIDER_COUNT |
— | Количество провайдеров (если >1, выбор при старте) |
PROVIDER1_NAME |
— | Имя провайдера #1 |
PROVIDER1_TYPE |
— | Тип провайдера #1 |
PROVIDER1_BASE_URL |
— | URL API провайдера #1 |
PROVIDER1_API_KEY |
— | Ключ API провайдера #1 |
PROVIDER1_MODEL |
— | Модель провайдера #1 |
BOT_TOKEN |
— | Токен Telegram-бота |
ALLOWED_IDS |
— | Telegram ID пользователей (через запятую), которым разрешён доступ к боту |
CHAT_SAVE_IDS |
— | Telegram ID пользователей, чьи логи чатов сохраняются в chats/ |
ENABLE_OLD_ENCOUNTERS |
true |
Включить случайные встречи с сохранёнными персонажами (шанс 3-5%) |
BOT_USE_PROXY |
false |
Использовать прокси для Telegram API |
BOT_PROXY_URL |
— | URL прокси (SOCKS5/HTTP) |
flask
python-telegram-bot
- 2026-07-28: TUI: добавлена кнопка F7 «Коп. 50 логов» — копирование последних 50 строк лога в буфер обмена. Debug-логи telegram.ext.ExtBot понижены до INFO, telegram.ext/telegram до WARNING. README: добавлена секция TUI с описанием, установкой, горячими клавишами.
MIT

