mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 16:23:41 +08:00 
			
		
		
		
	Compare commits
	
		
			12 Commits
		
	
	
		
			Leizhenpen
			...
			08b761b431
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					08b761b431 | ||
| 
						 | 
					3809375694 | ||
| 
						 | 
					1b0de25986 | ||
| 
						 | 
					865c45dd29 | ||
| 
						 | 
					1f5d8e6d9c | ||
| 
						 | 
					c9ef6d58ed | ||
| 
						 | 
					2d7229d2b8 | ||
| 
						 | 
					11b37c15bd | ||
| 
						 | 
					1d0038f17d | ||
| 
						 | 
					619fa519c0 | ||
| 
						 | 
					48469bd8ca | ||
| 
						 | 
					1cf84d2106 | 
@@ -22,7 +22,7 @@ English / [简体中文](./README_CN.md)
 | 
				
			|||||||
[![MacOS][MacOS-image]][download-url]
 | 
					[![MacOS][MacOS-image]][download-url]
 | 
				
			||||||
[![Linux][Linux-image]][download-url]
 | 
					[![Linux][Linux-image]][download-url]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[NextChatAI](https://nextchat.club?utm_source=readme) / [Web App Demo](https://app.nextchat.dev) / [Desktop App](https://github.com/Yidadaa/ChatGPT-Next-Web/releases) / [Discord](https://discord.gg/YCkeafCafC) / [Enterprise Edition](#enterprise-edition) / [Twitter](https://twitter.com/NextChatDev)
 | 
					[NextChatAI](https://nextchat.club?utm_source=readme) / [iOS APP](https://apps.apple.com/us/app/nextchat-ai/id6743085599) / [Web App Demo](https://app.nextchat.dev) / [Desktop App](https://github.com/Yidadaa/ChatGPT-Next-Web/releases) / [Enterprise Edition](#enterprise-edition) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[saas-url]: https://nextchat.club?utm_source=readme
 | 
					[saas-url]: https://nextchat.club?utm_source=readme
 | 
				
			||||||
@@ -40,11 +40,12 @@ English / [简体中文](./README_CN.md)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 🥳 Cheer for DeepSeek, China's AI star!
 | 
					## 🥳 Cheer for NextChat iOS Version Online!
 | 
				
			||||||
 > Purpose-Built UI for DeepSeek Reasoner Model
 | 
					> [👉 Click Here to Install Now](https://apps.apple.com/us/app/nextchat-ai/id6743085599)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<img src="https://github.com/user-attachments/assets/f3952210-3af1-4dc0-9b81-40eaa4847d9a"/>
 | 
					> [❤️ Source Code Coming Soon](https://github.com/ChatGPTNextWeb/NextChat-iOS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
## 🫣 NextChat Support MCP  ! 
 | 
					## 🫣 NextChat Support MCP  ! 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -198,7 +198,8 @@ export class ChatGPTApi implements LLMApi {
 | 
				
			|||||||
    const isDalle3 = _isDalle3(options.config.model);
 | 
					    const isDalle3 = _isDalle3(options.config.model);
 | 
				
			||||||
    const isO1OrO3 =
 | 
					    const isO1OrO3 =
 | 
				
			||||||
      options.config.model.startsWith("o1") ||
 | 
					      options.config.model.startsWith("o1") ||
 | 
				
			||||||
      options.config.model.startsWith("o3");
 | 
					      options.config.model.startsWith("o3") ||
 | 
				
			||||||
 | 
					      options.config.model.startsWith("o4-mini");
 | 
				
			||||||
    if (isDalle3) {
 | 
					    if (isDalle3) {
 | 
				
			||||||
      const prompt = getMessageTextContent(
 | 
					      const prompt = getMessageTextContent(
 | 
				
			||||||
        options.messages.slice(-1)?.pop() as any,
 | 
					        options.messages.slice(-1)?.pop() as any,
 | 
				
			||||||
@@ -243,7 +244,7 @@ export class ChatGPTApi implements LLMApi {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // add max_tokens to vision model
 | 
					      // add max_tokens to vision model
 | 
				
			||||||
      if (visionModel) {
 | 
					      if (visionModel && !isO1OrO3) {
 | 
				
			||||||
        requestPayload["max_tokens"] = Math.max(modelConfig.max_tokens, 4000);
 | 
					        requestPayload["max_tokens"] = Math.max(modelConfig.max_tokens, 4000);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -417,6 +417,14 @@ export const KnowledgeCutOffDate: Record<string, string> = {
 | 
				
			|||||||
  "gpt-4-turbo": "2023-12",
 | 
					  "gpt-4-turbo": "2023-12",
 | 
				
			||||||
  "gpt-4-turbo-2024-04-09": "2023-12",
 | 
					  "gpt-4-turbo-2024-04-09": "2023-12",
 | 
				
			||||||
  "gpt-4-turbo-preview": "2023-12",
 | 
					  "gpt-4-turbo-preview": "2023-12",
 | 
				
			||||||
 | 
					  "gpt-4.1": "2024-06",
 | 
				
			||||||
 | 
					  "gpt-4.1-2025-04-14": "2024-06",
 | 
				
			||||||
 | 
					  "gpt-4.1-mini": "2024-06",
 | 
				
			||||||
 | 
					  "gpt-4.1-mini-2025-04-14": "2024-06",
 | 
				
			||||||
 | 
					  "gpt-4.1-nano": "2024-06",
 | 
				
			||||||
 | 
					  "gpt-4.1-nano-2025-04-14": "2024-06",
 | 
				
			||||||
 | 
					  "gpt-4.5-preview": "2023-10",
 | 
				
			||||||
 | 
					  "gpt-4.5-preview-2025-02-27": "2023-10",
 | 
				
			||||||
  "gpt-4o": "2023-10",
 | 
					  "gpt-4o": "2023-10",
 | 
				
			||||||
  "gpt-4o-2024-05-13": "2023-10",
 | 
					  "gpt-4o-2024-05-13": "2023-10",
 | 
				
			||||||
  "gpt-4o-2024-08-06": "2023-10",
 | 
					  "gpt-4o-2024-08-06": "2023-10",
 | 
				
			||||||
@@ -458,6 +466,7 @@ export const DEFAULT_TTS_VOICES = [
 | 
				
			|||||||
export const VISION_MODEL_REGEXES = [
 | 
					export const VISION_MODEL_REGEXES = [
 | 
				
			||||||
  /vision/,
 | 
					  /vision/,
 | 
				
			||||||
  /gpt-4o/,
 | 
					  /gpt-4o/,
 | 
				
			||||||
 | 
					  /gpt-4\.1/,
 | 
				
			||||||
  /claude-3/,
 | 
					  /claude-3/,
 | 
				
			||||||
  /gemini-1\.5/,
 | 
					  /gemini-1\.5/,
 | 
				
			||||||
  /gemini-exp/,
 | 
					  /gemini-exp/,
 | 
				
			||||||
@@ -469,6 +478,8 @@ export const VISION_MODEL_REGEXES = [
 | 
				
			|||||||
  /^dall-e-3$/, // Matches exactly "dall-e-3"
 | 
					  /^dall-e-3$/, // Matches exactly "dall-e-3"
 | 
				
			||||||
  /glm-4v/,
 | 
					  /glm-4v/,
 | 
				
			||||||
  /vl/i,
 | 
					  /vl/i,
 | 
				
			||||||
 | 
					  /o3/,
 | 
				
			||||||
 | 
					  /o4-mini/,
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const EXCLUDE_VISION_MODEL_REGEXES = [/claude-3-5-haiku-20241022/];
 | 
					export const EXCLUDE_VISION_MODEL_REGEXES = [/claude-3-5-haiku-20241022/];
 | 
				
			||||||
@@ -485,6 +496,14 @@ const openaiModels = [
 | 
				
			|||||||
  "gpt-4-32k-0613",
 | 
					  "gpt-4-32k-0613",
 | 
				
			||||||
  "gpt-4-turbo",
 | 
					  "gpt-4-turbo",
 | 
				
			||||||
  "gpt-4-turbo-preview",
 | 
					  "gpt-4-turbo-preview",
 | 
				
			||||||
 | 
					  "gpt-4.1",
 | 
				
			||||||
 | 
					  "gpt-4.1-2025-04-14",
 | 
				
			||||||
 | 
					  "gpt-4.1-mini",
 | 
				
			||||||
 | 
					  "gpt-4.1-mini-2025-04-14",
 | 
				
			||||||
 | 
					  "gpt-4.1-nano",
 | 
				
			||||||
 | 
					  "gpt-4.1-nano-2025-04-14",
 | 
				
			||||||
 | 
					  "gpt-4.5-preview",
 | 
				
			||||||
 | 
					  "gpt-4.5-preview-2025-02-27",
 | 
				
			||||||
  "gpt-4o",
 | 
					  "gpt-4o",
 | 
				
			||||||
  "gpt-4o-2024-05-13",
 | 
					  "gpt-4o-2024-05-13",
 | 
				
			||||||
  "gpt-4o-2024-08-06",
 | 
					  "gpt-4o-2024-08-06",
 | 
				
			||||||
@@ -499,6 +518,8 @@ const openaiModels = [
 | 
				
			|||||||
  "o1-mini",
 | 
					  "o1-mini",
 | 
				
			||||||
  "o1-preview",
 | 
					  "o1-preview",
 | 
				
			||||||
  "o3-mini",
 | 
					  "o3-mini",
 | 
				
			||||||
 | 
					  "o3",
 | 
				
			||||||
 | 
					  "o4-mini",
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const googleModels = [
 | 
					const googleModels = [
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								yarn.lock
									
									
									
									
									
								
							@@ -2423,6 +2423,11 @@
 | 
				
			|||||||
  resolved "https://registry.npmmirror.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
 | 
					  resolved "https://registry.npmmirror.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
 | 
				
			||||||
  integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
 | 
					  integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@types/trusted-types@^2.0.7":
 | 
				
			||||||
 | 
					  version "2.0.7"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
 | 
				
			||||||
 | 
					  integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@types/unist@*", "@types/unist@^2.0.0":
 | 
					"@types/unist@*", "@types/unist@^2.0.0":
 | 
				
			||||||
  version "2.0.6"
 | 
					  version "2.0.6"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
 | 
					  resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
 | 
				
			||||||
@@ -3958,9 +3963,11 @@ domhandler@^4.2.0, domhandler@^4.3.1:
 | 
				
			|||||||
    domelementtype "^2.2.0"
 | 
					    domelementtype "^2.2.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dompurify@^3.0.5:
 | 
					dompurify@^3.0.5:
 | 
				
			||||||
  version "3.0.5"
 | 
					  version "3.2.4"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.5.tgz#eb3d9cfa10037b6e73f32c586682c4b2ab01fbed"
 | 
					  resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.2.4.tgz#af5a5a11407524431456cf18836c55d13441cd8e"
 | 
				
			||||||
  integrity sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==
 | 
					  integrity sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==
 | 
				
			||||||
 | 
					  optionalDependencies:
 | 
				
			||||||
 | 
					    "@types/trusted-types" "^2.0.7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
domutils@^2.8.0:
 | 
					domutils@^2.8.0:
 | 
				
			||||||
  version "2.8.0"
 | 
					  version "2.8.0"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user