mirror of
https://github.com/langgenius/dify.git
synced 2026-11-13 06:41:07 +08:00
fix(web): allow current Qwen flash models in Agent V2 and refresh suggested models (#44873)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e8b9a3c7fa
commit
d4560ac032
2 files changed
+47
-5
No files matched your search
@@ -126,8 +126,9 @@ describe('isAgentCompatibleModel', () => {
|
||||
)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3-coder-plus'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.5-max'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.7-flash'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.5-flash'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen-flash'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen-mt-flash'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('farui-plus'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('chatglm-3-turbo'))).toBe(false)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('glm-3-turbo'))).toBe(false)
|
||||
@@ -172,6 +173,15 @@ describe('isAgentCompatibleModel', () => {
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('grok-4'))).toBe(true)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.7-max'))).toBe(true)
|
||||
})
|
||||
|
||||
it('should allow Qwen flash models from 3.6 onward', () => {
|
||||
const provider = createModel('any-provider')
|
||||
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.6-flash'))).toBe(true)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.7-flash'))).toBe(true)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.7-flash-2026-07-15'))).toBe(true)
|
||||
expect(isAgentCompatibleModel(provider, createModelItem('qwen3.8-flash'))).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe('isAgentSuggestedModel', () => {
|
||||
@@ -202,6 +212,31 @@ describe('isAgentSuggestedModel', () => {
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('other-model'))).toBe(false)
|
||||
})
|
||||
|
||||
it('should suggest the latest flagship models by their official plugin labels', () => {
|
||||
const provider = createModel('any-provider')
|
||||
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('claude-opus-4-8'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('claude-opus-4-7'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('claude-sonnet-4-6'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('claude-opus-5-5'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('claude-sonnet-5-5'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('claude-fable-5-1'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('gpt-6-astra'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('gpt-6-sol'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('gpt-6-luna'))).toBe(true)
|
||||
expect(
|
||||
isAgentSuggestedModel(
|
||||
provider,
|
||||
createModelItem('GPT-6 Luna (Question Classifier · Decisions)'),
|
||||
),
|
||||
).toBe(false)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('grok-4.6'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('qwen3.8-max'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('kimi-k3.1-pro'))).toBe(true)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('kimi-k3.1-pro-highspeed'))).toBe(false)
|
||||
expect(isAgentSuggestedModel(provider, createModelItem('glm-5.3'))).toBe(true)
|
||||
})
|
||||
|
||||
it('should evaluate suggestions against the English model label', () => {
|
||||
const provider = createModel('any-provider')
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ const agentIncompatibleModelPatterns: RegExp[] = [
|
||||
/^qwen2/i,
|
||||
/^qwen3-/i,
|
||||
/^qwen3\.5/i,
|
||||
/^qwen.*flash/i,
|
||||
/^farui-plus$/i,
|
||||
|
||||
// zhipu ai
|
||||
@@ -65,17 +64,22 @@ const agentSuggestedModelPatterns: RegExp[] = [
|
||||
/^gpt[ .-]5\.5$/i,
|
||||
/^gpt[ .-]5\.5[ .-]pro$/i,
|
||||
/^gpt[ .-]5\.6(?:[ .-](?:sol|terra|luna))?$/i,
|
||||
/^gpt[ .-]6[ .-](?:astra|sol|luna)$/i,
|
||||
|
||||
// anthropic
|
||||
/^(?:claude[ .-])?opus[ .-]4\.8$/i,
|
||||
/^(?:claude[ .-])?opus[ .-]4\.7$/i,
|
||||
/^(?:claude[ .-])?sonnet[ .-]4\.6$/i,
|
||||
/^(?:claude[ .-])?opus[ .-]4[ .-]8$/i,
|
||||
/^(?:claude[ .-])?opus[ .-]4[ .-]7$/i,
|
||||
/^(?:claude[ .-])?sonnet[ .-]4[ .-]6$/i,
|
||||
/^(?:claude[ .-])?opus[ .-]5[ .-]5$/i,
|
||||
/^(?:claude[ .-])?sonnet[ .-]5[ .-]5$/i,
|
||||
/^(?:claude[ .-])?fable[ .-]5[ .-]1$/i,
|
||||
|
||||
// The Gemini model plugin quality is not strong enough yet, so do not recommend it for now.
|
||||
// /^gemini 3\.1 pro preview$/i,
|
||||
|
||||
// x
|
||||
/^grok[ .-]4\.3$/i,
|
||||
/^grok[ .-]4\.6$/i,
|
||||
|
||||
// deepseek
|
||||
/^deepseek[ .-]v4[ .-]pro$/i,
|
||||
@@ -83,16 +87,19 @@ const agentSuggestedModelPatterns: RegExp[] = [
|
||||
|
||||
// qwen
|
||||
/^qwen[ .-]?3\.7[ .-]max$/i,
|
||||
/^qwen[ .-]?3\.8[ .-]max$/i,
|
||||
/^qwen[ .-]?3[ .-]coder[ .-]plus$/i,
|
||||
|
||||
// moonshot
|
||||
/^kimi[ .-]k2\.6$/i,
|
||||
/^kimi[ .-]k3\.1[ .-]pro$/i,
|
||||
|
||||
// minimax
|
||||
/^minimax[ .-]m3$/i,
|
||||
|
||||
// zhipuai
|
||||
/^glm[ .-]5\.1$/i,
|
||||
/^glm[ .-]5\.3$/i,
|
||||
]
|
||||
|
||||
export function isAgentCompatibleModel(
|
||||
|
||||
Reference in new issue
Block a user