Skip to content

Mayato3km/Test-AI-without-keys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

==========ТЕПЕРЬ ФАЙЛ В ОТКРЫТОМ РЕПОЗИТОРИЙ 09.01.2026==========

Discord AI Bot - Полная документация

🤖 Обзор проекта

Discord AI Bot - полностью автономный искусственный интеллект для Discord, работающий без внешних API ключей. Бот использует локальную систему правил, память и контекст для (не)интеллектуального общения с пользователями.

✨ Особенности 🚀 Ключевые возможности ✅ Полностью локальный - не требует API ключей

✅ Слэш-команды - современный интерфейс Discord

✅ Активные чаты - бот отвечает на все сообщения в канале

✅ Интеллектуальные ответы - контекст, память, персонализация

✅ Автономная работа - сохранение данных между перезапусками

✅ Быстрая установка - готов к работе за 5 минут

🧠 Искусственный интеллект

Естественное общение - ответы на вопросы, поддержка диалога

Математические вычисления - решение выражений (2+2, 5*3, etc)

Запоминание информации - имена, факты, предпочтения пользователей

Контекст диалога - помнит последние 10 сообщений

Персонализация - обращается по имени, помнит предпочтения

Шутки и развлечения - встроенная база анекдотов

📦 Установка и запуск

1. Предварительные требования

Node.js 16.9.0 или выше

Discord аккаунт с правами разработчика

Git (опционально)

2. Клонирование репозитория

bash git clone https://github.com/Mayato3km/Test-AI-without-keys cd Test-AI-without-keys

3. Установка зависимостей

bash npm install

4. Настройка бота

Перейдите на Discord Developer Portal

Создайте новое приложение

Перейдите в раздел "Bot" и создайте бота

Скопируйте токен бота

Включите необходимые привилегии:

MESSAGE CONTENT INTENT

SERVER MEMBERS INTENT (опционально)

5. Создание файла конфигурации

Создайте файл .env в корневой папке:

env DISCORD_TOKEN=ваш_токен_бота_здесь

6. Запуск бота

Start.bat просто запустите ее (если вы на винде)

Режим разработки (с автоперезагрузкой)

npm run dev

Продакшен режим

npm start

7. Приглашение бота на сервер

В Discord Developer Portal перейдите в OAuth2 → URL Generator

Выберите scopes: bot, applications.commands

Выберите permissions:

Send Messages

Read Messages/View Channels

Send Messages in Threads

Embed Links

Read Message History

Используйте сгенерированную ссылку для приглашения

🎮 Использование бота

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

Активируйте AI в канале:

/chat start Теперь бот будет отвечать на все сообщения в этом канале!

Начните общение:

Привет! Меня зовут Алексей Сколько будет 25*4? Запомни, что я люблю программировать Что ты знаешь обо мне? 💬 Способы взаимодействия

  1. Активные чаты (Рекомендуется) text /chat start # Активировать AI в текущем канале /chat stop # Отключить AI в канале /chat status # Показать статус Режимы работы:

🤖 Умный - отвечает на все сообщения

👂 Упоминания - только при @упоминании

🔇 Тихий - редко отвечает (для фонового режима)

  1. Слэш-команды Команда Описание Пример /ask [вопрос] Задать вопрос AI /ask Как дела? /remember [инфо] Запомнить информацию /remember я люблю кофе /calculate [пример] Решить математику /calculate 15*3+2 /joke Рассказать шутку /joke /ai help Помощь по командам /ai help /ai stats Статистика бота /ai stats /ai ping Проверить задержку /ai ping /ai info Информация о боте /ai info
  2. Упоминания Просто упомяните бота в любом чате:

@бот Привет!

@бот Сколько будет 100/4?

  1. Личные сообщения Напишите боту в личные сообщения (DM) - он ответит на любое ваше сообщение.

🔧 Административные команды

Команда Описание Права /admin memory clear_all Очистить всю память AI Администратор /admin memory clear_user [id] Очистить память пользователя Администратор /admin memory stats Статистика памяти Администратор /admin setmode [режим] Установить режим работы Администратор 🏗️ Архитектура проекта

├── 📄 .env                    # Конфигурация (токен бота)
├── 📄 package.json            # Зависимости и скрипты
├── 📄 index.js                # Основной файл бота (Discord интерфейс)
├── 📁 ai/                     # Логика искусственного интеллекта
│   ├── 📄 processor.js        # Основной AI процессор
│   └── 📄 memory.js           # Система памяти пользователей
├── 📁 data/                   # Хранение данных
│   ├── 📄 memory.json         # База знаний о пользователях
│   └── 📄 active_chats.json   # Активные чаты
└── 📄 README.md               # Эта документация

🧩 Компоненты системы

1. Discord Interface (index.js)

Обработка слэш-команд и сообщений

Управление активными чатами

Взаимодействие с Discord API

2. AI Processor (processor.js)

Анализ естественного языка

Поиск ответов по правилам

Обработка математических выражений

Управление контекстом диалога

3. Memory System (memory.js)

Хранение информации о пользователях

Автосохранение в JSON файлы

Поиск и извлечение данных

4. Data Storage (data/)

memory.json - факты о пользователях

active_chats.json - активные каналы

Автоматическое резервное копирование

🔄 Поток данных

Пользователь → Discord → index.js → processor.js → memory.js
           ↑                                      ↓
Ответ ← Discord ← index.js ← processor.js ←───────┘
⚙️ Технические детали
🛠️ Технологии
Discord.js v14 - взаимодействие с Discord API

Node.js - серверная платформа

JSON файлы - хранение данных

ES6 Modules - современный JavaScript

💾 Хранение данных

Локальные JSON файлы - без внешних баз данных

Автоматическое сохранение - при каждом изменении

Человекочитаемый формат - легко редактировать

🔒 Безопасность

Нет API ключей - полностью автономная работа

Локальное хранение - данные остаются на вашем сервере

Минимальные права - только необходимые разрешения Discord

🚀 Расширение функциональности

📚 Добавление новых правил

Отредактируйте ai/processor.js - добавьте новые правила в объект rules:

javascript
this.rules = {
    // Существующие правила...
    newCategory: {
        patterns: ['ключевые слова'],
        responses: ['Вариант ответа 1', 'Вариант ответа 2'],
        weight: 1.0
    }
};

🎨 Кастомизация

Изменение ответов - редактируйте массивы responses в processor.js

Добавление команд - создайте новые слэш-команды в index.js

Изменение логики - модифицируйте методы класса LocalAI

Интеграция с внешними API - добавьте вызовы API в processor.js

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

Частые проблемы и решения Проблема Решение Бот не отвечает на команды Проверьте токен в .env файле Слэш-команды не отображаются Подождите 1-2 часа или перезапустите бота Бот не сохраняет память Проверьте права на запись в папку data/ Ошибки при запуске Убедитесь что Node.js версии 16.9.0+ Бот не видит сообщения Включите MESSAGE CONTENT INTENT Логирование ошибок Бот автоматически логирует все ошибки в консоль. Для детального логирования добавьте в index.js:

javascript client.on('debug', console.log); client.on('warn', console.log); 📈 Производительность Системные требования RAM: 100+ MB (зависит от количества пользователей)

CPU: Минимальные требования

Хранилище: 10+ MB на пользователя

Оптимизация Ленивая загрузка данных

Кэширование в памяти

Пакетное сохранение

Оптимизированные алгоритмы поиска

🤝 Вклад в проект Как помочь развитию проекта Форкните репозиторий

Создайте ветку для новой функции

Внесите изменения

Создайте Pull Request

Планы развития Веб-панель управления

Плагинная система

Мультиязычность

Машинное обучение

Голосовой интерфейс

📞 Поддержка

https://guns.lol/mayato

🎨 Архитектура системы

┌─────────────────────────────────────────────────────────────────────────┐
│                        Discord AI Bot - Архитектура                     │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  ┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐      │
│  │   Discord API   │◄──►│   index.js      │◄──►│   Пользователи  │      │
│  │   (События)     │    │   (Интерфейс)   │    │                 │      │
│  └─────────────────┘    └────────┬────────┘    └─────────────────┘      │
│                                  │                                      │
│                                  ▼                                      │
│  ┌─────────────────────────────────────────────────────────┐            │
│  │                   processor.js (AI Ядро)                │            │
│  ├─────────────────────────────────────────────────────────┤            │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐      │            │
│  │  │   Правила   │  │   Контекст  │  │   Логика    │      │            │
│  │  │  (База)     │  │  (Диалог)   │  │  (Анализ)   │      │            │
│  │  └─────────────┘  └─────────────┘  └─────────────┘      │            │
│  └──────────────────────────┬──────────────────────────────┘            │
│                             │                                           │
│                             ▼                                           │
│  ┌─────────────────────────────────────────────────────────┐            │
│  │                 memory.js (Память)                      │            │
│  ├─────────────────────────────────────────────────────────┤            │
│  │  ┌─────────────┐  ┌──────────────┐  ┌──────────────┐    │            │
│  │  │   Память    │  │   Загрузка/  │  │   Поиск/     │    │            │
│  │  │  (RAM)      │  │   Сохранение │  │   Извлечение │    │            │
│  │  └─────────────┘  └──────────────┘  └──────────────┘    │            │
│  └──────────────────────────┬──────────────────────────────┘            │
│                             │                                           │
│                             ▼                                           │
│  ┌─────────────────────────────────────────────────────────┐            │
│  │               data/ (Постоянное хранилище)              │            │
│  ├─────────────────────────────────────────────────────────┤            │
│  │  ┌─────────────┐                  ┌─────────────┐       │            │
│  │  │ memory.json │                  │ active_     │       │            │
│  │  │ (Факты)     │                  │ chats.json  │       │            │
│  │  │             │                  │ (Каналы)    │       │            │
│  │  └─────────────┘                  └─────────────┘       │            │
│  └─────────────────────────────────────────────────────────┘            │
│                                                                         │
├─────────────────────────────────────────────────────────────────────────┤
│  Ключ: ───► Поток данных   ┌─────┐ Класс/Модуль   [────] Файл/Хранилище │
└─────────────────────────────────────────────────────────────────────────┘

📊 Поток обработки сообщения:

  1. [Пользователь] → Отправляет сообщение
  2. [Discord API] → Передает событие
  3. [index.js] → Принимает и фильтрует
  4. [processor.js] → Анализирует, ищет ответ
  5. [memory.js] → Проверяет память, сохраняет новое
  6. [processor.js] → Формирует ответ
  7. [index.js] → Отправляет ответ
  8. [Discord API] → Доставляет пользователю
  9. [Пользователь] → Получает ответ

🔧 Компоненты:

• Синий прямоугольник = Основной модуль • Зеленый прямоугольник = Подмодуль/класс • Фиолетовый прямоугольник = Хранилище данных • Сплошная стрелка = Основной поток • Пунктирная стрелка = Взаимодействие

🌟 Особенности реализации

Уникальные аспекты архитектуры: Модульность - каждый компонент независим

Расширяемость - легко добавлять новые функции

Производительность - оптимизировано для Discord

Надежность - автоматическое восстановление

Документированность - понятный код и комментарии

Преимущества перед другими ботами: 🆓 Бесплатный - не требует платных API

🔒 Приватный - данные остаются у вас

⚡ Быстрый - мгновенные ответы

🛠️ Гибкий - легко настраивается

📚 Открытый - полный доступ к коду

Система для параллельной обработки JS-запросов на всех ядрах CPU через C#.

1. Архитектура системы

text
┌─────────────┐    WebSocket     ┌─────────────┐    Многопоточная  ┌─────────────┐
│  JavaScript │ ◄──────────────► │   C# Сервер │ ◄───────────────► │  Процессор  │
│   Клиент    │     JSON         │ Контроллер  │    Потоки/Ядра    │   (Ядра)    │
└─────────────┘                  └─────────────┘                   └─────────────┘
       │                               │                                   │
       │ 1. Отправка запроса           │ 2. Постановка в очередь           │ 3. Распределение
       │                               │                                   │    по ядрам
       │                               │ 5. Возврат результата             │ 4. Параллельная
       │ ◄─────────────────────────────│                                   │    обработка
       │                               │                                   │

2. Ключевые компоненты

На стороне C# сервера:

MultiCoreRequestController - основной класс управления

Очередь запросов (BlockingCollection) для потокобезопасности

Рабочие потоки (по одному на ядро процессора)

HTTP/WebSocket сервер для приема соединений

Система мониторинга производительности ядер

На стороне JavaScript:

WebSocket клиент для двусторонней связи

Интерфейс управления (кнопки для разных операций)

Система логирования и отображения результатов

3. Как работает обработка:

Прием запроса: JavaScript отправляет JSON запрос через WebSocket

Постановка в очередь: Запрос попадает в общую очередь

Распределение: Свободный рабочий поток берет запрос из очереди

Обработка: Запрос выполняется на конкретном ядре CPU

Отправка результата: Результат возвращается через WebSocket

4. Технические особенности:

Привязка потоков к ядрам: Используется SetThreadAffinityMask для Windows

Параллельная обработка: Для тяжелых операций используется Parallel.For

Балансировка нагрузки: Автоматическое распределение по доступным ядрам

Мониторинг: Сбор статистики по загрузке каждого ядра

Отказоустойчивость: Обработка ошибок и восстановление соединений

5. Поддерживаемые операции:

calculate - быстрые вычисления

process_data - обработка данных с использованием всех ядер

heavy_computation - тяжелые вычисления через Parallel.For

get_metrics - получение статистики производительности

6. Преимущества решения:

Масштабируемость: Автоматически использует все доступные ядра CPU

Эффективность: Минимизация накладных расходов на переключение контекста

Гибкость: Легко добавлять новые типы операций

Мониторинг: Визуализация загрузки системы в реальном времени

Кроссплатформенность: Работает через стандартные WebSocket

Визуальная структура данных:

Запрос от JS → [WebSocket] → [Очередь] → [Рабочий поток] → [Ядро CPU]
      │            │            │              │               │
      │            │            │              │          [Обработка]
      │            │            │              │               │
      │            │            │              │          [Результат]
      │            │            │              │               │
      ◄────────────┼────────────┼──────────────┼────────────────
      [Ответ через WebSocket]

Что мы получаем: Максимальная утилизация CPU: Все ядра процессора задействованы

Низкая задержка: Параллельная обработка независимых запросов

Высокая пропускная способность: Обработка множества запросов одновременно

Стабильность: Контроль нагрузки и предотвращение перегрузок

Система идеально подходит для задач:

Параллельных вычислений

Обработки больших объемов данных

Выполнения сложных алгоритмов

Распределенных вычислений от веб-клиентов

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors