[!WARNING] This project's plugin feature is based on the OpenAI Function Calling API for implementation. Forwarding GitHub Copilot interface or similar simulated interfaces will not be able to correctly call the plugin feature!
[Experimental] Added function calling support for the new Claude model.
Since Anthropic does not provide an embedding model, please add the ollama embedding model configuration for the RAG feature. If not configured, the WebBrowser and PDFBrowser plugins will not be usable.
I18n: English, 简体中文, 繁体中文, 日本語, Français, Español, Italiano, Türkçe, Deutsch, Tiếng Việt, Русский, Čeština, 한국어, Indonesia.
[x] Support using DuckDuckGo as the default search engine
If not configured, it will default to using DuckDuckGo as the search plugin.
[x] Plugin list page development
[x] Support enabling/disabling specified plugins
[x] Support Agent parameter configuration ( maxIterations, returnIntermediateSteps, etc.)
[x] Support enabling/disabling plugins at the ChatSession level
Only when using models other than 0301 and 0314 will there be a plugin switch, other models are off by default and the switch will not be displayed.
The latest version has removed the above two models.
[x] Support voice input
[x] Support uploading other file types
[ ] Support Azure Storage
[ ] Support Fooocus-API plugin
[ ] Support configuring the Key required for the plugin in the UI
Please refer to the documentation RAG Function Configuration Guide
Support General Search (Model is not a plugin to support online search)
TAVILY_API_KEYRegistration address: https://tavily.com
In addition to plugin tools, retains the features of the original project Main Features of ChatGPT-Next-Web
Supports TTS (Text-to-Speech)
EDGE_TTS_VOICE_NAME(Paid) OpenAI TTS
Supports speech input, requires HTTPS access
Supports GPT-4V model (vision)
Synchronized the way the vision model is called from the upstream repository (image compression), still at risk of exceeding LocalStorage limits "LocalStorage maximum size is 5MB. It seems other storage solutions are needed for images.", will adjust to use object storage services for images if similar issues occur.
Plugin functionality based on LangChain, currently supporting the following plugins, more to come in the future
Search (priority: GoogleCustomSearch > SerpAPI > BingSerpAPI > ChooseSearchEngine > DuckDuckGo)
Environment variables:
GOOGLE_PLUGIN_API_PROXY_PREFIX and DDG_API_PROXY_PREFIX use similar methodsGOOGLE_SEARCH_API_KEYGOOGLE_CSE_IDRegistration guide: Guide
Environment variable: SERPAPI_API_KEY
Registration link: SerpApi: Google Search API
Environment variable: BING_SEARCH_API_KEY
Registration link: Web Search API | Microsoft Bing
ChooseSearchEngine (author: hang666)
Environment variables:
CHOOSE_SEARCH_ENGINEGOOGLE_PLUGIN_API_PROXY_PREFIX and DDG_API_PROXY_PREFIX use similar methods, will only proxy for GoogleAvailable options:
- google
- baidu
Explanation: this option connects directly to the search engine, avoiding concerns about API trial limits, but may be unavailable due to network issues.
⚠ Note: Unstable calls are known in the vercel environment
DuckDuckGo
Environment variable: DDG_API_PROXY_PREFIX
After configuration, the config content will be prepended to DuckDuckGo plugin-related interfaces. For example, DDG_API_PROXY_PREFIX=https://example.com/ will make the final request: https://example.com/https://duckduckgo.com
Can be combined with similar proxy projects like 1234567Yang/cf-proxy-ex to proxy DuckDuckGo plugin-related interfaces.
Calculations
WOLFRAM_ALPHA_APP_IDNetwork Requests
text-embedding-ada-002text-embedding-ada-002Others
DALLE_NO_IMAGE_STORAGE=1, this will use the temporary URL returned by the DALL-E service to display images. Note: the link is time-sensitive.dall-e-3. To use dall-e-2, configure the environment variable DALLE_MODEL=dall-e-2.BILIBILI_COOKIES.BILIVID_METAPROCESS_SERVER_ADDRESS.BILIBILI_COOKIES.Supports gemini-pro, gemini-pro-vision models
GOOGLE_API_KEY, which can be obtained here: https://ai.google.dev/tutorials/setupGEMINI_BASE_URL, you can use my project to set up a proxy service based on vercel: vercel-ai-proxy⚠ Note about gemini-pro-vision here:
Add an image to use models/gemini-pro-vision, or switch your model to a text model.Multiturn chat is not enabled for models/gemini-pro-vision.Supports local storage when not running on Vercel
If your program is not running in the Vercel environment and you haven’t configured the S3_ENDPOINT and R2_ACCOUNT_ID parameters, uploaded files will be saved by default in the /app/uploads directory.
Reverse ProxyAvailable when using the free ChatGPTUnofficialProxyAPI. Details
CODE (Optional)Access password, optional, multiple passwords can be separated by commas.
Warning: If you do not fill in this item, anyone can directly use your website after deployment, which may cause your token to be consumed quickly, so it is recommended that you fill in this item.
OPENAI_API_KEY (Required)OpanAI key, the API key you registered on the openai account page.
BASE_URL (Optional)Default:
https://api.openai.comExample:
http://your-openai-proxy.com
Openai interface proxy URL, if you manually configure the OpenAI interface agent, please fill in this option.
If you encounter SSL certificate issues, please set the protocol of
BASE_URLto http.
OPENAI_ORG_ID (Optional)Specify the OpenAI organization ID.
AZURE_URL (Optional)Example: https://{azure-resource-url}/openai/deployments
⚠️ Note: This is different from the configuration of the original project, no need to specify {deploy-name}, just change the model name to {deploy-name} to switch between different models.
⚠️ Plugins such as DALL-E that require OpenAI keys do not currently support Azure.
Azure deployment URL.
AZURE_API_KEY (Optional)Azure API key.
AZURE_API_VERSION (Optional)Azure API version, find it at Azure documentation.
GOOGLE_API_KEY (Optional)Google Gemini Pro API key.
GOOGLE_URL (Optional)Google Gemini Pro API URL.
ANTHROPIC_API_KEY (Optional)anthropic claude API key.
ANTHROPIC_API_VERSION (Optional)API version of anthropic claude.
ANTHROPIC_URL (Optional)API URL of anthropic claude.
BAIDU_API_KEY (Optional)Baidu API key.
BAIDU_SECRET_KEY (Optional)Baidu secret key.
BAIDU_URL (Optional)Baidu API URL.
BYTEDANCE_API_KEY (Optional)ByteDance API key.
BYTEDANCE_URL (Optional)ByteDance API URL.
ALIBABA_API_KEY (Optional)Alibaba Cloud API key.
ALIBABA_URL (Optional)Alibaba Cloud Api Url.
IFLYTEK_URL (Optional)iflytek Api Url.
IFLYTEK_API_KEY (Optional)iflytek Api Key.
IFLYTEK_API_SECRET (Optional)iflytek Api Secret.
STABILITY_API_KEY (Optional)Stability API key.
STABILITY_URL (Optional)Custom stability API url.
DEEPSEEK_API_KEY (Optional)DeepSeek Api Key.
DEEPSEEK_URL (Optional)DeepSeek Api Url.
SILICONFLOW_API_KEY (Optional)Silicon-based flow API Key.
SILICONFLOW_URL (Optional)Silicon-based flow API URL.
TAVILY_API_KEYTavily API Key for universal search capabilities Get the address: https://tavily.com
TAVILY_MAX_RETURNS (Optional)The maximum number of results returned by the general search function, default is 10
HIDE_USER_API_KEY (Optional)Default: Empty
If you don't want users to enter their own API key, set this value to 1.
DISABLE_GPT4 (Optional)Default: Empty
If you don't want users to use GPT-4, set this value to 1.
ENABLE_BALANCE_QUERY (Optional)Default: Empty
If you want the user to query the balance, set this value to 1.
DISABLE_FAST_LINK (Optional)If you want to disable parsing prefab settings from links, set this environment variable to 1.
For Azure: use modelName@azure=deploymentName to customize the model name and deployment name.
Example:
+gpt-3.5-turbo@azure=gpt35will display the optiongpt35(Azure)in the model list. If you can only use the Azure model,-all,+gpt-3.5-turbo@azure=gpt35will makegpt35(Azure)the only option in the model list.
For ByteDance: use modelName@bytedance=deploymentName to customize the model name and deployment name.
Example:
+Doubao-lite-4k@bytedance=ep-xxxxx-xxxwill display the optionDoubao-lite-4k(ByteDance)in the model list.
CUSTOM_MODELS (Optional)Example:
+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-1106-preview=gpt-4-turbomeans addingqwen-7b-chatandglm-6bto the model list, while removinggpt-3.5-turbofrom the list, and displaying the model namegpt-4-1106-previewunder the namegpt-4-turbo. If you want to disable all models first, then enable the specified model, you can use-all,+gpt-3.5-turbo, which means only enablegpt-3.5-turbo.
Used to control the mode
$ claude mcp add ChatGPT-Plugins \
-- python -m otcore.mcp_server <graph>