mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-02-25 03:44:09 +01:00
* chore: saveToCloudStorage function and enhance error handling - Removed unnecessary parameters and streamlined the logic for saving images to cloud storage. - Introduced buffer handling for base64 image data and improved the integration with file strategy functions. - Enhanced error handling during local image saving to ensure robustness. - Updated the createGeminiImageTool function to reflect changes in the saveToCloudStorage implementation. * refactor: streamline image persistence logic in GeminiImageGen - Consolidated image saving functionality by renaming and refactoring the saveToCloudStorage function to persistGeneratedImage. - Improved error handling and logging for image persistence operations. - Enhanced the replaceUnwantedChars function to better sanitize input strings. - Updated createGeminiImageTool to reflect changes in image handling and ensure consistent behavior across storage strategies. * fix: clean up GeminiImageGen by removing unused functions and improving logging - Removed the getSafeFormat and persistGeneratedImage functions to streamline image handling. - Updated logging in createGeminiImageTool for clarity and consistency. - Consolidated imports by eliminating unused dependencies, enhancing code maintainability. * chore: update environment configuration and manifest for unused GEMINI_VERTEX_ENABLED - Removed the Vertex AI configuration option from .env.example to simplify setup. - Updated the manifest.json to reflect the removal of the Vertex AI dependency in the authentication field. - Cleaned up the createGeminiImageTool function by eliminating unused fields related to Vertex AI, streamlining the code. * fix: update loadAuthValues call in loadTools function for GeminiImageGen tool - Modified the loadAuthValues function call to include throwError: false, preventing exceptions on authentication failures. - Removed the unused processFileURL parameter from the tool context object, streamlining the code. * refactor: streamline GoogleGenAI initialization in GeminiImageGen - Removed unused file system access check for Google application credentials, simplifying the environment setup. - Added googleAuthOptions to the GoogleGenAI instantiation, enhancing the configuration for authentication. * fix: update Gemini API Key label and description in manifest.json - Changed the label to indicate that the Gemini API Key is optional. - Revised the description to clarify usage with Vertex AI and service accounts, enhancing user guidance. * fix: enhance abort signal handling in createGeminiImageTool - Introduced derivedSignal to manage abort events during image generation, improving responsiveness to cancellation requests. - Added an abortHandler to log when image generation is aborted, enhancing debugging capabilities. - Ensured proper cleanup of event listeners in the finally block to prevent memory leaks. * fix: update authentication handling for plugins to support optional fields - Added support for optional authentication fields in the manifest and PluginAuthForm. - Updated the checkPluginAuth function to correctly validate plugins with optional fields. - Enhanced tests to cover scenarios with optional authentication fields, ensuring accurate validation logic.
171 lines
6.5 KiB
JSON
171 lines
6.5 KiB
JSON
[
|
|
{
|
|
"name": "Traversaal",
|
|
"pluginKey": "traversaal_search",
|
|
"description": "Traversaal is a robust search API tailored for LLM Agents. Get an API key here: https://api.traversaal.ai",
|
|
"icon": "https://traversaal.ai/favicon.ico",
|
|
"authConfig": [
|
|
{
|
|
"authField": "TRAVERSAAL_API_KEY",
|
|
"label": "Traversaal API Key",
|
|
"description": "Get your API key here: <a href=\"https://api.traversaal.ai\" target=\"_blank\">https://api.traversaal.ai</a>"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Google",
|
|
"pluginKey": "google",
|
|
"description": "Use Google Search to find information about the weather, news, sports, and more.",
|
|
"icon": "https://i.imgur.com/SMmVkNB.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "GOOGLE_CSE_ID",
|
|
"label": "Google CSE ID",
|
|
"description": "This is your Google Custom Search Engine ID. For instructions on how to obtain this, see <a href='https://github.com/danny-avila/LibreChat/blob/main/docs/features/plugins/google_search.md'>Our Docs</a>."
|
|
},
|
|
{
|
|
"authField": "GOOGLE_SEARCH_API_KEY",
|
|
"label": "Google API Key",
|
|
"description": "This is your Google Custom Search API Key. For instructions on how to obtain this, see <a href='https://github.com/danny-avila/LibreChat/blob/main/docs/features/plugins/google_search.md'>Our Docs</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "OpenAI Image Tools",
|
|
"pluginKey": "image_gen_oai",
|
|
"toolkit": true,
|
|
"description": "Image Generation and Editing using OpenAI's latest state-of-the-art models",
|
|
"icon": "assets/image_gen_oai.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "IMAGE_GEN_OAI_API_KEY",
|
|
"label": "OpenAI Image Tools API Key",
|
|
"description": "Your OpenAI API Key for Image Generation and Editing"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Wolfram",
|
|
"pluginKey": "wolfram",
|
|
"description": "Access computation, math, curated knowledge & real-time data through Wolfram|Alpha and Wolfram Language.",
|
|
"icon": "https://www.wolframcdn.com/images/icons/Wolfram.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "WOLFRAM_APP_ID",
|
|
"label": "Wolfram App ID",
|
|
"description": "An AppID must be supplied in all calls to the Wolfram|Alpha API. You can get one by registering at <a href='http://products.wolframalpha.com/api/'>Wolfram|Alpha</a> and going to the <a href='https://developer.wolframalpha.com/portal/myapps/'>Developer Portal</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "DALL-E-3",
|
|
"pluginKey": "dalle",
|
|
"description": "[DALL-E-3] Create realistic images and art from a description in natural language",
|
|
"icon": "https://i.imgur.com/u2TzXzH.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "DALLE3_API_KEY||DALLE_API_KEY",
|
|
"label": "OpenAI API Key",
|
|
"description": "You can use DALL-E with your API Key from OpenAI."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Tavily Search",
|
|
"pluginKey": "tavily_search_results_json",
|
|
"description": "Tavily Search is a robust search API tailored for LLM Agents. It seamlessly integrates with diverse data sources to ensure a superior, relevant search experience.",
|
|
"icon": "https://tavily.com/favicon.ico",
|
|
"authConfig": [
|
|
{
|
|
"authField": "TAVILY_API_KEY",
|
|
"label": "Tavily API Key",
|
|
"description": "Get your API key here: https://app.tavily.com/"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Calculator",
|
|
"pluginKey": "calculator",
|
|
"description": "Perform simple and complex mathematical calculations.",
|
|
"icon": "https://i.imgur.com/RHsSG5h.png",
|
|
"authConfig": []
|
|
},
|
|
{
|
|
"name": "Stable Diffusion",
|
|
"pluginKey": "stable-diffusion",
|
|
"description": "Generate photo-realistic images given any text input.",
|
|
"icon": "https://i.imgur.com/Yr466dp.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "SD_WEBUI_URL",
|
|
"label": "Your Stable Diffusion WebUI API URL",
|
|
"description": "You need to provide the URL of your Stable Diffusion WebUI API. For instructions on how to obtain this, see <a href='url'>Our Docs</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Azure AI Search",
|
|
"pluginKey": "azure-ai-search",
|
|
"description": "Use Azure AI Search to find information",
|
|
"icon": "https://i.imgur.com/E7crPze.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "AZURE_AI_SEARCH_SERVICE_ENDPOINT",
|
|
"label": "Azure AI Search Endpoint",
|
|
"description": "You need to provide your Endpoint for Azure AI Search."
|
|
},
|
|
{
|
|
"authField": "AZURE_AI_SEARCH_INDEX_NAME",
|
|
"label": "Azure AI Search Index Name",
|
|
"description": "You need to provide your Index Name for Azure AI Search."
|
|
},
|
|
{
|
|
"authField": "AZURE_AI_SEARCH_API_KEY",
|
|
"label": "Azure AI Search API Key",
|
|
"description": "You need to provide your API Key for Azure AI Search."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "OpenWeather",
|
|
"pluginKey": "open_weather",
|
|
"description": "Get weather forecasts and historical data from the OpenWeather API",
|
|
"icon": "assets/openweather.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "OPENWEATHER_API_KEY",
|
|
"label": "OpenWeather API Key",
|
|
"description": "Sign up at <a href=\"https://home.openweathermap.org/users/sign_up\" target=\"_blank\">OpenWeather</a>, then get your key at <a href=\"https://home.openweathermap.org/api_keys\" target=\"_blank\">API keys</a>."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Flux",
|
|
"pluginKey": "flux",
|
|
"description": "Generate images using text with the Flux API.",
|
|
"icon": "https://blackforestlabs.ai/wp-content/uploads/2024/07/bfl_logo_retraced_blk.png",
|
|
"isAuthRequired": "true",
|
|
"authConfig": [
|
|
{
|
|
"authField": "FLUX_API_KEY",
|
|
"label": "Your Flux API Key",
|
|
"description": "Provide your Flux API key from your user profile."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Gemini Image Tools",
|
|
"pluginKey": "gemini_image_gen",
|
|
"toolkit": true,
|
|
"description": "Generate high-quality images using Google's Gemini Image Models. Supports Gemini API or Vertex AI.",
|
|
"icon": "assets/gemini_image_gen.svg",
|
|
"authConfig": [
|
|
{
|
|
"authField": "GEMINI_API_KEY||GOOGLE_KEY||GOOGLE_SERVICE_KEY_FILE",
|
|
"label": "Gemini API Key (optional)",
|
|
"description": "Your Google Gemini API Key from <a href='https://aistudio.google.com/app/apikey' target='_blank'>Google AI Studio</a>. Leave blank to use Vertex AI with a service account (GOOGLE_SERVICE_KEY_FILE or api/data/auth.json).",
|
|
"optional": true
|
|
}
|
|
]
|
|
}
|
|
]
|