Рефакторизация структуры кода для улучшения читаемости и удобства сопровождения.
This commit is contained in:
+661
@@ -0,0 +1,661 @@
|
||||
#=======================================================#
|
||||
# LibreChat Конфигурация #
|
||||
#=======================================================#
|
||||
# Пожалуйста, обратитесь за помощью к справочной документации #
|
||||
# с настройкой среды LibreChat. #
|
||||
# #
|
||||
# https://www.librechat.ai/docs/configuration/dotenv #
|
||||
#=======================================================#
|
||||
|
||||
#==========================================#
|
||||
# Конфигурация сервера №
|
||||
#==========================================#
|
||||
|
||||
HOST=0.0.0.0
|
||||
PORT=3080
|
||||
|
||||
MONGO_URI=mongodb://librechat_mongodb_1:27017/LibreChat
|
||||
|
||||
DOMAIN_CLIENT=http://localhost:3080
|
||||
DOMAIN_SERVER=http://localhost:3080
|
||||
|
||||
NO_INDEX=true
|
||||
# Используйте адрес, который находится на расстоянии не более n переходов от приложения Express.
|
||||
# req.socket.remoteAddress — это первый переход, а остальные ищутся в заголовке X-Forwarded-For справа налево.
|
||||
# Значение 0 означает, что первым недоверенным адресом будет req.socket.remoteAddress, т.е. обратного прокси-сервера нет.
|
||||
# По умолчанию 1.
|
||||
TRUST_PROXY=1
|
||||
|
||||
#===============#
|
||||
# JSON Номер журнала
|
||||
#===============#
|
||||
|
||||
# Используйте, когда консоль процесса регистрируется в облачном развертывании, например GCP/AWS.
|
||||
CONSOLE_JSON=false
|
||||
|
||||
#===============#
|
||||
# Журнал отладки #
|
||||
#===============#
|
||||
|
||||
DEBUG_LOGGING=true
|
||||
DEBUG_CONSOLE=false
|
||||
|
||||
#=============#
|
||||
# Разрешения #
|
||||
#=============#
|
||||
|
||||
# UID=1000
|
||||
# GID=1000
|
||||
|
||||
#===============#
|
||||
# Конфигурация №
|
||||
#===============#
|
||||
# Используйте абсолютный путь, относительный путь или URL.
|
||||
|
||||
# CONFIG_PATH="/alternative/path/to/librechat.yaml"
|
||||
|
||||
#===========================================#
|
||||
# Конечные точки #
|
||||
#===========================================#
|
||||
|
||||
# ENDPOINTS=openAI,assistants,azureOpenAI,google,gptPlugins,anthropic
|
||||
|
||||
PROXY=
|
||||
|
||||
#===============================#
|
||||
# Известные конечные точки — librechat.yaml #
|
||||
#===============================#
|
||||
# https://www.librechat.ai/docs/configuration/librechat_yaml/ai_endpoints
|
||||
|
||||
# ANYSCALE_API_KEY=
|
||||
# APIPIE_API_KEY=
|
||||
# COHERE_API_KEY=
|
||||
# DEEPSEEK_API_KEY=
|
||||
# DATABRICKS_API_KEY=
|
||||
# ФЕЙЕРВЕРКИ_API_KEY=
|
||||
# GROQ_API_KEY=
|
||||
# HUGGINGFACE_TOKEN=
|
||||
# MISTRAL_API_KEY=
|
||||
# OPENROOUTER_KEY=
|
||||
# PERPLEXITY_API_KEY=
|
||||
# SHUTTLEAI_API_KEY=
|
||||
# TOGETHERAI_API_KEY=
|
||||
# UNIFY_API_KEY=
|
||||
# XAI_API_KEY=
|
||||
|
||||
#============#
|
||||
# Антропный #
|
||||
#============#
|
||||
|
||||
ANTHROPIC_API_KEY=user_provided
|
||||
# ANTHROPIC_MODELS=claude-opus-4-20250514,claude-sonnet-4-20250514,claude-3-7-sonnet-20250219,claude-3-5-sonnet-20241022,claude-3-5-haiku-20241022,claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307
|
||||
# ANTHROPIC_REVERSE_PROXY=
|
||||
|
||||
#============#
|
||||
# Лазурный #
|
||||
#============#
|
||||
|
||||
# Примечание. Эти переменные — DEPRECATED.
|
||||
# Вместо этого используйте конфигурацию `librechat.yaml` для `azureOpenAI`.
|
||||
# Вы также можете продолжать использовать их, если откажетесь от использования конфигурации `librechat.yaml`.
|
||||
|
||||
# AZURE_OPENAI_DEFAULT_MODEL=gpt-3.5-turbo # Устарело
|
||||
# AZURE_OPENAI_MODELS=gpt-3.5-turbo,gpt-4 # Устарело
|
||||
# AZURE_USE_MODEL_AS_DEPLOYMENT_NAME=TRUE # Устарело
|
||||
# AZURE_API_KEY= # Deprecated
|
||||
# AZURE_OPENAI_API_INSTANCE_NAME= # Deprecated
|
||||
# AZURE_OPENAI_API_DEPLOYMENT_NAME= # Deprecated
|
||||
# AZURE_OPENAI_API_VERSION= # Deprecated
|
||||
# AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME= # Deprecated
|
||||
# AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME= # Deprecated
|
||||
# PLUGINS_USE_AZURE="true" # Устарело
|
||||
|
||||
#=================#
|
||||
# AWS Коренная порода #
|
||||
#=================#
|
||||
|
||||
# BEDROCK_AWS_DEFAULT_REGION=us-east-1 # Необходимо указать регион по умолчанию.
|
||||
# BEDROCK_AWS_ACCESS_KEY_ID=someAccessKey
|
||||
# BEDROCK_AWS_SECRET_ACCESS_KEY=someSecretAccessKey
|
||||
# BEDROCK_AWS_SESSION_TOKEN=someSessionToken
|
||||
|
||||
# Примечание. Этот список примеров не является исчерпывающим. Если этот параметр опущен, будут включены все известные и поддерживаемые модели IDs.
|
||||
# BEDROCK_AWS_MODELS=anthropic.claude-3-5-sonnet-20240620-v1:0,meta.llama3-1-8b-instruct-v1:0
|
||||
|
||||
# Посмотреть все модели Bedrock IDs можно здесь: https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns
|
||||
|
||||
# Примечания к конкретным моделям:
|
||||
# Следующие модели не поддерживаются из-за отсутствия поддержки потоковой передачи:
|
||||
# ai21.j2-mid-v1
|
||||
|
||||
# Следующие модели не поддерживаются из-за отсутствия поддержки истории разговоров:
|
||||
# ai21.j2-ultra-v1, cohere.command-text-v14, cohere.command-light-text-v14
|
||||
|
||||
#============#
|
||||
# Google #
|
||||
#============#
|
||||
|
||||
GOOGLE_KEY=user_provided
|
||||
|
||||
# GOOGLE_REVERSE_PROXY=
|
||||
# Некоторые обратные прокси-серверы не поддерживают заголовок X-goog-api-key. Вместо этого раскомментируйте, чтобы передать ключ API в заголовке авторизации.
|
||||
# GOOGLE_AUTH_HEADER=true
|
||||
|
||||
# Близнецы API (AI Studio)
|
||||
# GOOGLE_MODELS=gemini-2.5-pro-preview-05-06,gemini-2.5-flash-preview-04-17,gemini-2.0-flash-001,gemini-2.0-flash-exp,gemini-2.0-flash-lite-001,gemini-1.5-pro-002,gemini-1.5-flash-002
|
||||
|
||||
# Вершина AI
|
||||
# GOOGLE_MODELS=gemini-2.5-pro-preview-05-06,gemini-2.5-flash-preview-04-17,gemini-2.0-flash-001,gemini-2.0-flash-exp,gemini-2.0-flash-lite-001,gemini-1.5-pro-002,gemini-1.5-flash-002
|
||||
|
||||
# GOOGLE_TITLE_MODEL=gemini-2.0-flash-lite-001
|
||||
|
||||
# GOOGLE_LOC=us-central1
|
||||
|
||||
# Настройки безопасности Google
|
||||
# ПРИМЕЧАНИЕ: Эти настройки применяются как к Vertex AI, так и к Gemini API (AI Studio)
|
||||
#
|
||||
# Для вершины AI:
|
||||
# Чтобы использовать настройку BLOCK_NONE, вам необходимо:
|
||||
# (а) Доступ через белый список через команду вашего аккаунта Google или
|
||||
# (б) Перейти на ежемесячное выставление счетов: https://cloud.google.com/billing/docs/how-to/invoiced-billing
|
||||
#
|
||||
# Для Близнецов API (AI Studio):
|
||||
# BLOCK_NONE доступен по умолчанию, особых требований к учетной записи нет.
|
||||
#
|
||||
# Доступные варианты: BLOCK_NONE, BLOCK_ONLY_HIGH, BLOCK_MEDIUM_AND_ABOVE, BLOCK_LOW_AND_ABOVE.
|
||||
#
|
||||
# GOOGLE_SAFETY_SEXUALLY_EXPLICIT=BLOCK_ONLY_HIGH
|
||||
# GOOGLE_SAFETY_HATE_SPEECH=BLOCK_ONLY_HIGH
|
||||
# GOOGLE_SAFETY_HARASSMENT=BLOCK_ONLY_HIGH
|
||||
# GOOGLE_SAFETY_DANGEROUS_CONTENT=BLOCK_ONLY_HIGH
|
||||
# GOOGLE_SAFETY_CIVIC_INTEGRITY=BLOCK_ONLY_HIGH
|
||||
|
||||
#============#
|
||||
# ОпенАИ #
|
||||
#============#
|
||||
|
||||
OPENAI_API_KEY=user_provided
|
||||
# OPENAI_MODELS=o1,o1-mini,o1-preview,gpt-4o,gpt-4.5-preview,chatgpt-4o-latest,gpt-4o-mini,gpt-3.5-turbo-0125,gpt-3.5-turbo-0301,gpt-3.5-turbo,gpt-4,gpt-4-0613,gpt-4-vision-preview,gpt-3.5-turbo-0613,gpt-3.5-turbo-16k-0613,gpt-4-0125-preview,gpt-4-turbo-preview,gpt-4-1106-preview,gpt-3.5-turbo-1106,gpt-3.5-turbo-instruct,gpt-3.5-turbo-instruct-0914,gpt-3.5-turbo-16k
|
||||
|
||||
DEBUG_OPENAI=false
|
||||
|
||||
# TITLE_CONVO=false
|
||||
# OPENAI_TITLE_MODEL=gpt-4o-mini
|
||||
|
||||
# OPENAI_SUMMARIZE=true
|
||||
# OPENAI_SUMMARY_MODEL=gpt-4o-mini
|
||||
|
||||
# OPENAI_FORCE_PROMPT=true
|
||||
|
||||
# OPENAI_REVERSE_PROXY=
|
||||
|
||||
# OPENAI_ORGANIZATION=
|
||||
|
||||
#====================#
|
||||
# Помощники API #
|
||||
#====================#
|
||||
|
||||
ASSISTANTS_API_KEY=user_provided
|
||||
# ASSISTANTS_BASE_URL=
|
||||
# ASSISTANTS_MODELS=gpt-4o,gpt-4o-mini,gpt-3.5-turbo-0125,gpt-3.5-turbo-16k-0613,gpt-3.5-turbo-16k,gpt-3.5-turbo,gpt-4,gpt-4-0314,gpt-4-32k-0314,gpt-4-0613,gpt-3.5-turbo-0613,gpt-3.5-turbo-1106,gpt-4-0125-preview,gpt-4-turbo-preview,gpt-4-1106-preview
|
||||
|
||||
#=======================#
|
||||
# Помощники Azure API #
|
||||
#=======================#
|
||||
|
||||
# Примечание. Вам следует сопоставить свои учетные данные с пользовательскими переменными в соответствии с вашей конфигурацией Azure OpenAI.
|
||||
# Модели для помощников Azure также определяются вашей конфигурацией Azure OpenAI.
|
||||
|
||||
# Дополнительную информацию, в том числе о том, как включить использование Ассистентов с Azure, можно найти здесь:
|
||||
# https://www.librechat.ai/docs/configuration/librechat_yaml/ai_endpoints/azure#using-assistants-with-azure
|
||||
|
||||
#============#
|
||||
# Плагины #
|
||||
#============#
|
||||
|
||||
# PLUGIN_MODELS=gpt-4o,gpt-4o-mini,gpt-4,gpt-4-turbo-preview,gpt-4-0125-preview,gpt-4-1106-preview,gpt-4-0613,gpt-3.5-turbo,gpt-3.5-turbo-0125,gpt-3.5-turbo-1106,gpt-3.5-turbo-0613
|
||||
|
||||
DEBUG_PLUGINS=true
|
||||
|
||||
CREDS_KEY=f34be427ebb29de8d88c107a71546019685ed8b241d8f2ed00c3df97ad2566f0
|
||||
CREDS_IV=e2341419ec3dd3d19b13a1a87fafcbfb
|
||||
|
||||
# Поиск Azure AI
|
||||
#-----------------
|
||||
AZURE_AI_SEARCH_SERVICE_ENDPOINT=
|
||||
AZURE_AI_SEARCH_INDEX_NAME=
|
||||
AZURE_AI_SEARCH_API_KEY=
|
||||
|
||||
AZURE_AI_SEARCH_API_VERSION=
|
||||
AZURE_AI_SEARCH_SEARCH_OPTION_QUERY_TYPE=
|
||||
AZURE_AI_SEARCH_SEARCH_OPTION_TOP=
|
||||
AZURE_AI_SEARCH_SEARCH_OPTION_SELECT=
|
||||
|
||||
# OpenAI Настройка инструментов изображения
|
||||
#----------------
|
||||
# IMAGE_GEN_OAI_DESCRIPTION_WITH_FILES=Пользовательское описание инструмента создания изображений при наличии файлов
|
||||
# IMAGE_GEN_OAI_DESCRIPTION_NO_FILES=Пользовательское описание инструмента создания изображений при отсутствии файлов
|
||||
# IMAGE_EDIT_OAI_DESCRIPTION=Пользовательское описание инструмента редактирования изображений
|
||||
# IMAGE_GEN_OAI_PROMPT_DESCRIPTION=Описание пользовательского запроса для инструмента создания изображений
|
||||
# IMAGE_EDIT_OAI_PROMPT_DESCRIPTION=Пользовательское описание подсказки для инструмента редактирования изображений
|
||||
|
||||
# ДАЛЛ·И
|
||||
#----------------
|
||||
# ДАЛЛЕ_API_KEY=
|
||||
# DALLE3_API_KEY=
|
||||
# DALLE2_API_KEY=
|
||||
# DALLE3_SYSTEM_PROMPT=
|
||||
# DALLE2_SYSTEM_PROMPT=
|
||||
# DALLE_REVERSE_PROXY=
|
||||
# DALLE3_BASEURL=
|
||||
# DALLE2_BASEURL=
|
||||
|
||||
# DALL·E (через Azure OpenAI)
|
||||
# Note: requires some of the variables above to be set
|
||||
#----------------
|
||||
# DALLE3_AZURE_API_VERSION=
|
||||
# DALLE2_AZURE_API_VERSION=
|
||||
|
||||
# Поток
|
||||
#-----------------
|
||||
FLUX_API_BASE_URL=https://api.us1.bfl.ai
|
||||
# FLUX_API_BASE_URL = 'https://api.bfl.ml';
|
||||
|
||||
# Получите ключ API по адресу https://api.us1.bfl.ai/auth/profile.
|
||||
# FLUX_API_KEY=
|
||||
|
||||
# Google
|
||||
#-----------------
|
||||
GOOGLE_SEARCH_API_KEY=
|
||||
GOOGLE_CSE_ID=
|
||||
|
||||
# ЮТУБ
|
||||
#-----------------
|
||||
YOUTUBE_API_KEY=
|
||||
|
||||
# СерпAPI
|
||||
#-----------------
|
||||
SERPAPI_API_KEY=
|
||||
|
||||
# Стабильная диффузия
|
||||
#-----------------
|
||||
SD_WEBUI_URL=
|
||||
|
||||
# Тавили
|
||||
#-----------------
|
||||
TAVILY_API_KEY=
|
||||
|
||||
# Траверсааль
|
||||
#-----------------
|
||||
TRAVERSAAL_API_KEY=
|
||||
|
||||
# ВольфрамАльфа
|
||||
#-----------------
|
||||
WOLFRAM_APP_ID=
|
||||
|
||||
# Запир
|
||||
#-----------------
|
||||
ZAPIER_NLA_API_KEY=
|
||||
|
||||
#==========================================#
|
||||
# Поиск #
|
||||
#==========================================#
|
||||
|
||||
SEARCH=true
|
||||
MEILI_NO_ANALYTICS=true
|
||||
MEILI_HOST=http://librechat_meilisearch_1:7700
|
||||
MEILI_MASTER_KEY=DrhYf7zENyR6AlUCKmnz0eYASOQdl6zxH7s7MKFSfFCt
|
||||
|
||||
# Optional: Disable indexing, useful in a multi-node setup
|
||||
# где только один экземпляр должен выполнять синхронизацию индекса.
|
||||
# MEILI_NO_SYNC=true
|
||||
|
||||
#==========================================#
|
||||
# Преобразование речи в текст и преобразование текста в речь #
|
||||
#==========================================#
|
||||
|
||||
STT_API_KEY=
|
||||
TTS_API_KEY=
|
||||
|
||||
#==========================================#
|
||||
# ТРЯПКА №
|
||||
#==========================================#
|
||||
# Дополнительная информация: https://www.librechat.ai/docs/configuration/rag_api
|
||||
|
||||
RAG_API_URL=http://librechat_rag_api_1:8000
|
||||
# RAG_OPENAI_BASEURL=
|
||||
RAG_OPENAI_API_KEY=user_provided
|
||||
# RAG_USE_FULL_CONTEXT=
|
||||
# EMBEDDINGS_PROVIDER=openai
|
||||
# EMBEDDINGS_MODEL=text-embedding-3-small
|
||||
|
||||
#===========================================#
|
||||
# Системный номер пользователя
|
||||
#===========================================#
|
||||
|
||||
#=====================#
|
||||
# Модерация #
|
||||
#=====================#
|
||||
|
||||
OPENAI_MODERATION=false
|
||||
OPENAI_MODERATION_API_KEY=
|
||||
# OPENAI_MODERATION_REVERSE_PROXY=
|
||||
|
||||
BAN_VIOLATIONS=true
|
||||
BAN_DURATION=1000 * 60 * 60 * 2
|
||||
BAN_INTERVAL=20
|
||||
|
||||
LOGIN_VIOLATION_SCORE=1
|
||||
REGISTRATION_VIOLATION_SCORE=1
|
||||
CONCURRENT_VIOLATION_SCORE=1
|
||||
MESSAGE_VIOLATION_SCORE=1
|
||||
NON_BROWSER_VIOLATION_SCORE=20
|
||||
|
||||
LOGIN_MAX=7
|
||||
LOGIN_WINDOW=5
|
||||
REGISTER_MAX=5
|
||||
REGISTER_WINDOW=60
|
||||
|
||||
LIMIT_CONCURRENT_MESSAGES=true
|
||||
CONCURRENT_MESSAGE_MAX=2
|
||||
|
||||
LIMIT_MESSAGE_IP=true
|
||||
MESSAGE_IP_MAX=40
|
||||
MESSAGE_IP_WINDOW=1
|
||||
|
||||
LIMIT_MESSAGE_USER=false
|
||||
MESSAGE_USER_MAX=40
|
||||
MESSAGE_USER_WINDOW=1
|
||||
|
||||
ILLEGAL_MODEL_REQ_SCORE=5
|
||||
|
||||
#=====================#
|
||||
# Баланс #
|
||||
#=====================#
|
||||
|
||||
# CHECK_BALANCE=false
|
||||
# START_BALANCE=20000 # примечание: количество токенов, которое будет начислено после регистрации.
|
||||
|
||||
#=====================#
|
||||
# Регистрация и логин #
|
||||
#=====================#
|
||||
|
||||
ALLOW_EMAIL_LOGIN=true
|
||||
ALLOW_REGISTRATION=false
|
||||
ALLOW_SOCIAL_LOGIN=false
|
||||
ALLOW_SOCIAL_REGISTRATION=false
|
||||
ALLOW_PASSWORD_RESET=false
|
||||
# ALLOW_ACCOUNT_DELETION=true # примечание: включено по умолчанию, если отсутствует omitted/commented
|
||||
ALLOW_UNVERIFIED_EMAIL_LOGIN=true
|
||||
|
||||
SESSION_EXPIRY=1000 * 60 * 15
|
||||
REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7
|
||||
|
||||
JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef
|
||||
JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418
|
||||
|
||||
# Раздор
|
||||
DISCORD_CLIENT_ID=
|
||||
DISCORD_CLIENT_SECRET=
|
||||
DISCORD_CALLBACK_URL=/oauth/discord/callback
|
||||
|
||||
# Фейсбук
|
||||
FACEBOOK_CLIENT_ID=
|
||||
FACEBOOK_CLIENT_SECRET=
|
||||
FACEBOOK_CALLBACK_URL=/oauth/facebook/callback
|
||||
|
||||
# GitHub
|
||||
GITHUB_CLIENT_ID=
|
||||
GITHUB_CLIENT_SECRET=
|
||||
GITHUB_CALLBACK_URL=/oauth/github/callback
|
||||
# GitHub Предприятие
|
||||
# GITHUB_ENTERPRISE_BASE_URL=
|
||||
# GITHUB_ENTERPRISE_USER_AGENT=
|
||||
|
||||
# Google
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
GOOGLE_CALLBACK_URL=/oauth/google/callback
|
||||
|
||||
# Яблоко
|
||||
APPLE_CLIENT_ID=
|
||||
APPLE_TEAM_ID=
|
||||
APPLE_KEY_ID=
|
||||
APPLE_PRIVATE_KEY_PATH=
|
||||
APPLE_CALLBACK_URL=/oauth/apple/callback
|
||||
|
||||
# OpenID
|
||||
OPENID_CLIENT_ID=
|
||||
OPENID_CLIENT_SECRET=
|
||||
OPENID_ISSUER=
|
||||
OPENID_SESSION_SECRET=
|
||||
OPENID_SCOPE="openid profile email"
|
||||
OPENID_CALLBACK_URL=/oauth/openid/callback
|
||||
OPENID_REQUIRED_ROLE=
|
||||
OPENID_REQUIRED_ROLE_TOKEN_KIND=
|
||||
OPENID_REQUIRED_ROLE_PARAMETER_PATH=
|
||||
# Установите, чтобы определить, какое свойство информации о пользователе, возвращенное поставщиком OpenID, для сохранения в качестве имени пользователя.
|
||||
OPENID_USERNAME_CLAIM=
|
||||
# Установите, чтобы определить, какое свойство информации о пользователе, возвращенное поставщиком OpenID, для сохранения в качестве имени пользователя.
|
||||
OPENID_NAME_CLAIM=
|
||||
|
||||
OPENID_BUTTON_LABEL=
|
||||
OPENID_IMAGE_URL=
|
||||
# Установите значение true для автоматического перенаправления к провайдеру OpenID, когда пользователь посещает страницу входа.
|
||||
# Это позволит полностью обойти форму входа для пользователей. Используйте это только в том случае, если OpenID — ваш единственный метод аутентификации.
|
||||
OPENID_AUTO_REDIRECT=false
|
||||
# Установите значение true, чтобы использовать PKCE (ключ подтверждения для обмена кодами) для аутентификации OpenID.
|
||||
OPENID_USE_PKCE=false
|
||||
#Установите значение true, чтобы повторно использовать токены openid для управления аутентификацией вместо использования сеанса mongodb и пользовательского токена обновления.
|
||||
OPENID_REUSE_TOKENS=
|
||||
#По умолчанию результаты проверки ключа подписи кэшируются, чтобы предотвратить чрезмерные запросы HTTP к конечной точке JWKS.
|
||||
#Если найден ключ подписи, соответствующий ребенку, он будет кэширован, и при следующем запросе этого ребенка ключ подписи будет предоставлен из кэша.
|
||||
#По умолчанию верно.
|
||||
OPENID_JWKS_URL_CACHE_ENABLED=
|
||||
OPENID_JWKS_URL_CACHE_TIME= # 600000 ms eq to 10 minutes leave empty to disable caching
|
||||
#Установите значение true, чтобы запустить поток обмена токенами для получения токена доступа для конечной точки userinfo.
|
||||
OPENID_ON_BEHALF_FLOW_FOR_USERINFRO_REQUIRED=
|
||||
OPENID_ON_BEHALF_FLOW_USERINFRO_SCOPE = "user.read" # example for Scope Needed for Microsoft Graph API
|
||||
# Установите значение true, чтобы использовать конечную точку окончания сеанса OpenID Connect для выхода из системы.
|
||||
OPENID_USE_END_SESSION_ENDPOINT=
|
||||
|
||||
|
||||
# SAML
|
||||
# Примечание. Если OpenID включен, аутентификация SAML будет автоматически отключена.
|
||||
SAML_ENTRY_POINT=
|
||||
SAML_ISSUER=
|
||||
SAML_CERT=
|
||||
SAML_CALLBACK_URL=/oauth/saml/callback
|
||||
SAML_SESSION_SECRET=
|
||||
|
||||
# Сопоставления атрибутов (необязательно)
|
||||
SAML_EMAIL_CLAIM=
|
||||
SAML_USERNAME_CLAIM=
|
||||
SAML_GIVEN_NAME_CLAIM=
|
||||
SAML_FAMILY_NAME_CLAIM=
|
||||
SAML_PICTURE_CLAIM=
|
||||
SAML_NAME_CLAIM=
|
||||
|
||||
# Настройки кнопки входа в систему (необязательно)
|
||||
SAML_BUTTON_LABEL=
|
||||
SAML_IMAGE_URL=
|
||||
|
||||
# Должен ли быть подписан ответ SAML.
|
||||
# - Если "true", будет подписан весь `SAML Response`.
|
||||
# - Если "false" или не установлено, будет подписан только `SAML Assertion` (поведение по умолчанию).
|
||||
# SAML_USE_AUTHN_RESPONSE_SIGNED=
|
||||
|
||||
|
||||
# ЛДАП
|
||||
LDAP_URL=
|
||||
LDAP_BIND_DN=
|
||||
LDAP_BIND_CREDENTIALS=
|
||||
LDAP_USER_SEARCH_BASE=
|
||||
#LDAP_SEARCH_FILTER="mail="
|
||||
LDAP_CA_CERT_PATH=
|
||||
# LDAP_TLS_REJECT_UNAUTHORIZED=
|
||||
# LDAP_STARTTLS=
|
||||
# LDAP_LOGIN_USES_USERNAME=true
|
||||
# LDAP_ID=
|
||||
# LDAP_USERNAME=
|
||||
# LDAP_EMAIL=
|
||||
# LDAP_FULL_NAME=
|
||||
|
||||
#=====================#
|
||||
# Сброс пароля электронной почты #
|
||||
#=====================#
|
||||
|
||||
EMAIL_SERVICE=
|
||||
EMAIL_HOST=
|
||||
EMAIL_PORT=25
|
||||
EMAIL_ENCRYPTION=
|
||||
EMAIL_ENCRYPTION_HOSTNAME=
|
||||
EMAIL_ALLOW_SELFSIGNED=
|
||||
EMAIL_USERNAME=
|
||||
EMAIL_PASSWORD=
|
||||
EMAIL_FROM_NAME=
|
||||
EMAIL_FROM=noreply@librechat.ai
|
||||
|
||||
#=====================#
|
||||
# Почтовый пистолет API #
|
||||
#=====================#
|
||||
|
||||
# MAILGUN_API_KEY=your-mailgun-api-key
|
||||
# MAILGUN_DOMAIN=mg.yourdomain.com
|
||||
# EMAIL_FROM=noreply@yourdomain.com
|
||||
# EMAIL_FROM_NAME="LibreChat"
|
||||
|
||||
# # Необязательно: для региона EU.
|
||||
# MAILGUN_HOST=https://api.eu.mailgun.net
|
||||
|
||||
#=====================#
|
||||
# База огня CDN #
|
||||
#=====================#
|
||||
|
||||
FIREBASE_API_KEY=
|
||||
FIREBASE_AUTH_DOMAIN=
|
||||
FIREBASE_PROJECT_ID=
|
||||
FIREBASE_STORAGE_BUCKET=
|
||||
FIREBASE_MESSAGING_SENDER_ID=
|
||||
FIREBASE_APP_ID=
|
||||
|
||||
#=====================#
|
||||
# S3 AWS Номер ковша
|
||||
#=====================#
|
||||
|
||||
AWS_ENDPOINT_URL=
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_REGION=
|
||||
AWS_BUCKET_NAME=
|
||||
|
||||
#=====================#
|
||||
# Номер хранилища BLOB-объектов Azure
|
||||
#=====================#
|
||||
|
||||
AZURE_STORAGE_CONNECTION_STRING=
|
||||
AZURE_STORAGE_PUBLIC_ACCESS=false
|
||||
AZURE_CONTAINER_NAME=files
|
||||
|
||||
#=====================#
|
||||
# Общие ссылки #
|
||||
#=====================#
|
||||
|
||||
ALLOW_SHARED_LINKS=true
|
||||
ALLOW_SHARED_LINKS_PUBLIC=true
|
||||
|
||||
#===========================#
|
||||
# Статический элемент управления кэшем файлов #
|
||||
#===========================#
|
||||
|
||||
# Оставьте комментарий, чтобы использовать значения по умолчанию: 1 день (86 400 секунд) для s-maxage и 2 дня (172 800 секунд) для max-age.
|
||||
# NODE_ENV должен быть настроен на производство, чтобы они вступили в силу.
|
||||
# STATIC_CACHE_MAX_AGE=172800
|
||||
# STATIC_CACHE_S_MAX_AGE=86400
|
||||
|
||||
# Если у вас есть другая служба перед вашим LibreChat, выполняющая сжатие, отключите здесь экспресс-сжатие.
|
||||
# DISABLE_COMPRESSION=true
|
||||
|
||||
#===========================================#
|
||||
# интерфейс #
|
||||
#===========================================#
|
||||
|
||||
APP_TITLE=LibreChat
|
||||
# CUSTOM_FOOTER="My custom footer"
|
||||
HELP_AND_FAQ_URL=https://librechat.ai
|
||||
|
||||
# SHOW_BIRTHDAY_ICON=true
|
||||
|
||||
# Идентификатор диспетчера тегов Google
|
||||
#ANALYTICS_GTM_ID=user provided google tag manager id
|
||||
|
||||
#===============#
|
||||
# REDIS Опции #
|
||||
#===============#
|
||||
|
||||
# REDIS_URI=10.10.10.10:6379
|
||||
# USE_REDIS=true
|
||||
|
||||
# USE_REDIS_CLUSTER=true
|
||||
# REDIS_CA=/path/to/ca.crt
|
||||
|
||||
#==========================================#
|
||||
# Другие #
|
||||
#==========================================#
|
||||
# Вы должны оставить закомментированными #
|
||||
|
||||
# УЗЕЛ_ENV=
|
||||
|
||||
# E2E_USER_EMAIL=
|
||||
# E2E_USER_PASSWORD=
|
||||
|
||||
#============================================#
|
||||
# Заголовки кэша #
|
||||
#============================================#
|
||||
# Заголовки, управляющие кэшированием index.html #
|
||||
# Конфигурация по умолчанию предотвращает кэширование, чтобы гарантировать #
|
||||
# пользователи всегда получают последнюю версию. Настроить #
|
||||
# только если вы понимаете последствия кэширования. #
|
||||
|
||||
# INDEX_CACHE_CONTROL=без кэша, без хранения, необходима повторная проверка
|
||||
# INDEX_PRAGMA=no-cache
|
||||
# INDEX_EXPIRES=0
|
||||
|
||||
# no-cache: принудительная проверка на сервере перед использованием кэшированной версии.
|
||||
# no-store: Prevents storing the response entirely
|
||||
# must-revalidate: предотвращает использование устаревшего контента в автономном режиме.
|
||||
|
||||
#============================================#
|
||||
# OpenWeather #
|
||||
#============================================#
|
||||
OPENWEATHER_API_KEY=
|
||||
|
||||
#================================#
|
||||
# LibreChat Интерпретатор кода API #
|
||||
#================================#
|
||||
|
||||
# https://code.librechat.ai
|
||||
# LIBRECHAT_CODE_API_KEY=your-key
|
||||
|
||||
#=====================#
|
||||
# Веб-поиск #
|
||||
#=====================#
|
||||
|
||||
# Примечание. Все следующие имена переменных можно настроить.
|
||||
# Опустите значения, чтобы пользователь мог их предоставить.
|
||||
|
||||
# Дополнительные сведения о значениях конфигурации см. в разделах:
|
||||
# https://librechat.ai/docs/features/web_search
|
||||
|
||||
# Поставщик поиска (обязательно)
|
||||
# SERPER_API_KEY=your_serper_api_key
|
||||
|
||||
# Скребок (обязательно)
|
||||
# FIRECRAWL_API_KEY=your_firecrawl_api_key
|
||||
# Optional: Custom Firecrawl API URL
|
||||
# FIRECRAWL_API_URL=your_firecrawl_api_url
|
||||
|
||||
# Реранкер (обязательно)
|
||||
# JINA_API_KEY=your_jina_api_key
|
||||
# или
|
||||
# COHERE_API_KEY=your_cohere_api_key
|
||||
@@ -0,0 +1,277 @@
|
||||
# Для получения дополнительной информации см. Руководство по настройке:
|
||||
# https://www.librechat.ai/docs/configuration/librechat_yaml
|
||||
|
||||
# Версия конфигурации (обязательно)
|
||||
version: 1.2.1
|
||||
|
||||
# Настройки кэша: установите значение true, чтобы включить кэширование.
|
||||
cache: true
|
||||
|
||||
# Стратегия файла s3/firebase
|
||||
# fileStrategy: "s3"
|
||||
|
||||
# Пользовательская конфигурация интерфейса
|
||||
interface:
|
||||
customWelcome: "Welcome to LibreChat! Enjoy your experience."
|
||||
# Настройки политики конфиденциальности
|
||||
privacyPolicy:
|
||||
externalUrl: 'https://librechat.ai/privacy-policy'
|
||||
openNewTab: true
|
||||
|
||||
endpointsMenu: true
|
||||
modelSelect: true
|
||||
parameters: true
|
||||
sidePanel: true
|
||||
presets: true
|
||||
prompts: true
|
||||
bookmarks: true
|
||||
multiConvo: true
|
||||
agents: true
|
||||
|
||||
# Пример турникета Cloudflare (опционально)
|
||||
#турникет:
|
||||
# Ключ сайта: "your-site-key-here"
|
||||
# параметры:
|
||||
# language: "auto" # "auto" или код языка ISO 639-1 (например, en)
|
||||
# size: "normal" # Опции: "normal", "compact", "flexible" или "invisible".
|
||||
|
||||
# Пример структуры объекта регистрации (необязательно)
|
||||
registration:
|
||||
socialLogins: ['github', 'google', 'discord', 'openid', 'facebook', 'apple', 'saml']
|
||||
# разрешенные домены:
|
||||
# - "gmail.com"
|
||||
|
||||
|
||||
# Пример настроек баланса
|
||||
# баланс:
|
||||
# enabled: false
|
||||
# startBalance: 20000
|
||||
# autoRefillEnabled: false
|
||||
# refillIntervalValue: 30
|
||||
# refillIntervalUnit: 'days'
|
||||
# refillAmount: 10000
|
||||
|
||||
# речь:
|
||||
# ттс:
|
||||
# опенай:
|
||||
# url: ''
|
||||
# apiKey: '${TTS_API_KEY}'
|
||||
# model: ''
|
||||
# voices: ['']
|
||||
|
||||
#
|
||||
# вт:
|
||||
# опенай:
|
||||
# url: ''
|
||||
# apiKey: '${STT_API_KEY}'
|
||||
# model: ''
|
||||
|
||||
# Ограничения скорости:
|
||||
# файлЗагрузки:
|
||||
# ipMax: 100
|
||||
# ipWindowInMinutes: 60 # Окно ограничения скорости загрузки файлов по IP
|
||||
# userMax: 50
|
||||
# userWindowInMinutes: 60 # Окно ограничения скорости загрузки файлов на пользователя
|
||||
# разговорыИмпорт:
|
||||
# ipMax: 100
|
||||
# ipWindowInMinutes: 60 # Окно ограничения скорости для импорта разговоров по IP
|
||||
# userMax: 50
|
||||
# userWindowInMinutes: 60 # Окно ограничения скорости импорта разговоров на пользователя
|
||||
|
||||
# Пример структуры объекта действий
|
||||
actions:
|
||||
allowedDomains:
|
||||
- "swapi.dev"
|
||||
- "librechat.ai"
|
||||
- "google.com"
|
||||
|
||||
# Пример структуры объекта серверов MCP
|
||||
# mcpServers:
|
||||
# все:
|
||||
# # тип: sse # тип может быть опущен
|
||||
# url: http://localhost:3001/sse
|
||||
# timeout: 60000 # Тайм-аут для этого сервера составляет 1 минуту, это тайм-аут по умолчанию для серверов MCP.
|
||||
# кукольник:
|
||||
# type: stdio
|
||||
# command: npx
|
||||
# аргументы:
|
||||
# - -у
|
||||
# - "@modelcontextprotocol/server-puppeteer"
|
||||
# timeout: 300000 # Таймаут 5 минут для этого сервера
|
||||
# файловая система:
|
||||
# # тип: stdio
|
||||
# command: npx
|
||||
# аргументы:
|
||||
# - -у
|
||||
# - "@modelcontextprotocol/server-filesystem"
|
||||
# - /home/user/LibreChat/
|
||||
# iconPath: /home/user/LibreChat/client/public/assets/logo.svg
|
||||
# mcp-обсидиан:
|
||||
# command: npx
|
||||
# аргументы:
|
||||
# - -у
|
||||
# - "mcp-obsidian"
|
||||
# - /path/to/obsidian/vault
|
||||
|
||||
# Определение пользовательских конечных точек
|
||||
endpoints:
|
||||
# помощники:
|
||||
# disableBuilder: false # Отключите интерфейс Assistants Builder, установив значение `true`.
|
||||
# pollIntervalMs: 3000 # Интервал опроса для проверки обновлений Ассистента
|
||||
# timeoutMs: 180000 # Тайм-аут для операций помощника
|
||||
# # Должно быть только одно или другое: `supportedIds` или `excludedIds`
|
||||
# supportedIds: ["asst_supportedAssistantId1", "asst_supportedAssistantId2"]
|
||||
# # исключенных идентификаторов: ["asst_excludedAssistantId"]
|
||||
# # Показывать только помощников, созданных пользователем или созданных извне (например, на игровой площадке «Помощники»).
|
||||
# # PrivateAssistants: false # Не работает с `supportedIds` или `excludedIds`
|
||||
# # (необязательно) Для моделей, поддерживающих извлечение, по умолчанию будут использоваться последние известные модели OpenAI, поддерживающие эту функцию.
|
||||
# retrievalModels: ["gpt-4-turbo-preview"]
|
||||
# # (необязательно) Возможности помощника доступны всем пользователям. Опустите те, которые вы хотите исключить. По умолчанию список приведен ниже.
|
||||
# capabilities: ["code_interpreter", "retrieval", "actions", "tools", "image_vision"]
|
||||
# агенты:
|
||||
# # (необязательно) Глубина рекурсии по умолчанию для агентов, по умолчанию 25
|
||||
# recursionLimit: 50
|
||||
# # (необязательно) Максимальная глубина рекурсии для агентов, по умолчанию 25.
|
||||
# maxRecursionLimit: 100
|
||||
# # (необязательно) Отключить интерфейс конструктора для агентов
|
||||
# disableBuilder: false
|
||||
# # (необязательно) Возможности агента доступны всем пользователям. Опустите те, которые вы хотите исключить. По умолчанию список приведен ниже.
|
||||
# capabilities: ["execute_code", "file_search", "actions", "tools"]
|
||||
custom:
|
||||
# Пример Олламы
|
||||
- name: "Ollama"
|
||||
apiKey: "ollama"
|
||||
# используйте 'host.docker.internal' вместо localhost, если LibreChat запущен в контейнере докера
|
||||
baseURL: "http://ollama_ollama_1:11434/v1/"
|
||||
models:
|
||||
default:
|
||||
[
|
||||
'llama3.2'
|
||||
]
|
||||
# поддерживается получение списка моделей, но поле `name` должно начинаться
|
||||
# с `ollama` (без учета регистра), как в этом примере.
|
||||
fetch: false
|
||||
titleConvo: true
|
||||
titleModel: "current_model"
|
||||
summarize: false
|
||||
summaryModel: "current_model"
|
||||
forcePrompt: false
|
||||
modelDisplayLabel: "Ollama"
|
||||
# Пример Грока
|
||||
# - имя: 'groq'
|
||||
# apiKey: '${GROQ_API_KEY}'
|
||||
# baseURL: 'https://api.groq.com/openai/v1/'
|
||||
# модели:
|
||||
# по умолчанию:
|
||||
# [
|
||||
# 'llama3-70b-8192',
|
||||
# 'llama3-8b-8192',
|
||||
# 'llama2-70b-4096',
|
||||
# 'mixtral-8x7b-32768',
|
||||
# 'gemma-7b-it',
|
||||
# ]
|
||||
# fetch: false
|
||||
# titleConvo: true
|
||||
# titleModel: 'mixtral-8x7b-32768'
|
||||
# modelDisplayLabel: 'groq'
|
||||
|
||||
# # Мистраль AI Пример
|
||||
# - name: 'Mistral' # Уникальное имя конечной точки
|
||||
# # Для `apiKey` и `baseURL` вы можете использовать определенные вами переменные среды.
|
||||
# # рекомендуемые переменные среды:
|
||||
# apiKey: '${MISTRAL_API_KEY}'
|
||||
# baseURL: 'https://api.mistral.ai/v1'
|
||||
|
||||
# # Конфигурация моделей
|
||||
# модели:
|
||||
# # Список моделей по умолчанию для использования. Требуется хотя бы одно значение.
|
||||
# default: ['mistral-tiny', 'mistral-small', 'mistral-medium']
|
||||
# # Опция выборки: установите значение true для извлечения моделей из API.
|
||||
# fetch: true # По умолчанию ложь.
|
||||
|
||||
# # Дополнительные конфигурации
|
||||
|
||||
# # Настройка диалога по заголовку
|
||||
# titleConvo: true # Установите значение true, чтобы включить диалог заголовка
|
||||
|
||||
# # Метод заголовка: выберите "completion" или "functions".
|
||||
# # titleMethod: "completion" # По умолчанию "completion", если он опущен.
|
||||
|
||||
# # Модель заголовка: укажите модель, которая будет использоваться для заголовков.
|
||||
# titleModel: 'mistral-tiny' # По умолчанию используется "gpt-3.5-turbo", если опущено.
|
||||
|
||||
# # Параметр суммирования: установите значение true, чтобы включить суммирование.
|
||||
# # суммировать: ложь
|
||||
|
||||
# # Модель сводки: укажите модель, которая будет использоваться, если включено суммирование.
|
||||
# # summaryModel: "mistral-tiny" # По умолчанию "gpt-3.5-turbo", если опущено.
|
||||
|
||||
# # Настройка принудительного запроса: если true, вместо `messages` отправляется параметр `prompt`.
|
||||
# # ForcePrompt: ложь
|
||||
|
||||
# # Метка, отображаемая для модели AI в сообщениях.
|
||||
# modelDisplayLabel: 'Mistral' # По умолчанию — "AI", если не установлено.
|
||||
|
||||
# # Добавляем в запрос дополнительные параметры. Параметры по умолчанию будут перезаписаны.
|
||||
# # добавитьПарамсы:
|
||||
# # Safe_prompt: true # Это поле характерно для Mistral AI: https://docs.mistral.ai/api/
|
||||
|
||||
# # Удалить параметры параметров по умолчанию из запроса. См. параметры по умолчанию в руководстве, указанном ниже.
|
||||
# # NOTE: Для Mistral необходимо сбросить следующие параметры, иначе вы столкнетесь с ошибкой 422:
|
||||
# dropParams: ['stop', 'user', 'frequency_penalty', 'presence_penalty']
|
||||
|
||||
# # OpenRouter Пример
|
||||
# - имя: 'OpenRouter'
|
||||
# # Для `apiKey` и `baseURL` вы можете использовать определенные вами переменные среды.
|
||||
# # рекомендуемые переменные среды:
|
||||
# apiKey: '${OPENROUTER_KEY}'
|
||||
# baseURL: 'https://openrouter.ai/api/v1'
|
||||
# модели:
|
||||
# default: ['meta-llama/llama-3-70b-instruct']
|
||||
# fetch: true
|
||||
# titleConvo: true
|
||||
# titleModel: 'meta-llama/llama-3-70b-instruct'
|
||||
# # Рекомендуется: удалить параметр остановки из запроса, поскольку модели Openrouter используют различные токены остановки.
|
||||
# dropParams: ['stop']
|
||||
# modelDisplayLabel: 'OpenRouter'
|
||||
|
||||
# # Портключ AI Пример
|
||||
# - имя: "Portkey"
|
||||
# apiKey: "dummy"
|
||||
# baseURL: 'https://api.portkey.ai/v1'
|
||||
# заголовки:
|
||||
# x-portkey-api-key: '${PORTKEY_API_KEY}'
|
||||
# x-portkey-virtual-key: '${PORTKEY_OPENAI_VIRTUAL_KEY}'
|
||||
# модели:
|
||||
# default: ['gpt-4o-mini', 'gpt-4o', 'chatgpt-4o-latest']
|
||||
# fetch: true
|
||||
# titleConvo: true
|
||||
# titleModel: 'current_model'
|
||||
# summarize: false
|
||||
# summaryModel: 'current_model'
|
||||
# forcePrompt: false
|
||||
# modelDisplayLabel: 'Portkey'
|
||||
# iconURL: https://images.crunchbase.com/image/upload/c_pad,f_auto,q_auto:eco,dpr_1/rjqy7ghvjoiu4cd1xjbf
|
||||
# файлконфигурация:
|
||||
# конечные точки:
|
||||
# помощники:
|
||||
# fileLimit: 5
|
||||
# fileSizeLimit: 10 # Максимальный размер отдельного файла в MB
|
||||
# totalSizeLimit: 50 # Максимальный общий размер всех файлов в одном запросе в MB
|
||||
# поддерживаемыеMimeTypes:
|
||||
# - "image/.*"
|
||||
# - "application/pdf"
|
||||
# опенАИ:
|
||||
# disabled: true # Отключает загрузку файлов на конечную точку OpenAI.
|
||||
# по умолчанию:
|
||||
# totalSizeLimit: 20
|
||||
# ВашеCustomEndpointName:
|
||||
# fileLimit: 2
|
||||
# fileSizeLimit: 5
|
||||
# serverFileSizeLimit: 100 # Ограничение размера файла глобального сервера в MB
|
||||
# avatarSizeLimit: 2 # Ограничение размера изображения аватара пользователя в MB
|
||||
# imageGeneration: # Image Gen settings, either percentage or px
|
||||
# percentage: 100
|
||||
# px: 1024
|
||||
# # Дополнительную информацию о конфигурации помощников см. в Руководстве по пользовательской настройке:
|
||||
# #https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/assistants_endpoint
|
||||
@@ -0,0 +1,103 @@
|
||||
manifestVersion: 1.1
|
||||
id: librechat
|
||||
name: LibreChat
|
||||
tagline: Улучшенный клон ChatGPT
|
||||
category: ai
|
||||
version: "v0.8.4"
|
||||
port: 7050
|
||||
description: >-
|
||||
Enhanced ChatGPT Clone: Features Agents, DeepSeek, Anthropic, AWS, OpenAI, Assistants API, Azure, Groq, o1, GPT-4o, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting.
|
||||
|
||||
|
||||
✨ Features
|
||||
- 🖥️ UI & Experience inspired by ChatGPT with enhanced design and features
|
||||
- 🤖 AI Model Selection:
|
||||
- Anthropic (Claude), AWS Bedrock, OpenAI, Azure OpenAI, Google, Vertex AI, OpenAI Assistants API (incl. Azure)
|
||||
- Custom Endpoints: Use any OpenAI-compatible API with LibreChat, no proxy required
|
||||
- Compatible with Local & Remote AI Providers:
|
||||
- Ollama, groq, Cohere, Mistral AI, Apple MLX, koboldcpp, together.ai,
|
||||
- OpenRouter, Perplexity, ShuttleAI, Deepseek, Qwen, and more
|
||||
- 🔧 Code Interpreter API:
|
||||
- Secure, Sandboxed Execution in Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, and Fortran
|
||||
- Seamless File Handling: Upload, process, and download files directly
|
||||
- No Privacy Concerns: Fully isolated and secure execution
|
||||
- 🔦 Agents & Tools Integration:
|
||||
- LibreChat Agents:
|
||||
- No-Code Custom Assistants: Build specialized, AI-driven helpers without coding
|
||||
- Flexible & Extensible: Attach tools like DALL-E-3, file search, code execution, and more
|
||||
- Compatible with Custom Endpoints, OpenAI, Azure, Anthropic, AWS Bedrock, and more
|
||||
- Model Context Protocol (MCP) Support for Tools
|
||||
- Use LibreChat Agents and OpenAI Assistants with Files, Code Interpreter, Tools, and API Actions
|
||||
- 🔍 Web Search:
|
||||
- Search the internet and retrieve relevant information to enhance your AI context
|
||||
- Combines search providers, content scrapers, and result rerankers for optimal results
|
||||
- 🪄 Generative UI with Code Artifacts:
|
||||
- Code Artifacts allow creation of React, HTML, and Mermaid diagrams directly in chat
|
||||
- 🎨 Image Generation & Editing
|
||||
- Text-to-image and image-to-image with GPT-Image-1
|
||||
- Text-to-image with DALL-E (3/2), Stable Diffusion, Flux, or any MCP server
|
||||
- Produce stunning visuals from prompts or refine existing images with a single instruction
|
||||
- 💾 Presets & Context Management:
|
||||
- Create, Save, & Share Custom Presets
|
||||
- Switch between AI Endpoints and Presets mid-chat
|
||||
- Edit, Resubmit, and Continue Messages with Conversation branching
|
||||
- Fork Messages & Conversations for Advanced Context control
|
||||
- 💬 Multimodal & File Interactions:
|
||||
- Upload and analyze images with Claude 3, GPT-4.5, GPT-4o, o1, Llama-Vision, and Gemini 📸
|
||||
- Chat with Files using Custom Endpoints, OpenAI, Azure, Anthropic, AWS Bedrock, & Google 🗃️
|
||||
- 🌎 Multilingual UI:
|
||||
- English, 中文, Deutsch, Español, Français, Italiano, Polski, Português Brasileiro
|
||||
- Русский, 日本語, Svenska, 한국어, Tiếng Việt, 繁體中文, العربية, Türkçe, Nederlands, עברית
|
||||
- 🧠 Reasoning UI:
|
||||
- Dynamic Reasoning UI for Chain-of-Thought/Reasoning AI models like DeepSeek-R1
|
||||
- 🎨 Customizable Interface:
|
||||
- Customizable Dropdown & Interface that adapts to both power users and newcomers
|
||||
- 🗣️ Speech & Audio:
|
||||
- Chat hands-free with Speech-to-Text and Text-to-Speech
|
||||
- Automatically send and play Audio
|
||||
- Supports OpenAI, Azure OpenAI, and Elevenlabs
|
||||
- 📥 Import & Export Conversations:
|
||||
- Import Conversations from LibreChat, ChatGPT, Chatbot UI
|
||||
- Export conversations as screenshots, markdown, text, json
|
||||
- 🔍 Search & Discovery:
|
||||
- Search all messages/conversations
|
||||
- 👥 Multi-User & Secure Access:
|
||||
- Multi-User, Secure Authentication with OAuth2, LDAP, & Email Login Support
|
||||
- Built-in Moderation, and Token spend tools
|
||||
- ⚙️ Configuration & Deployment:
|
||||
- Configure Proxy, Reverse Proxy, Docker, & many Deployment options
|
||||
- Use completely local or deploy on the cloud
|
||||
- 📖 Open-Source & Community:
|
||||
- Completely Open-Source & Built in Public
|
||||
- Community-driven development, support, and feedback
|
||||
developer: Danny Avila
|
||||
website: https://librechat.ai/
|
||||
submitter: al-lac
|
||||
submission: https://github.com/getumbrel/dfwebos-apps/pull/2947
|
||||
repo: https://github.com/danny-avila/LibreChat
|
||||
support: https://github.com/danny-avila/LibreChat/issues
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
defaultUsername: "dfwebos@dfwebos.local"
|
||||
defaultPassword: ""
|
||||
deterministicPassword: true
|
||||
dependencies: []
|
||||
releaseNotes: >-
|
||||
🚨 Этот выпуск включает более 30 исправлений безопасности и настоятельно рекомендуется для всех развертываний.
|
||||
|
||||
|
||||
Ключевые моменты:
|
||||
- Значительное усиление безопасности с более чем 30 исправлениями безопасности во всем приложении.
|
||||
- Улучшения MCP, включая предотвращение штормов при повторном подключении, исправления условий гонки OAuth и улучшенный пользовательский интерфейс STDIO.
|
||||
- Заменена библиотека токенизации на более легкую и быструю альтернативу.
|
||||
- Рендеринг артефактов теперь использует статический HTML для более надежного отображения.
|
||||
- Добавлена поддержка встроенного парсера документов ODT.
|
||||
- Поддержка неаутентифицированных SMTP-реле.
|
||||
- Улучшения доступности для заголовков разговоров и групп дат.
|
||||
- Общие ссылки теперь по умолчанию являются частными.
|
||||
|
||||
|
||||
Полные примечания к выпуску можно найти по адресу https://www.librechat.ai/changelog.
|
||||
path: ""
|
||||
@@ -0,0 +1,81 @@
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: librechat_api_1
|
||||
APP_PORT: 3080
|
||||
|
||||
api:
|
||||
image: ghcr.io/danny-avila/librechat:v0.8.4@sha256:89b0008e610e1dad635d866c09e007e308a145ce764d1eba7c8c6de7414d934b
|
||||
restart: on-failure
|
||||
user: "1000:1000"
|
||||
command: npm run backend:dev
|
||||
env_file:
|
||||
- path: ${APP_DATA_DIR}/.env
|
||||
environment:
|
||||
- HOST=0.0.0.0
|
||||
- MONGO_URI=mongodb://librechat_mongodb_1:27017/LibreChat
|
||||
- MEILI_HOST=http://librechat_meilisearch_1:7700
|
||||
- RAG_PORT=8000
|
||||
- RAG_API_URL=http://librechat_rag_api_1:8000
|
||||
- OPENAI_API_KEY=user_provided
|
||||
- GOOGLE_KEY=user_provided
|
||||
- ANTHROPIC_API_KEY=user_provided
|
||||
- ASSISTANTS_API_KEY=user_provided
|
||||
- CREDS_KEY=f34be427ebb29de8d88c107a71546019685ed8b241d8f2ed00c3df97ad2566f0
|
||||
- CREDS_IV=e2341419ec3dd3d19b13a1a87fafcbfb
|
||||
- JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef
|
||||
- JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/api/librechat.yaml:/app/librechat.yaml
|
||||
- ${APP_DATA_DIR}/data/api/images:/app/client/public/images
|
||||
- ${APP_DATA_DIR}/data/api/uploads:/app/uploads
|
||||
- ${APP_DATA_DIR}/data/api/logs:/app/api/logs
|
||||
depends_on:
|
||||
- mongodb
|
||||
- rag_api
|
||||
|
||||
mongodb:
|
||||
image: mongo:8.0.10@sha256:15fb53a5160ebabff5ecade8f8b5d48721b68ea190957a7f35b5b38e8340e62b
|
||||
restart: on-failure
|
||||
user: "1000:1000"
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/db:/data/db
|
||||
command: mongod --noauth
|
||||
|
||||
meilisearch:
|
||||
image: getmeili/meilisearch:v1.12.3@sha256:4acfcbbb9e089aa1aac838cfda3fba7f07aaaef044c23da8acbe0ab741400dac
|
||||
restart: on-failure
|
||||
user: "1000:1000"
|
||||
environment:
|
||||
- MEILI_HOST=http://librechat_meilisearch_1:7700
|
||||
- MEILI_NO_ANALYTICS=true
|
||||
- MEILI_MASTER_KEY=DrhYf7zENyR6AlUCKmnz0eYASOQdl6zxH7s7MKFSfFCt
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/meilisearch:/meili_data
|
||||
|
||||
vectordb:
|
||||
image: ankane/pgvector:v0.5.1@sha256:d3a9d8ac27bb7e05e333ef25b634d2625adaa85336ab729954b9e94859bf6fa7
|
||||
environment:
|
||||
POSTGRES_DB: mydatabase
|
||||
POSTGRES_USER: myuser
|
||||
POSTGRES_PASSWORD: mypassword
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/vectordb:/var/lib/postgresql/data
|
||||
|
||||
rag_api:
|
||||
image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:v0.7.3@sha256:67dba8e1e5707a795f2188d1e345f23b8ebf3bf75365026395edec76474cefa6
|
||||
env_file:
|
||||
- path: ${APP_DATA_DIR}/.env
|
||||
environment:
|
||||
- DB_HOST=librechat_vectordb_1
|
||||
- RAG_PORT=8000
|
||||
- OPENAI_API_KEY=user_provided
|
||||
- GOOGLE_KEY=user_provided
|
||||
- ANTHROPIC_API_KEY=user_provided
|
||||
- ASSISTANTS_API_KEY=user_provided
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
- vectordb
|
||||
Executable
+55
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# дозорный файл, чтобы проверить, был ли уже инициализирован пользователь
|
||||
USER_SENTINEL="${APP_DATA_DIR}/.user_created"
|
||||
|
||||
# имя пользователя и адрес электронной почты по умолчанию
|
||||
USER_NAME="DFWebOS"
|
||||
USER_EMAIL="dfwebos@dfwebos.local"
|
||||
|
||||
# максимальное количество попыток и время ожидания между ними (60 секунд)
|
||||
MAX_TRIES=12
|
||||
SLEEP_SECS=5
|
||||
|
||||
# ───────────────────────────────────────────────────────────
|
||||
# Полностью пропустить загрузку, если пользователь уже инициализирован
|
||||
# ───────────────────────────────────────────────────────────
|
||||
if [[ -f "$USER_SENTINEL" ]]; then
|
||||
echo "Librechat: user already initialised - skipping bootstrap."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ───────────────────────────────────────────────────────────
|
||||
# Подключите весь стек, чтобы миграция выполнялась автоматически.
|
||||
# Вероятно, здесь можно вызвать только необходимые сервисы, но делаем это для простоты.
|
||||
# --wait игнорируется в старых версиях Compose (DFWebOS < 1.0)
|
||||
# ───────────────────────────────────────────────────────────
|
||||
echo "Librechat: starting full stack to run migrations…"
|
||||
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" \
|
||||
up -d --wait --wait-timeout 90
|
||||
|
||||
# ───────────────────────────────────────────────────────────
|
||||
# Повторяйте попытку, пока пользователь не будет создан (максимум 60 секунд).
|
||||
# Все контейнеры запущены, поэтому с первой попытки все должно получиться.
|
||||
# Но включение цикла повторов для надежности
|
||||
# ───────────────────────────────────────────────────────────
|
||||
echo "Librechat: ensuring user exists…"
|
||||
for ((try=1; try<=MAX_TRIES; try++)); do
|
||||
# - В случае успеха помощник завершает работу из 0, сообщая включающему циклу, что мы закончили.
|
||||
if "${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" exec -T api node config/create-user.js "${USER_EMAIL}" "${USER_NAME}" "${USER_NAME}" "${APP_PASSWORD}" --email-verified=true ; then
|
||||
touch "$USER_SENTINEL"
|
||||
echo "Librechat: user ready."
|
||||
break
|
||||
fi
|
||||
echo " Attempt $try/$MAX_TRIES failed - retrying in ${SLEEP_SECS}s…"
|
||||
sleep "$SLEEP_SECS"
|
||||
done
|
||||
|
||||
if [[ ! -f "$USER_SENTINEL" ]]; then
|
||||
echo "Librechat ERROR: could not create user after $MAX_TRIES attempts."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Librechat: bootstrap finished - stopping stack for clean start…"
|
||||
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" stop
|
||||
Reference in New Issue
Block a user