@lobehub/chat 1.51.7 → 1.51.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.ja-JP.md +8 -8
  3. package/README.md +8 -8
  4. package/README.zh-CN.md +8 -8
  5. package/changelog/v1.json +18 -0
  6. package/locales/ar/common.json +1 -1
  7. package/locales/ar/modelProvider.json +0 -20
  8. package/locales/ar/models.json +108 -3
  9. package/locales/bg-BG/common.json +1 -1
  10. package/locales/bg-BG/modelProvider.json +0 -20
  11. package/locales/bg-BG/models.json +108 -3
  12. package/locales/de-DE/common.json +1 -1
  13. package/locales/de-DE/modelProvider.json +0 -20
  14. package/locales/de-DE/models.json +108 -3
  15. package/locales/en-US/common.json +1 -1
  16. package/locales/en-US/modelProvider.json +0 -20
  17. package/locales/en-US/models.json +108 -3
  18. package/locales/es-ES/common.json +1 -1
  19. package/locales/es-ES/modelProvider.json +0 -20
  20. package/locales/es-ES/models.json +108 -3
  21. package/locales/fa-IR/common.json +1 -1
  22. package/locales/fa-IR/modelProvider.json +0 -20
  23. package/locales/fa-IR/models.json +108 -3
  24. package/locales/fr-FR/common.json +1 -1
  25. package/locales/fr-FR/modelProvider.json +0 -20
  26. package/locales/fr-FR/models.json +108 -3
  27. package/locales/it-IT/common.json +1 -1
  28. package/locales/it-IT/modelProvider.json +0 -20
  29. package/locales/it-IT/models.json +108 -3
  30. package/locales/ja-JP/common.json +1 -1
  31. package/locales/ja-JP/modelProvider.json +0 -20
  32. package/locales/ja-JP/models.json +108 -3
  33. package/locales/ko-KR/common.json +1 -1
  34. package/locales/ko-KR/modelProvider.json +0 -20
  35. package/locales/ko-KR/models.json +108 -3
  36. package/locales/nl-NL/common.json +1 -1
  37. package/locales/nl-NL/modelProvider.json +0 -20
  38. package/locales/nl-NL/models.json +108 -3
  39. package/locales/pl-PL/common.json +1 -1
  40. package/locales/pl-PL/modelProvider.json +0 -20
  41. package/locales/pl-PL/models.json +108 -3
  42. package/locales/pt-BR/common.json +1 -1
  43. package/locales/pt-BR/modelProvider.json +0 -20
  44. package/locales/pt-BR/models.json +108 -3
  45. package/locales/ru-RU/common.json +1 -1
  46. package/locales/ru-RU/modelProvider.json +0 -20
  47. package/locales/ru-RU/models.json +108 -3
  48. package/locales/tr-TR/common.json +1 -1
  49. package/locales/tr-TR/modelProvider.json +0 -20
  50. package/locales/tr-TR/models.json +108 -3
  51. package/locales/vi-VN/common.json +1 -1
  52. package/locales/vi-VN/modelProvider.json +0 -20
  53. package/locales/vi-VN/models.json +108 -3
  54. package/locales/zh-CN/common.json +1 -1
  55. package/locales/zh-CN/modelProvider.json +0 -20
  56. package/locales/zh-CN/models.json +113 -8
  57. package/locales/zh-TW/common.json +1 -1
  58. package/locales/zh-TW/modelProvider.json +0 -20
  59. package/locales/zh-TW/models.json +108 -3
  60. package/package.json +1 -1
  61. package/src/app/(backend)/webapi/chat/models/[provider]/route.ts +1 -1
  62. package/src/app/[variants]/(main)/chat/_layout/Desktop/SessionPanel.tsx +2 -1
  63. package/src/app/[variants]/(main)/chat/_layout/Mobile.tsx +2 -1
  64. package/src/app/[variants]/(main)/chat/layout.ts +0 -2
  65. package/src/app/[variants]/(main)/settings/provider/(detail)/[id]/page.tsx +2 -0
  66. package/src/features/User/PlanTag.tsx +2 -2
  67. package/src/libs/agent-runtime/ai360/index.ts +8 -1
  68. package/src/libs/agent-runtime/anthropic/index.ts +2 -1
  69. package/src/libs/agent-runtime/baichuan/index.ts +1 -1
  70. package/src/libs/agent-runtime/cloudflare/index.test.ts +0 -117
  71. package/src/libs/agent-runtime/cloudflare/index.ts +32 -11
  72. package/src/libs/agent-runtime/deepseek/index.ts +4 -1
  73. package/src/libs/agent-runtime/fireworksai/index.ts +8 -1
  74. package/src/libs/agent-runtime/giteeai/index.ts +9 -1
  75. package/src/libs/agent-runtime/github/index.test.ts +5 -16
  76. package/src/libs/agent-runtime/github/index.ts +31 -33
  77. package/src/libs/agent-runtime/google/index.ts +2 -1
  78. package/src/libs/agent-runtime/groq/index.ts +7 -1
  79. package/src/libs/agent-runtime/higress/index.ts +2 -1
  80. package/src/libs/agent-runtime/huggingface/index.ts +10 -1
  81. package/src/libs/agent-runtime/hunyuan/index.ts +3 -1
  82. package/src/libs/agent-runtime/internlm/index.ts +3 -1
  83. package/src/libs/agent-runtime/mistral/index.ts +2 -1
  84. package/src/libs/agent-runtime/moonshot/index.ts +3 -1
  85. package/src/libs/agent-runtime/novita/__snapshots__/index.test.ts.snap +48 -12
  86. package/src/libs/agent-runtime/novita/index.ts +9 -1
  87. package/src/libs/agent-runtime/openai/__snapshots__/index.test.ts.snap +70 -66
  88. package/src/libs/agent-runtime/openai/index.ts +37 -0
  89. package/src/libs/agent-runtime/openrouter/__snapshots__/index.test.ts.snap +172 -4
  90. package/src/libs/agent-runtime/openrouter/index.ts +17 -2
  91. package/src/libs/agent-runtime/qwen/index.ts +10 -1
  92. package/src/libs/agent-runtime/sensenova/index.ts +3 -1
  93. package/src/libs/agent-runtime/siliconcloud/index.ts +10 -1
  94. package/src/libs/agent-runtime/stepfun/index.ts +3 -1
  95. package/src/libs/agent-runtime/togetherai/__snapshots__/index.test.ts.snap +1309 -5
  96. package/src/libs/agent-runtime/togetherai/index.test.ts +0 -13
  97. package/src/libs/agent-runtime/togetherai/index.ts +25 -20
  98. package/src/libs/agent-runtime/utils/cloudflareHelpers.test.ts +0 -99
  99. package/src/libs/agent-runtime/utils/cloudflareHelpers.ts +0 -70
  100. package/src/libs/agent-runtime/xai/index.ts +3 -1
  101. package/src/libs/agent-runtime/zeroone/index.ts +3 -1
  102. package/src/libs/agent-runtime/zhipu/index.ts +3 -1
  103. package/src/locales/default/common.ts +1 -1
@@ -1,6 +1,12 @@
1
1
  import { ChatStreamPayload, ModelProvider, OpenAIChatMessage } from '../types';
2
2
  import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
3
3
 
4
+ import { LOBE_DEFAULT_MODEL_LIST } from '@/config/aiModels';
5
+
6
+ export interface OpenAIModelCard {
7
+ id: string;
8
+ }
9
+
4
10
  export const pruneReasoningPayload = (payload: ChatStreamPayload) => {
5
11
  // TODO: 临时写法,后续要重构成 model card 展示配置
6
12
  const disableStreamModels = new Set([
@@ -49,5 +55,36 @@ export const LobeOpenAI = LobeOpenAICompatibleFactory({
49
55
  debug: {
50
56
  chatCompletion: () => process.env.DEBUG_OPENAI_CHAT_COMPLETION === '1',
51
57
  },
58
+ models: {
59
+ transformModel: (m) => {
60
+ const functionCallKeywords = [
61
+ 'gpt-4',
62
+ 'gpt-3.5',
63
+ 'o3-mini',
64
+ ];
65
+
66
+ const visionKeywords = [
67
+ 'gpt-4o',
68
+ 'vision',
69
+ ];
70
+
71
+ const reasoningKeywords = [
72
+ 'o1',
73
+ 'o3',
74
+ ];
75
+
76
+ const model = m as unknown as OpenAIModelCard;
77
+
78
+ return {
79
+ contextWindowTokens: LOBE_DEFAULT_MODEL_LIST.find((m) => model.id === m.id)?.contextWindowTokens ?? undefined,
80
+ displayName: LOBE_DEFAULT_MODEL_LIST.find((m) => model.id === m.id)?.displayName ?? undefined,
81
+ enabled: LOBE_DEFAULT_MODEL_LIST.find((m) => model.id === m.id)?.enabled || false,
82
+ functionCall: functionCallKeywords.some(keyword => model.id.toLowerCase().includes(keyword)) && !model.id.toLowerCase().includes('audio'),
83
+ id: model.id,
84
+ reasoning: reasoningKeywords.some(keyword => model.id.toLowerCase().includes(keyword)),
85
+ vision: visionKeywords.some(keyword => model.id.toLowerCase().includes(keyword)) && !model.id.toLowerCase().includes('audio'),
86
+ };
87
+ },
88
+ },
52
89
  provider: ModelProvider.OpenAI,
53
90
  });