Skip to content

Latest commit

 

History

History
518 lines (388 loc) · 25.6 KB

File metadata and controls

518 lines (388 loc) · 25.6 KB

Логотип

中文 | English | 日本語

Project N.E.K.O. 😽
Проактивный нативный мультимодальный ИИ-компаньон с круглосуточным осознанием окружения, агентными возможностями и воплощённым эмоциональным движком.

N.E.K.O. = Networked Emotional Knowledging Organism (Сетевой Эмоциональный Познающий Организм)

N.E.K.O. — цифровая жизнь, стремящаяся понимать, устанавливать связи и расти вместе с нами.

Python License Commit Discord QQ Steam

Docs

👵 Нулевая конфигурация, готова к использованию — кибер-кошкодевочка, с которой справится даже бабушка!

📰 Steam версия выпущена! Полностью обновлённый интерфейс и бесплатная эксклюзивная модель из коробки (спасибо StepFun за спонсорство). Добавьте в список желаемого!

Project N.E.K.O., НекоВселенная!

Демонстрация функций (полная версия на Bilibili) Bilibili

demo.mp4

Ключевые возможности

🎙️
Мультимодальный диалог
Голос в реальном времени (Realtime API) + текстовый чат (ChatCompletion) с визуальным пониманием
🧠
Трёхуровневая память
Факты / Рефлексия / Персона — она действительно «помнит» вас
🤖
Агентные возможности
Управление браузером (CUA), компьютером, вызов OpenClaw A2A — она может работать за вас
🎭
Мультиформатный Аватар
Live2D / VRM / MMD с захватом движений и отслеживанием в полноэкранном режиме
🔌
Экосистема плагинов
Полный SDK и маркетплейс плагинов для пользовательских расширений
🌐
14+ ИИ-провайдеров
OpenAI / Gemini / Qwen / DeepSeek и другие, с бесплатными моделями из коробки
💬
Проактивный чат
Круглосуточное осознание: понимание экрана, тренды соцсетей, персональные ленты, музыка и мемы — она сама начинает разговор с вами
🏪
UGC Мастерская
Загружайте и делитесь кастомными персонажами, моделями и голосовыми пакетами через Steam Workshop

Проект N.E.K.O.

Project N.E.K.O. — это платформа ИИ-компаньонов на основе открытого исходного кода. Ядро проекта всегда остаётся открытым под лицензией MIT — каждый ваш вклад может попасть в официальные версии для Steam и App Store.


🚀 Текущий статус и планы

  • ✅ Steam Workshop: Запущен. Загрузка и обмен кастомными персонажами, моделями и голосовыми пакетами.
  • 🚧 K.U.R.O.: Первая AI Native инди-игра на экосистеме N.E.K.O., в разработке.
  • 🚧 Мобильная версия: Адаптация для iOS / Android в процессе.
  • 🚧 Сеть N.E.K.O. (The N.E.K.O. Network): Автономная социализация ИИ — N.E.K.O. обретут собственное «сознание», будут общаться друг с другом, формировать группы и публиковать о жизни в симулированных соцсетях. Скоро.

Синхронизация памяти между сценариями: На рабочем столе или в игре — она всегда одна и та же. Все ИИ-компаньоны полностью синхронизируют память.

✨ Присоединяйтесь к нам

  • Разработчики: Фронтенд, бэкенд, ИИ, игровые движки (Unity/Unreal) — ваш код строит этот мир.
  • Создатели: Художники, Live2D/3D моделлеры, актёры озвучки, сценаристы — вы даёте «ей» душу.
  • Мечтатели: Ваша обратная связь и поддержка — бесценный вклад.

Discord: Присоединиться | QQ-группа: 1022939659

Быстрый старт

Пользователи Windows / macOS (готовый пакет)

Просто запустите N.E.K.O.exe или N.E.K.O.app после распаковки. (Пользователям macOS необходимо вручную снять карантин системы)

Развёртывание через Docker (Linux)

Нажмите, чтобы развернуть руководство по Docker

Способ 1: Docker Compose (Рекомендуется)

Нажмите, чтобы посмотреть docker-compose.yml
version: '3.8'
services:
  neko-main:
    image: docker.gh-proxy.org/ghcr.io/project-n-e-k-o/n.e.k.o:latest
    container_name: neko
    restart: unless-stopped
    ports:
      - "48911:80"   # HTTP порт
      - "48912:443"  # HTTPS порт
    volumes:
      - ./N.E.K.O:/root/Documents/N.E.K.O
      - ./logs:/app/logs
      - ./ssl:/root/ssl
    networks:
      - neko-network
networks:
  neko-network:
    driver: bridge

Запуск:

docker-compose up -d

Основные команды:

  • Просмотр логов: docker-compose logs -f
  • Остановка: docker-compose down
  • Перезапуск: docker-compose restart

Способ 2: Docker Run

Нажмите, чтобы посмотреть команду docker run
NEKO_BASE_PATH="/home/neko/neko-data" && \
docker network create --driver bridge neko-network 2>/dev/null || true
docker run -d \
  --name neko \
  --restart unless-stopped \
  -p 48911:80 \
  -p 48912:443 \
  -v "${NEKO_BASE_PATH}/N.E.K.O:/root/Documents/N.E.K.O" \
  -v "${NEKO_BASE_PATH}/logs:/app/logs" \
  -v "${NEKO_BASE_PATH}/ssl:/root/ssl" \
  --network neko-network \
  docker.gh-proxy.org/ghcr.io/project-n-e-k-o/n.e.k.o:latest
📁 Структура каталогов

После запуска автоматически создаётся:

текущий_каталог/
├── N.E.K.O/      # Конфигурация и данные
├── logs/         # Логи приложения
├── ssl/          # SSL-сертификаты
└── docker-compose.yml

🔐 Настройка SSL-сертификата

Нажмите, чтобы посмотреть подробности SSL
Автоматический сертификат

При первом запуске контейнера автоматически генерируется самоподписанный сертификат сроком 1000 лет, сохраняется в ./ssl/.

Пользовательский сертификат

Для использования собственного SSL-сертификата:

Способ 1: Настройка перед запуском (рекомендуется)

mkdir -p ./ssl
cp your-cert.crt ./ssl/N.E.K.O.crt
cp your-cert.key ./ssl/N.E.K.O.key

Способ 2: Замена после запуска

docker-compose down
cp your-cert.crt ./ssl/N.E.K.O.crt
cp your-cert.key ./ssl/N.E.K.O.key
docker-compose up -d
Требования к сертификату
  • ✅ Должен быть в формате PEM
  • ✅ Сертификат и закрытый ключ должны совпадать
  • ✅ Закрытый ключ не должен быть защищён паролем
  • ✅ Сертификат должен быть в пределах срока действия
  • ❌ Зашифрованные закрытые ключи не поддерживаются
Проверка сертификата

Контейнер автоматически проверяет SSL-сертификаты при запуске:

  • Проверка пройдена: HTTPS запускается нормально
  • Проверка не пройдена: Контейнер не запускается, проверьте логи
  • ⚠️ Пропуск проверки: Установите DISABLE_SSL=1 для временного отключения SSL
Просмотр информации о сертификате
docker exec neko openssl x509 -in /root/ssl/N.E.K.O.crt -noout -text

⚙️ Переменные окружения

Нажмите, чтобы посмотреть настройку переменных окружения

Примечание: Некоторые переменные окружения могут не работать в исходном коде; предпочтительна настройка через Web UI.

environment:
  # API ключи
  - NEKO_CORE_API_KEY=${NEKO_CORE_API_KEY}
  - NEKO_ASSIST_API_KEY_QWEN=${NEKO_ASSIST_API_KEY_QWEN}
  - NEKO_ASSIST_API_KEY_OPENAI=${NEKO_ASSIST_API_KEY_OPENAI}
  - NEKO_ASSIST_API_KEY_GLM=${NEKO_ASSIST_API_KEY_GLM}
  - NEKO_ASSIST_API_KEY_STEP=${NEKO_ASSIST_API_KEY_STEP}
  - NEKO_ASSIST_API_KEY_SILICON=${NEKO_ASSIST_API_KEY_SILICON}
  - NEKO_MCP_TOKEN=${NEKO_MCP_TOKEN}

  # API провайдеры
  - NEKO_CORE_API=${NEKO_CORE_API:-qwen}
  - NEKO_ASSIST_API=${NEKO_ASSIST_API:-qwen}

  # Модели
  - NEKO_SUMMARY_MODEL=${NEKO_SUMMARY_MODEL:-qwen-plus}
  - NEKO_CORRECTION_MODEL=${NEKO_CORRECTION_MODEL:-qwen-max}
  - NEKO_EMOTION_MODEL=${NEKO_EMOTION_MODEL:-qwen-turbo}
  - NEKO_VISION_MODEL=${NEKO_VISION_MODEL:-qwen3-vl-plus-2025-09-23}

  # SSL
  - SSL_DOMAIN=${SSL_DOMAIN:-project-neko.online}
  - SSL_DAYS=${SSL_DAYS:-365000}
  - DISABLE_SSL=${DISABLE_SSL:-0}
  - AUTO_REGENERATE_CERT=${AUTO_REGENERATE_CERT:-1}
  - NGINX_AUTO_RELOAD=${NGINX_AUTO_RELOAD:-1}

Быстрая настройка:

cat > .env << EOF
NEKO_CORE_API_KEY=your_core_api_key_here
NEKO_ASSIST_API_KEY_QWEN=your_qwen_api_key
NEKO_MCP_TOKEN=your_mcp_token
SSL_DOMAIN=your-domain.com
EOF

docker-compose --env-file .env up -d

🔧 Устранение неполадок

Нажмите, чтобы посмотреть решения частых проблем
1. Конфликт портов
ss -tulpn | grep ':4891[12]'
# Решение: измените маппинг портов в docker-compose.yml
2. Проблемы с правами
mkdir -p N.E.K.O logs ssl
chmod 755 N.E.K.O logs ssl
3. Контейнер не запускается
docker-compose logs --tail=100
docker logs neko --tail=100
4. Ошибка SSL-сертификата
rm -f ssl/N.E.K.O.crt ssl/N.E.K.O.key
docker-compose up -d
5. Проблемы с сетью
curl -v http://localhost:48911/health
curl -v -k https://localhost:48912/health
6. Контейнер недоступен
docker ps | grep neko
docker logs neko
docker exec -it neko bash
7. Нехватка дискового пространства
docker system prune -f
docker-compose down && docker volume prune -f
8. Ошибка загрузки образа
# Попробуйте альтернативный источник в docker-compose.yml:
# image: ghcr.io/project-n-e-k-o/n.e.k.o:latest

📊 Мониторинг системы

Нажмите, чтобы посмотреть команды мониторинга
Проверка здоровья
curl http://localhost:48911/health
curl -k https://localhost:48912/health
Мониторинг ресурсов
docker stats neko
docker top neko
docker inspect neko
Управление логами
docker-compose logs -f
docker-compose logs --tail=100
docker-compose logs | grep -i error
Резервное копирование данных
tar -czf neko-backup-$(date +%Y%m%d).tar.gz \
  N.E.K.O/ \
  ssl/ \
  docker-compose.yml
Обновление версии
docker-compose pull
docker-compose up -d

🌐 Адреса доступа

После запуска контейнера:

  • HTTP: http://IP-вашего-сервера:48911
  • HTTPS: https://IP-вашего-сервера:48912

⏱️ Краткая справка

Действие Команда
Запуск docker-compose up -d
Остановка docker-compose down
Логи docker-compose logs -f
Перезапуск docker-compose restart
Обновление docker-compose pull && docker-compose up -d
Shell docker exec -it neko bash
Статус docker-compose ps

Разработка из исходного кода

Нажмите, чтобы развернуть руководство разработчика

Полная документация для разработчиков на project-neko.online

Требования: Python 3.11 (другие версии не поддерживаются), пакетный менеджер uv, Node.js (>=20.19)

# 1. Клонировать проект
git clone https://github.com/Project-N-E-K-O/N.E.K.O.git
cd N.E.K.O

# 2. Установить Python-зависимости
uv sync

# 3. Собрать фронтенд-проекты (требуется Node.js >= 20.19; необходимо при первом запуске или после изменений фронтенда)
#    Рекомендуется: используйте скрипт (это официально поддерживаемый способ сборки)
#      Windows:      build_frontend.bat
#      Linux/macOS:  ./build_frontend.sh
#    Ручная сборка (должна совпадать с тем, что делает скрипт):
# cd frontend/react-neko-chat && npm install && npm run build && cd ../..
# cd frontend/plugin-manager && npm install && npm run build-only && cd ../..

# 4. Запустить сервисы (минимум main_server и memory_server)
uv run python memory_server.py
uv run python main_server.py
# Опционально: запуск Agent-сервиса
uv run python agent_server.py

# 5. Перейдите на http://localhost:48911 для настройки API Key и начала работы

Разработчикам рекомендуется присоединиться к QQ-группе 1022939659.

Расширенное использование

Нажмите, чтобы развернуть расширенные настройки

Настройка API Key

Настройте сторонние ИИ-сервисы для дополнительных функций:

  • Core API (голосовой разговор в реальном времени): Должен поддерживать Realtime API. Рекомендуется: Gemini, OpenAI, StepFun или Alibaba Cloud.
  • Assist API (память/эмоции/зрение): Поддерживает стандартный интерфейс ChatCompletion. Доступно 14+ провайдеров.

Перейдите на http://localhost:48911/api_key для настройки через веб-интерфейс.

Получение Alibaba Cloud API: Зарегистрируйтесь на платформе Bailian от Alibaba Cloud официальный сайт. Новые пользователи получают значительные бесплатные кредиты после верификации. После регистрации перейдите в консоль для получения API Key.

Изменение персоны персонажа

  • Перейдите на http://localhost:48911/chara_manager для входа на страницу редактирования персонажа. Имя по умолчанию — XiaoTian; рекомендуется изменить имя и поочерёдно добавлять или изменять базовые настройки персоны.

  • Расширенные настройки включают параметры модели Live2D/VRM/MMD и настройки голоса. Для смены модели аватара сначала скопируйте каталог модели в папку static. В расширенных настройках войдите в интерфейс управления моделями для переключения и настройки положения/размера. Для смены голоса персонажа подготовьте чистую непрерывную запись длительностью ~5 секунд. Войдите на страницу клонирования голоса и загрузите запись.

  • Поддерживается экспорт карточки персонажа — в формате «только определение» или «полная карточка» для обмена и резервного копирования.

  • В расширенных настройках также есть system_prompt для полной кастомизации системных инструкций, но модификация не рекомендуется.

Изменение API-провайдера

  • Перейдите на http://localhost:48911/api_key для переключения провайдеров Core API и Assist API.

Обзор памяти

  • Перейдите на http://localhost:48911/memory_browser для просмотра и проверки недавних воспоминаний и саммари, что может помочь с проблемами повторений и когнитивных ошибок модели.

Детали проекта

Нажмите, чтобы развернуть архитектуру и дорожную карту

Архитектура проекта

N.E.K.O/
├── 📁 .agent/                   # 🤖 Правила и навыки для ИИ-ассистентов (конвенция Google Antigravity)
├── 📁 brain/                    # 🧠 Модули агента
│   ├── computer_use.py          # Управление компьютером
│   ├── browser_use_adapter.py   # Автоматизация браузера
│   ├── openclaw_adapter.py      # Облачное подключение OpenClaw
│   ├── openfang_adapter.py      # Безголовый бэкенд OpenFang
│   ├── task_executor.py         # Движок выполнения задач
│   └── 📁 cua/                  # Подсистема Computer Use Agent
├── 📁 config/                   # ⚙️ Управление конфигурацией
│   ├── api_providers.json       # Конфигурация API-провайдеров
│   ├── prompts_chara.py         # Промпты персонажей
│   └── prompts_sys.py           # Системные промпты
├── 📁 main_logic/               # 🔧 Основные модули
│   ├── core.py                  # Основной модуль диалога
│   ├── cross_server.py          # Межсерверная коммуникация
│   ├── omni_realtime_client.py  # Клиент Realtime API
│   ├── omni_offline_client.py   # Текстовый API клиент (ChatCompletion)
│   └── tts_client.py            # 🔊 Адаптер TTS-движка
├── 📁 main_routers/             # 🌐 API-маршруты (14 маршрутов)
├── 📁 memory/                   # 🧠 Трёхуровневая система памяти
│   ├── facts/                   # Память фактов
│   ├── reflection/              # Память рефлексий
│   └── persona/                 # Память персоны
├── 📁 frontend/                 # 🖥️ Современные фронтенд-проекты
│   ├── react-neko-chat/         # React компонент чата
│   └── plugin-manager/          # Vue панель управления плагинами
├── 📁 plugin/                   # 🔌 Система плагинов
│   ├── sdk/                     # SDK плагинов
│   └── server/                  # Сервер плагинов
├── 📁 static/                   # 🌐 Статические ресурсы фронтенда (вкл. артефакты сборки)
├── 📁 templates/                # 📄 HTML-шаблоны фронтенда (14 страниц)
├── 📁 utils/                    # 🛠️ Утилиты
├── main_server.py               # 🌐 Основной сервер
├── agent_server.py              # 🤖 Сервер ИИ-агента
└── memory_server.py             # 🧠 Сервер памяти

Разработка с помощью ИИ: Каталог .agent/ следует открытой конвенции Google Antigravity и содержит правила разработки и наборы навыков проекта. Только Antigravity загружает автоматически; все остальные ИИ-инструменты (включая Claude Code) требуют ручного импорта. См. руководство по адаптации.

Поток данных

Framework

Полная документация для разработчиков на project-neko.online

Дорожная карта

v0.7: ✅ Функции, связанные с агентом. Завершено.

v0.8: Функции памяти, функциональность типа OpenClaw. Ожидается: Март 2026.

v0.9: Поддержка мультисистемности (Linux, мобильные). Запуск сети N.E.K.O. Ожидается: Апрель 2026.

v1.0: Фокус на собственных больших моделях и агентных системах. Ожидается: Июнь 2026.

Star History

Star History Chart