8000 GitHub - officialdakari/NovaAssistant: AI based assistant
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

officialdakari/NovaAssistant

Repository files navigation

Nova Assistant

❓️ Что это

Nova Assistant - кастомизируемый и расширяемый ассистент с использованием OpenAI-compatible API.

💬 Где с ним говорить

Ассистент поддерживает из коробки чат-сети Matrix и Discord. Также он поддерживает разговоры через веб-панель и API.

🔧 Настройка

Для настройки, скопируйте config.example.yml в config.yml.

Пройдитесь по всем полям, они расписаны комментариями.

Создание пользователя

После первого запуска, откройте data/users. Если нет папки, то сделайте.

  1. Создайте файл с Вашим никнеймом (только латиница, цифры и подчёркивания. Ограничений в коде нет, но так, на всякий случай)
  2. Заполните его:
# Ваш никнейм
name: nickname

# Как произносится Ваш никнейм. Особого назначения нет, было сделано для будущей адаптации к TTS.
pronounce_name: officialdakari

# Ваш ID Discord. Можете оставить пустым, если отключено.
discord: "000000000000000000"

# Ваш matrix ID. Оставьте пустым, если отключено.
matrix: "@user:example.com"

# HTTP вебхук. Уведомления отправляются туда в формате text/plain, напоминания итп.
http: https://ntfy.sh/topic

# Из-за внутреннего калового кода, это должно быть таким же как name
api: nickname

# Предпочитаемый канал связи.
preferred_channel: matrix

# Куда отправлять уведомления, например напоминания.
notification_channels:
  - http
  - matrix

# Что ассистент знает о Вас?
about: Nova Assistant user
#ru.officialdakari.nova.eljur: {}

# Персонализация ассистента под каждого пользователя.
# Заметка: Пользователь может самостоятельно настраивать это из веб панели.
assistantName: Nova
assistantPronouns: she/her
assistantModel: gpt-4o
customInstructions: >-
  you are a helpful assistant.

TODO: облегчить процесс регистрации

Настройка плагина ЭлЖур

⚠️ Заметка: Этот плагин доступен только для аккаунтов учеников.

Если Вам нужно, чтобы ассистент умел вытягивать расписание, оценки, д/з из ЭлЖур, получите ключ разработчика и данные аккаунта.

Делайте запрос сюда: https://<school>.eljur.ru/api/auth?devkey=<devkey>&login=<login>&password=<password>&vendor=<school>.

p.s.: возможно я накосячил, откройте issue если не получится

Берёте из ответа token. Затем откройте папку в проекте data/users (Должна появиться после первого использования). Найдите там свой аккаунт. Если не нашли, зарегистрируйте.

Найдите в файле поле ru.officialdakari.nova.eljur. Если нету, сделайте. Оно должно выглядить так:

ru.officialdakari.nova.eljur:
    vendor: school52
    token: Averylongtoken__5239

Последний этап

Можете настроить системный запрос на своё усмотрение в ./prompt.txt.

Есть режим инкогнито, для него смотрите ./incognito_prompt.txt и ./incognito_warning.txt.

Режим инкогнито отключает многие плагины и убирает из системного запроса многие данные.

Настройка погоды

Когда запустите, напишите боту !geo <долгота> <широта>. Если Вы в matrix, отправьте Вашу геопозицию через клиент.

📋️ Что он умеет

  • Интеграция с ChatGPT. Я бы сказал, он им и является.
  • Генерация картинок по запросу.
  • Встроенный в веб морду музыкальный плеер. Скачивает с ютуба, особого применения нет.
  • Напоминания.
  • Прогноз погоды чере 5710 з OpenMeteo. При возможности прикрепит картинку с графиком.
  • Поиск в Интернете через DuckDuckGo. Доступен режим "изучения", когда контент каждой страницы описывается другой ИИ (менять в ./plugins/Search/index.js на строке 7)
  • Доступ к аккаунту Matrix. Доступ строго контроллируется через веб-панель.

⚒️ Делаем плагины

Плагины есть двух видов: локальные и удалённые.

Локальные находятся в папке plugins. Как пример, посмотрите существующие.

Удалённые подключаются через WebSocket.

TODO: сделать норм документацию по плагинам

About

AI based assistant

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0