mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-08 11:38:51 +01:00
* Added fully functioning Agent Tool supporting Google's Nano Banana * 🔧 refactor: Update Google credentials handling in GeminiImageGen.js * Refactored the credentials path to follow a consistent pattern with other Google service integrations, allowing for an environment variable override. * Updated documentation in README-GeminiNanoBanana.md to reflect the new credentials handling approach and removed references to hardcoded paths. * 🛠️ refactor: Remove unnecessary whitespace in handleTools.js * 🔧 feat: Update Gemini Image Generation Tool - Bump @google/genai package version to ^1.19.0 for improved functionality. - Refactor GeminiImageGen to createGeminiImageTool for better clarity and consistency. - Enhance manifest.json for Gemini Image Tools with updated descriptions and icon. - Add SVG icon for Gemini Image Tools. - Implement progress tracking for Gemini image generation in the UI. - Introduce new toolkit and context handling for image generation tools. This update improves the Gemini image generation capabilities and user experience. * 🗑️ chore: Remove outdated Gemini image generation PNG and update SVG icon - Deleted the obsolete PNG file for Gemini image generation. - Updated the SVG icon with a new design featuring a gradient and shadow effect, enhancing visual appeal and consistency. * fix: ESLint formatting and unused variable in GeminiImageGen * fix: Update default model to gemini-2.5-flash-image * ✨ feat: Enhance Gemini Image Generation Configuration - Updated .env.example to include new environment variables for Google Cloud region, service account configuration, and Gemini API key options. - Modified GeminiImageGen.js to support both user-provided API keys and Vertex AI service accounts, improving flexibility in client initialization. - Updated manifest.json to reflect changes in authentication methods for the Gemini Image Tools. - Bumped @google/genai package version to 1.19.0 in package-lock.json for compatibility with new features. * 🔧 fix: Format Default Service Key Path in GeminiImageGen.js - Adjusted the return statement in getDefaultServiceKeyPath function for improved readability by formatting it across multiple lines. This change enhances code clarity without altering functionality. * ✨ feat: Enhance Gemini Image Generation with Token Usage Tracking - Added `recordTokenUsage` function to track token usage for balance management. - Integrated token recording into the image generation process. - Updated Gemini image generation tool to accept optional `aspectRatio` and `imageSize` parameters for improved image customization. - Updated token values for new Gemini models in the transaction model. - Improved documentation for image generation tool descriptions and parameters. * ✨ feat: Add new Gemini models for image generation token limits - Introduced token limits for 'gemini-3-pro-image' and 'gemini-2.5-flash-image' models. - Updated token values to enhance the Gemini image generation capabilities. * 🔧 fix: Update Google Service Key Path for Consistency in Initialization (#11001) * 🔧 refactor: Update GeminiImageGen for improved file handling and path resolution - Changed the default service key path to use process.cwd() for better compatibility. - Replaced synchronous file system operations with asynchronous promises for mkdir and writeFile, enhancing performance and error handling. - Added error handling for credential file access to prevent crashes when the file does not exist. * 🔧 refactor: Update GeminiImageGen to streamline API key handling - Refactored API key checks to improve clarity and consistency. - Removed redundant checks for user-provided keys, enhancing code readability. - Ensured proper logging for API key usage across different configurations. * 🔧 fix: Update GeminiImageGen to handle imageSize support conditionally - Added a check to ensure imageSize is only applied if the gemini model does not include 'gemini-2.5-flash-image', improving compatibility. - Enhanced the logic for setting imageConfig to prevent potential issues with unsupported configurations. * 🔧 refactor: Simplify local storage condition in createGeminiImageTool function * 🔧 feat: Enhance image format handling in GeminiImageGen with conversion support * 🔧 refactor: Streamline API key initialization in GeminiImageGen - Simplified the handling of API keys by removing redundant checks for user-provided keys. - Updated logging to reflect the new priority order for API key usage, enhancing clarity and consistency. - Improved code readability by consolidating key retrieval logic. --------- Co-authored-by: Dev Bhanushali <dev.bhanushali@hingehealth.com> Co-authored-by: Danny Avila <danny@librechat.ai>
197 lines
7.2 KiB
JSON
197 lines
7.2 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": "YouTube",
|
|
"pluginKey": "youtube",
|
|
"toolkit": true,
|
|
"description": "Get YouTube video information, retrieve comments, analyze transcripts and search for videos.",
|
|
"icon": "https://www.youtube.com/s/desktop/7449ebf7/img/favicon_144x144.png",
|
|
"authConfig": [
|
|
{
|
|
"authField": "YOUTUBE_API_KEY",
|
|
"label": "YouTube API Key",
|
|
"description": "Your YouTube Data API v3 key."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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": "Browser",
|
|
"pluginKey": "web-browser",
|
|
"description": "Scrape and summarize webpage data",
|
|
"icon": "assets/web-browser.svg",
|
|
"authConfig": [
|
|
{
|
|
"authField": "OPENAI_API_KEY",
|
|
"label": "OpenAI API Key",
|
|
"description": "Browser makes use of OpenAI embeddings"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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||GEMINI_VERTEX_ENABLED",
|
|
"label": "Gemini API Key (Optional if Vertex AI is configured)",
|
|
"description": "Your Google Gemini API Key from <a href='https://aistudio.google.com/app/apikey' target='_blank'>Google AI Studio</a>. Leave blank if using Vertex AI with service account."
|
|
}
|
|
]
|
|
}
|
|
]
|