@lobehub/chat 1.85.10 → 1.86.1

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 (251) hide show
  1. package/.env.example +5 -0
  2. package/CHANGELOG.md +50 -0
  3. package/Dockerfile +2 -0
  4. package/Dockerfile.database +2 -0
  5. package/Dockerfile.pglite +2 -0
  6. package/README.md +3 -2
  7. package/README.zh-CN.md +3 -2
  8. package/changelog/v1.json +18 -0
  9. package/docs/self-hosting/environment-variables/model-provider.mdx +23 -0
  10. package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +23 -1
  11. package/docs/usage/providers/qiniu.mdx +58 -0
  12. package/docs/usage/providers/qiniu.zh-CN.mdx +55 -0
  13. package/locales/ar/providers.json +3 -0
  14. package/locales/bg-BG/providers.json +3 -0
  15. package/locales/de-DE/providers.json +3 -0
  16. package/locales/en-US/providers.json +3 -0
  17. package/locales/es-ES/providers.json +3 -0
  18. package/locales/fa-IR/providers.json +3 -0
  19. package/locales/fr-FR/providers.json +3 -0
  20. package/locales/it-IT/providers.json +3 -0
  21. package/locales/ja-JP/providers.json +3 -0
  22. package/locales/ko-KR/providers.json +3 -0
  23. package/locales/nl-NL/providers.json +3 -0
  24. package/locales/pl-PL/providers.json +3 -0
  25. package/locales/pt-BR/providers.json +3 -0
  26. package/locales/ru-RU/providers.json +3 -0
  27. package/locales/tr-TR/providers.json +3 -0
  28. package/locales/vi-VN/providers.json +3 -0
  29. package/locales/zh-CN/providers.json +3 -0
  30. package/locales/zh-TW/providers.json +3 -0
  31. package/package.json +1 -1
  32. package/src/app/(backend)/middleware/auth/index.test.ts +1 -1
  33. package/src/app/(backend)/middleware/auth/index.ts +1 -1
  34. package/src/app/(backend)/middleware/auth/utils.ts +1 -1
  35. package/src/app/(backend)/webapi/chat/[provider]/route.test.ts +1 -1
  36. package/src/app/(backend)/webapi/chat/[provider]/route.ts +1 -1
  37. package/src/app/(backend)/webapi/chat/vertexai/route.ts +2 -2
  38. package/src/app/(backend)/webapi/models/[provider]/pull/route.ts +1 -1
  39. package/src/app/(backend)/webapi/models/[provider]/route.ts +1 -1
  40. package/src/app/(backend)/webapi/plugin/gateway/route.ts +1 -1
  41. package/src/app/(backend)/webapi/text-to-image/[provider]/route.ts +2 -2
  42. package/src/app/[variants]/(main)/settings/llm/ProviderList/Azure/index.tsx +1 -1
  43. package/src/app/[variants]/(main)/settings/llm/ProviderList/providers.tsx +2 -0
  44. package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/Option.tsx +4 -1
  45. package/src/app/[variants]/(main)/settings/provider/(detail)/azure/page.tsx +1 -1
  46. package/src/app/[variants]/(main)/settings/provider/(detail)/azureai/page.tsx +1 -1
  47. package/src/config/aiModels/index.ts +3 -0
  48. package/src/config/aiModels/qiniu.ts +34 -0
  49. package/src/config/llm.ts +6 -0
  50. package/src/config/modelProviders/index.ts +4 -0
  51. package/src/config/modelProviders/qiniu.ts +42 -0
  52. package/src/const/settings/llm.ts +1 -1
  53. package/src/database/models/__tests__/aiProvider.test.ts +1 -1
  54. package/src/database/models/aiProvider.ts +1 -1
  55. package/src/features/Conversation/Error/APIKeyForm/Bedrock.tsx +1 -1
  56. package/src/features/Conversation/Error/APIKeyForm/index.tsx +1 -1
  57. package/src/features/Conversation/Error/index.tsx +1 -1
  58. package/src/libs/{agent-runtime → model-runtime}/AgentRuntime.test.ts +2 -2
  59. package/src/libs/{agent-runtime → model-runtime}/ai21/index.test.ts +2 -2
  60. package/src/libs/{agent-runtime → model-runtime}/ai360/index.test.ts +2 -2
  61. package/src/libs/{agent-runtime → model-runtime}/anthropic/index.test.ts +1 -1
  62. package/src/libs/{agent-runtime → model-runtime}/baichuan/index.test.ts +1 -1
  63. package/src/libs/{agent-runtime → model-runtime}/bedrock/index.test.ts +1 -1
  64. package/src/libs/{agent-runtime → model-runtime}/cloudflare/index.test.ts +1 -1
  65. package/src/libs/{agent-runtime → model-runtime}/deepseek/index.test.ts +2 -2
  66. package/src/libs/{agent-runtime → model-runtime}/fireworksai/index.test.ts +2 -2
  67. package/src/libs/{agent-runtime → model-runtime}/giteeai/index.test.ts +2 -2
  68. package/src/libs/{agent-runtime → model-runtime}/github/index.test.ts +2 -2
  69. package/src/libs/{agent-runtime → model-runtime}/google/index.test.ts +1 -1
  70. package/src/libs/{agent-runtime → model-runtime}/groq/index.test.ts +2 -2
  71. package/src/libs/{agent-runtime → model-runtime}/hunyuan/index.test.ts +2 -2
  72. package/src/libs/{agent-runtime → model-runtime}/internlm/index.test.ts +2 -2
  73. package/src/libs/{agent-runtime → model-runtime}/lmstudio/index.test.ts +2 -2
  74. package/src/libs/{agent-runtime → model-runtime}/mistral/index.test.ts +2 -2
  75. package/src/libs/{agent-runtime → model-runtime}/moonshot/index.test.ts +1 -1
  76. package/src/libs/{agent-runtime → model-runtime}/novita/index.test.ts +3 -3
  77. package/src/libs/{agent-runtime → model-runtime}/ollama/index.ts +1 -1
  78. package/src/libs/{agent-runtime → model-runtime}/openai/index.test.ts +1 -1
  79. package/src/libs/{agent-runtime → model-runtime}/openrouter/index.test.ts +2 -2
  80. package/src/libs/{agent-runtime → model-runtime}/perplexity/index.test.ts +2 -2
  81. package/src/libs/{agent-runtime → model-runtime}/ppio/index.test.ts +4 -4
  82. package/src/libs/{agent-runtime → model-runtime}/providerTestUtils.ts +1 -1
  83. package/src/libs/model-runtime/qiniu/index.test.ts +16 -0
  84. package/src/libs/model-runtime/qiniu/index.ts +47 -0
  85. package/src/libs/{agent-runtime → model-runtime}/qwen/index.test.ts +2 -2
  86. package/src/libs/{agent-runtime → model-runtime}/runtimeMap.ts +2 -0
  87. package/src/libs/{agent-runtime → model-runtime}/sensenova/index.test.ts +2 -2
  88. package/src/libs/{agent-runtime → model-runtime}/siliconcloud/index.ts +1 -6
  89. package/src/libs/{agent-runtime → model-runtime}/spark/index.test.ts +2 -2
  90. package/src/libs/{agent-runtime → model-runtime}/stepfun/index.test.ts +2 -2
  91. package/src/libs/{agent-runtime → model-runtime}/taichu/index.test.ts +2 -2
  92. package/src/libs/{agent-runtime → model-runtime}/tencentcloud/index.test.ts +1 -1
  93. package/src/libs/{agent-runtime → model-runtime}/togetherai/index.test.ts +1 -1
  94. package/src/libs/{agent-runtime → model-runtime}/types/type.ts +1 -0
  95. package/src/libs/{agent-runtime → model-runtime}/upstage/index.test.ts +1 -1
  96. package/src/libs/{agent-runtime → model-runtime}/utils/openaiCompatibleFactory/index.test.ts +2 -2
  97. package/src/libs/{agent-runtime → model-runtime}/utils/openaiHelpers.ts +1 -1
  98. package/src/libs/{agent-runtime → model-runtime}/utils/streams/ollama.ts +1 -1
  99. package/src/libs/{agent-runtime → model-runtime}/utils/streams/openai.test.ts +1 -1
  100. package/src/libs/{agent-runtime → model-runtime}/utils/streams/qwen.test.ts +1 -1
  101. package/src/libs/{agent-runtime → model-runtime}/wenxin/index.test.ts +2 -2
  102. package/src/libs/{agent-runtime → model-runtime}/xai/index.test.ts +2 -2
  103. package/src/libs/{agent-runtime → model-runtime}/zeroone/index.test.ts +1 -1
  104. package/src/libs/{agent-runtime → model-runtime}/zhipu/index.test.ts +2 -2
  105. package/src/libs/trpc/client/lambda.ts +1 -1
  106. package/src/server/globalConfig/_deprecated.test.ts +1 -1
  107. package/src/server/globalConfig/_deprecated.ts +1 -1
  108. package/src/server/globalConfig/genServerAiProviderConfig.ts +1 -1
  109. package/src/server/modules/AgentRuntime/index.test.ts +5 -4
  110. package/src/server/modules/AgentRuntime/index.ts +1 -1
  111. package/src/server/modules/AgentRuntime/trace.ts +1 -1
  112. package/src/server/routers/async/ragEval.ts +1 -1
  113. package/src/services/__tests__/_auth.test.ts +1 -1
  114. package/src/services/__tests__/chat.test.ts +3 -3
  115. package/src/services/_auth.ts +1 -1
  116. package/src/services/chat.ts +1 -1
  117. package/src/services/textToImage.ts +1 -1
  118. package/src/services/upload.ts +1 -1
  119. package/src/store/user/slices/modelList/action.ts +1 -1
  120. package/src/store/user/slices/modelList/selectors/modelProvider.ts +5 -2
  121. package/src/types/fetch.ts +1 -1
  122. package/src/types/message/chat.ts +1 -1
  123. package/src/types/user/settings/keyVaults.ts +1 -0
  124. package/src/types/user/settings/modelProvider.ts +1 -1
  125. package/src/utils/errorResponse.test.ts +1 -1
  126. package/src/utils/errorResponse.ts +1 -1
  127. package/src/utils/fetch/fetchSSE.ts +1 -1
  128. package/src/utils/genUserLLMConfig.test.ts +1 -1
  129. package/src/utils/genUserLLMConfig.ts +1 -1
  130. /package/src/libs/{agent-runtime → model-runtime}/AgentRuntime.ts +0 -0
  131. /package/src/libs/{agent-runtime → model-runtime}/BaseAI.ts +0 -0
  132. /package/src/libs/{agent-runtime → model-runtime}/UniformRuntime/index.ts +0 -0
  133. /package/src/libs/{agent-runtime → model-runtime}/ai21/index.ts +0 -0
  134. /package/src/libs/{agent-runtime → model-runtime}/ai360/index.ts +0 -0
  135. /package/src/libs/{agent-runtime → model-runtime}/anthropic/handleAnthropicError.ts +0 -0
  136. /package/src/libs/{agent-runtime → model-runtime}/anthropic/index.ts +0 -0
  137. /package/src/libs/{agent-runtime → model-runtime}/azureOpenai/index.test.ts +0 -0
  138. /package/src/libs/{agent-runtime → model-runtime}/azureOpenai/index.ts +0 -0
  139. /package/src/libs/{agent-runtime → model-runtime}/azureai/index.ts +0 -0
  140. /package/src/libs/{agent-runtime → model-runtime}/baichuan/index.ts +0 -0
  141. /package/src/libs/{agent-runtime → model-runtime}/bedrock/index.ts +0 -0
  142. /package/src/libs/{agent-runtime → model-runtime}/cloudflare/index.ts +0 -0
  143. /package/src/libs/{agent-runtime → model-runtime}/cohere/index.ts +0 -0
  144. /package/src/libs/{agent-runtime → model-runtime}/deepseek/index.ts +0 -0
  145. /package/src/libs/{agent-runtime → model-runtime}/error.ts +0 -0
  146. /package/src/libs/{agent-runtime → model-runtime}/fireworksai/index.ts +0 -0
  147. /package/src/libs/{agent-runtime → model-runtime}/giteeai/index.ts +0 -0
  148. /package/src/libs/{agent-runtime → model-runtime}/github/index.ts +0 -0
  149. /package/src/libs/{agent-runtime → model-runtime}/google/index.ts +0 -0
  150. /package/src/libs/{agent-runtime → model-runtime}/groq/index.ts +0 -0
  151. /package/src/libs/{agent-runtime → model-runtime}/helpers/index.ts +0 -0
  152. /package/src/libs/{agent-runtime → model-runtime}/helpers/parseToolCalls.test.ts +0 -0
  153. /package/src/libs/{agent-runtime → model-runtime}/helpers/parseToolCalls.ts +0 -0
  154. /package/src/libs/{agent-runtime → model-runtime}/higress/index.ts +0 -0
  155. /package/src/libs/{agent-runtime → model-runtime}/huggingface/index.ts +0 -0
  156. /package/src/libs/{agent-runtime → model-runtime}/hunyuan/index.ts +0 -0
  157. /package/src/libs/{agent-runtime → model-runtime}/index.ts +0 -0
  158. /package/src/libs/{agent-runtime → model-runtime}/infiniai/index.ts +0 -0
  159. /package/src/libs/{agent-runtime → model-runtime}/internlm/index.ts +0 -0
  160. /package/src/libs/{agent-runtime → model-runtime}/jina/index.ts +0 -0
  161. /package/src/libs/{agent-runtime → model-runtime}/lmstudio/index.ts +0 -0
  162. /package/src/libs/{agent-runtime → model-runtime}/minimax/index.ts +0 -0
  163. /package/src/libs/{agent-runtime → model-runtime}/mistral/index.ts +0 -0
  164. /package/src/libs/{agent-runtime → model-runtime}/moonshot/index.ts +0 -0
  165. /package/src/libs/{agent-runtime → model-runtime}/novita/__snapshots__/index.test.ts.snap +0 -0
  166. /package/src/libs/{agent-runtime → model-runtime}/novita/fixtures/models.json +0 -0
  167. /package/src/libs/{agent-runtime → model-runtime}/novita/index.ts +0 -0
  168. /package/src/libs/{agent-runtime → model-runtime}/novita/type.ts +0 -0
  169. /package/src/libs/{agent-runtime → model-runtime}/nvidia/index.ts +0 -0
  170. /package/src/libs/{agent-runtime → model-runtime}/ollama/index.test.ts +0 -0
  171. /package/src/libs/{agent-runtime → model-runtime}/ollama/type.ts +0 -0
  172. /package/src/libs/{agent-runtime → model-runtime}/openai/__snapshots__/index.test.ts.snap +0 -0
  173. /package/src/libs/{agent-runtime → model-runtime}/openai/fixtures/openai-models.json +0 -0
  174. /package/src/libs/{agent-runtime → model-runtime}/openai/index.ts +0 -0
  175. /package/src/libs/{agent-runtime → model-runtime}/openrouter/__snapshots__/index.test.ts.snap +0 -0
  176. /package/src/libs/{agent-runtime → model-runtime}/openrouter/fixtures/frontendModels.json +0 -0
  177. /package/src/libs/{agent-runtime → model-runtime}/openrouter/fixtures/models.json +0 -0
  178. /package/src/libs/{agent-runtime → model-runtime}/openrouter/index.ts +0 -0
  179. /package/src/libs/{agent-runtime → model-runtime}/openrouter/type.ts +0 -0
  180. /package/src/libs/{agent-runtime → model-runtime}/perplexity/index.ts +0 -0
  181. /package/src/libs/{agent-runtime → model-runtime}/ppio/__snapshots__/index.test.ts.snap +0 -0
  182. /package/src/libs/{agent-runtime → model-runtime}/ppio/fixtures/models.json +0 -0
  183. /package/src/libs/{agent-runtime → model-runtime}/ppio/index.ts +0 -0
  184. /package/src/libs/{agent-runtime → model-runtime}/ppio/type.ts +0 -0
  185. /package/src/libs/{agent-runtime → model-runtime}/providerTestUtils.test.ts +0 -0
  186. /package/src/libs/{agent-runtime → model-runtime}/qwen/index.ts +0 -0
  187. /package/src/libs/{agent-runtime → model-runtime}/sambanova/index.ts +0 -0
  188. /package/src/libs/{agent-runtime → model-runtime}/search1api/index.ts +0 -0
  189. /package/src/libs/{agent-runtime → model-runtime}/sensenova/index.ts +0 -0
  190. /package/src/libs/{agent-runtime → model-runtime}/spark/index.ts +0 -0
  191. /package/src/libs/{agent-runtime → model-runtime}/stepfun/index.ts +0 -0
  192. /package/src/libs/{agent-runtime → model-runtime}/taichu/index.ts +0 -0
  193. /package/src/libs/{agent-runtime → model-runtime}/tencentcloud/index.ts +0 -0
  194. /package/src/libs/{agent-runtime → model-runtime}/togetherai/fixtures/models.json +0 -0
  195. /package/src/libs/{agent-runtime → model-runtime}/togetherai/index.ts +0 -0
  196. /package/src/libs/{agent-runtime → model-runtime}/togetherai/type.ts +0 -0
  197. /package/src/libs/{agent-runtime → model-runtime}/types/chat.ts +0 -0
  198. /package/src/libs/{agent-runtime → model-runtime}/types/embeddings.ts +0 -0
  199. /package/src/libs/{agent-runtime → model-runtime}/types/index.ts +0 -0
  200. /package/src/libs/{agent-runtime → model-runtime}/types/model.ts +0 -0
  201. /package/src/libs/{agent-runtime → model-runtime}/types/textToImage.ts +0 -0
  202. /package/src/libs/{agent-runtime → model-runtime}/types/tts.ts +0 -0
  203. /package/src/libs/{agent-runtime → model-runtime}/upstage/index.ts +0 -0
  204. /package/src/libs/{agent-runtime → model-runtime}/utils/anthropicHelpers.test.ts +0 -0
  205. /package/src/libs/{agent-runtime → model-runtime}/utils/anthropicHelpers.ts +0 -0
  206. /package/src/libs/{agent-runtime → model-runtime}/utils/cloudflareHelpers.test.ts +0 -0
  207. /package/src/libs/{agent-runtime → model-runtime}/utils/cloudflareHelpers.ts +0 -0
  208. /package/src/libs/{agent-runtime → model-runtime}/utils/createError.ts +0 -0
  209. /package/src/libs/{agent-runtime → model-runtime}/utils/debugStream.test.ts +0 -0
  210. /package/src/libs/{agent-runtime → model-runtime}/utils/debugStream.ts +0 -0
  211. /package/src/libs/{agent-runtime → model-runtime}/utils/desensitizeUrl.test.ts +0 -0
  212. /package/src/libs/{agent-runtime → model-runtime}/utils/desensitizeUrl.ts +0 -0
  213. /package/src/libs/{agent-runtime → model-runtime}/utils/handleOpenAIError.ts +0 -0
  214. /package/src/libs/{agent-runtime → model-runtime}/utils/openaiCompatibleFactory/index.ts +0 -0
  215. /package/src/libs/{agent-runtime → model-runtime}/utils/openaiHelpers.test.ts +0 -0
  216. /package/src/libs/{agent-runtime → model-runtime}/utils/response.ts +0 -0
  217. /package/src/libs/{agent-runtime → model-runtime}/utils/sensenovaHelpers.test.ts +0 -0
  218. /package/src/libs/{agent-runtime → model-runtime}/utils/sensenovaHelpers.ts +0 -0
  219. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/__snapshots__/protocol.test.ts.snap +0 -0
  220. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/anthropic.test.ts +0 -0
  221. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/anthropic.ts +0 -0
  222. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/bedrock/claude.ts +0 -0
  223. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/bedrock/common.ts +0 -0
  224. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/bedrock/index.ts +0 -0
  225. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/bedrock/llama.test.ts +0 -0
  226. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/bedrock/llama.ts +0 -0
  227. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/google-ai.test.ts +0 -0
  228. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/google-ai.ts +0 -0
  229. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/index.ts +0 -0
  230. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/model.ts +0 -0
  231. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/ollama.test.ts +0 -0
  232. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/openai.ts +0 -0
  233. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/protocol.test.ts +0 -0
  234. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/protocol.ts +0 -0
  235. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/qwen.ts +0 -0
  236. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/spark.test.ts +0 -0
  237. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/spark.ts +0 -0
  238. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/vertex-ai.test.ts +0 -0
  239. /package/src/libs/{agent-runtime → model-runtime}/utils/streams/vertex-ai.ts +0 -0
  240. /package/src/libs/{agent-runtime → model-runtime}/utils/uriParser.test.ts +0 -0
  241. /package/src/libs/{agent-runtime → model-runtime}/utils/uriParser.ts +0 -0
  242. /package/src/libs/{agent-runtime → model-runtime}/utils/usageConverter.test.ts +0 -0
  243. /package/src/libs/{agent-runtime → model-runtime}/utils/usageConverter.ts +0 -0
  244. /package/src/libs/{agent-runtime → model-runtime}/vertexai/index.ts +0 -0
  245. /package/src/libs/{agent-runtime → model-runtime}/vllm/index.ts +0 -0
  246. /package/src/libs/{agent-runtime → model-runtime}/volcengine/index.ts +0 -0
  247. /package/src/libs/{agent-runtime → model-runtime}/wenxin/index.ts +0 -0
  248. /package/src/libs/{agent-runtime → model-runtime}/xai/index.ts +0 -0
  249. /package/src/libs/{agent-runtime → model-runtime}/xinference/index.ts +0 -0
  250. /package/src/libs/{agent-runtime → model-runtime}/zeroone/index.ts +0 -0
  251. /package/src/libs/{agent-runtime → model-runtime}/zhipu/index.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { checkAuth } from '@/app/(backend)/middleware/auth';
2
- import { AgentRuntime, ModelProvider } from '@/libs/agent-runtime';
3
- import { LobeVertexAI } from '@/libs/agent-runtime/vertexai';
2
+ import { AgentRuntime, ModelProvider } from '@/libs/model-runtime';
3
+ import { LobeVertexAI } from '@/libs/model-runtime/vertexai';
4
4
  import { safeParseJSON } from '@/utils/safeParseJSON';
5
5
 
6
6
  import { POST as UniverseRoute } from '../[provider]/route';
@@ -1,5 +1,5 @@
1
1
  import { checkAuth } from '@/app/(backend)/middleware/auth';
2
- import { ChatCompletionErrorPayload, PullModelParams } from '@/libs/agent-runtime';
2
+ import { ChatCompletionErrorPayload, PullModelParams } from '@/libs/model-runtime';
3
3
  import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
4
4
  import { ChatErrorType } from '@/types/fetch';
5
5
  import { createErrorResponse } from '@/utils/errorResponse';
@@ -1,7 +1,7 @@
1
1
  import { NextResponse } from 'next/server';
2
2
 
3
3
  import { checkAuth } from '@/app/(backend)/middleware/auth';
4
- import { ChatCompletionErrorPayload, ModelProvider } from '@/libs/agent-runtime';
4
+ import { ChatCompletionErrorPayload, ModelProvider } from '@/libs/model-runtime';
5
5
  import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
6
6
  import { ChatErrorType } from '@/types/fetch';
7
7
  import { createErrorResponse } from '@/utils/errorResponse';
@@ -4,7 +4,7 @@ import { createGatewayOnEdgeRuntime } from '@lobehub/chat-plugins-gateway';
4
4
  import { getAppConfig } from '@/config/app';
5
5
  import { LOBE_CHAT_AUTH_HEADER, OAUTH_AUTHORIZED, enableNextAuth } from '@/const/auth';
6
6
  import { LOBE_CHAT_TRACE_ID, TraceNameMap } from '@/const/trace';
7
- import { AgentRuntimeError } from '@/libs/agent-runtime';
7
+ import { AgentRuntimeError } from '@/libs/model-runtime';
8
8
  import { TraceClient } from '@/libs/traces';
9
9
  import { ChatErrorType, ErrorType } from '@/types/fetch';
10
10
  import { createErrorResponse } from '@/utils/errorResponse';
@@ -1,8 +1,8 @@
1
1
  import { NextResponse } from 'next/server';
2
2
 
3
3
  import { checkAuth } from '@/app/(backend)/middleware/auth';
4
- import { ChatCompletionErrorPayload } from '@/libs/agent-runtime';
5
- import { TextToImagePayload } from '@/libs/agent-runtime/types';
4
+ import { ChatCompletionErrorPayload } from '@/libs/model-runtime';
5
+ import { TextToImagePayload } from '@/libs/model-runtime/types';
6
6
  import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
7
7
  import { ChatErrorType } from '@/types/fetch';
8
8
  import { createErrorResponse } from '@/utils/errorResponse';
@@ -5,7 +5,7 @@ import { createStyles } from 'antd-style';
5
5
  import { useTranslation } from 'react-i18next';
6
6
 
7
7
  import { AzureProviderCard } from '@/config/modelProviders';
8
- import { ModelProvider } from '@/libs/agent-runtime';
8
+ import { ModelProvider } from '@/libs/model-runtime';
9
9
  import { useUserStore } from '@/store/user';
10
10
  import { modelProviderSelectors } from '@/store/user/selectors';
11
11
 
@@ -24,6 +24,7 @@ import {
24
24
  OpenRouterProviderCard,
25
25
  PPIOProviderCard,
26
26
  PerplexityProviderCard,
27
+ QiniuProviderCard,
27
28
  QwenProviderCard,
28
29
  SambaNovaProviderCard,
29
30
  Search1APIProviderCard,
@@ -89,6 +90,7 @@ export const useProviderList = (): ProviderItem[] => {
89
90
  SambaNovaProviderCard,
90
91
  Search1APIProviderCard,
91
92
  CohereProviderCard,
93
+ QiniuProviderCard,
92
94
  QwenProviderCard,
93
95
  WenxinProviderCard,
94
96
  HunyuanProviderCard,
@@ -23,7 +23,10 @@ interface OptionRenderProps {
23
23
  removed?: boolean;
24
24
  }
25
25
  const OptionRender = memo<OptionRenderProps>(({ displayName, id, provider, isAzure, removed }) => {
26
- const model = useUserStore((s) => modelProviderSelectors.getModelCardById(id)(s), isEqual);
26
+ const model = useUserStore(
27
+ (s) => modelProviderSelectors.getModelCardById(id, provider)(s),
28
+ isEqual,
29
+ );
27
30
  const { t } = useTranslation('components');
28
31
  const theme = useTheme();
29
32
  // if there is isCustom, it means it is a user defined custom model
@@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next';
6
6
 
7
7
  import { FormInput, FormPassword } from '@/components/FormInput';
8
8
  import { AzureProviderCard } from '@/config/modelProviders';
9
- import { ModelProvider } from '@/libs/agent-runtime';
9
+ import { ModelProvider } from '@/libs/model-runtime';
10
10
  import { aiProviderSelectors, useAiInfraStore } from '@/store/aiInfra';
11
11
  import { useUserStore } from '@/store/user';
12
12
  import { modelProviderSelectors } from '@/store/user/selectors';
@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next';
4
4
 
5
5
  import { FormInput, FormPassword } from '@/components/FormInput';
6
6
  import { AzureAIProviderCard } from '@/config/modelProviders';
7
- import { ModelProvider } from '@/libs/agent-runtime';
7
+ import { ModelProvider } from '@/libs/model-runtime';
8
8
  import { aiProviderSelectors, useAiInfraStore } from '@/store/aiInfra';
9
9
 
10
10
  import { KeyVaultsConfigKey, LLMProviderApiTokenKey, LLMProviderBaseUrlKey } from '../../const';
@@ -32,6 +32,7 @@ import { default as openai } from './openai';
32
32
  import { default as openrouter } from './openrouter';
33
33
  import { default as perplexity } from './perplexity';
34
34
  import { default as ppio } from './ppio';
35
+ import { default as qiniu } from './qiniu';
35
36
  import { default as qwen } from './qwen';
36
37
  import { default as sambanova } from './sambanova';
37
38
  import { default as search1api } from './search1api';
@@ -104,6 +105,7 @@ export const LOBE_DEFAULT_MODEL_LIST = buildDefaultModelList({
104
105
  openrouter,
105
106
  perplexity,
106
107
  ppio,
108
+ qiniu,
107
109
  qwen,
108
110
  sambanova,
109
111
  search1api,
@@ -157,6 +159,7 @@ export { default as openai } from './openai';
157
159
  export { default as openrouter } from './openrouter';
158
160
  export { default as perplexity } from './perplexity';
159
161
  export { default as ppio } from './ppio';
162
+ export { default as qiniu } from './qiniu';
160
163
  export { default as qwen } from './qwen';
161
164
  export { default as sambanova } from './sambanova';
162
165
  export { default as search1api } from './search1api';
@@ -0,0 +1,34 @@
1
+ import { AIChatModelCard } from '@/types/aiModel';
2
+
3
+ // https://developer.qiniu.com/aitokenapi
4
+
5
+ const qiniuChatModels: AIChatModelCard[] = [
6
+ {
7
+ abilities: {
8
+ functionCall: true,
9
+ },
10
+ contextWindowTokens: 131_072,
11
+ description:
12
+ '推理速度大幅提升,位居开源模型之首,媲美顶尖闭源模型。采用负载均衡辅助策略和多标记预测训练,性能显著增强。',
13
+ displayName: 'DeepSeek V3',
14
+ enabled: true,
15
+ id: 'deepseek-v3',
16
+ type: 'chat',
17
+ },
18
+ {
19
+ abilities: {
20
+ reasoning: true,
21
+ },
22
+ contextWindowTokens: 65_536,
23
+ description:
24
+ 'DeepSeek R1 是 DeepSeek 团队发布的最新开源模型,具备非常强悍的推理性能,尤其在数学、编程和推理任务上达到了与 OpenAI 的 o1 模型相当的水平。',
25
+ displayName: 'DeepSeek R1',
26
+ enabled: true,
27
+ id: 'deepseek-r1',
28
+ type: 'chat',
29
+ },
30
+ ];
31
+
32
+ export const allModels = [...qiniuChatModels];
33
+
34
+ export default allModels;
package/src/config/llm.ts CHANGED
@@ -78,6 +78,9 @@ export const getLLMConfig = () => {
78
78
  ENABLED_XINFERENCE: z.boolean(),
79
79
  XINFERENCE_API_KEY: z.string().optional(),
80
80
 
81
+ ENABLED_QINIU: z.boolean(),
82
+ QINIU_API_KEY: z.string().optional(),
83
+
81
84
  ENABLED_QWEN: z.boolean(),
82
85
  QWEN_API_KEY: z.string().optional(),
83
86
 
@@ -237,6 +240,9 @@ export const getLLMConfig = () => {
237
240
  ENABLED_XINFERENCE: !!process.env.XINFERENCE_API_KEY,
238
241
  XINFERENCE_API_KEY: process.env.XINFERENCE_API_KEY,
239
242
 
243
+ ENABLED_QINIU: !!process.env.QINIU_API_KEY,
244
+ QINIU_API_KEY: process.env.QINIU_API_KEY,
245
+
240
246
  ENABLED_QWEN: !!process.env.QWEN_API_KEY,
241
247
  QWEN_API_KEY: process.env.QWEN_API_KEY,
242
248
 
@@ -32,6 +32,7 @@ import OpenAIProvider from './openai';
32
32
  import OpenRouterProvider from './openrouter';
33
33
  import PerplexityProvider from './perplexity';
34
34
  import PPIOProvider from './ppio';
35
+ import QiniuProvider from './qiniu';
35
36
  import QwenProvider from './qwen';
36
37
  import SambaNovaProvider from './sambanova';
37
38
  import Search1APIProvider from './search1api';
@@ -101,6 +102,7 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
101
102
  PPIOProvider.chatModels,
102
103
  Search1APIProvider.chatModels,
103
104
  InfiniAIProvider.chatModels,
105
+ QiniuProvider.chatModels,
104
106
  ].flat();
105
107
 
106
108
  export const DEFAULT_MODEL_PROVIDER_LIST = [
@@ -156,6 +158,7 @@ export const DEFAULT_MODEL_PROVIDER_LIST = [
156
158
  Ai360Provider,
157
159
  Search1APIProvider,
158
160
  InfiniAIProvider,
161
+ QiniuProvider,
159
162
  ];
160
163
 
161
164
  export const filterEnabledModels = (provider: ModelProviderCard) => {
@@ -199,6 +202,7 @@ export { default as OpenAIProviderCard } from './openai';
199
202
  export { default as OpenRouterProviderCard } from './openrouter';
200
203
  export { default as PerplexityProviderCard } from './perplexity';
201
204
  export { default as PPIOProviderCard } from './ppio';
205
+ export { default as QiniuProviderCard } from './qiniu';
202
206
  export { default as QwenProviderCard } from './qwen';
203
207
  export { default as SambaNovaProviderCard } from './sambanova';
204
208
  export { default as Search1APIProviderCard } from './search1api';
@@ -0,0 +1,42 @@
1
+ import { ModelProviderCard } from '@/types/llm';
2
+
3
+ // ref: https://developer.qiniu.com/aitokenapi
4
+ const Qiniu: ModelProviderCard = {
5
+ chatModels: [
6
+ {
7
+ contextWindowTokens: 131_072,
8
+ description:
9
+ '推理速度大幅提升,位居开源模型之首,媲美顶尖闭源模型。采用负载均衡辅助策略和多标记预测训练,性能显著增强。',
10
+ displayName: 'DeepSeek V3',
11
+ enabled: true,
12
+ id: 'deepseek-v3',
13
+ },
14
+ {
15
+ contextWindowTokens: 65_536,
16
+ description:
17
+ 'DeepSeek R1 是 DeepSeek 团队发布的最新开源模型,具备非常强悍的推理性能,尤其在数学、编程和推理任务上达到了与 OpenAI 的 o1 模型相当的水平',
18
+ displayName: 'DeepSeek R1',
19
+ enabled: true,
20
+ id: 'deepseek-r1',
21
+ },
22
+ ],
23
+ checkModel: 'deepseek-r1',
24
+ description: '七牛作为老牌云服务厂商,提供高性价比稳定的实时、批量 AI 推理服务,简单易用。',
25
+ id: 'qiniu',
26
+ modelList: { showModelFetcher: true },
27
+ modelsUrl: 'https://developer.qiniu.com/aitokenapi/12882/ai-inference-api',
28
+ name: 'Qiniu',
29
+ proxyUrl: {
30
+ placeholder: 'https://api.qnaigc.com/v1',
31
+ },
32
+ settings: {
33
+ proxyUrl: {
34
+ placeholder: 'https://api.qnaigc.com/v1',
35
+ },
36
+ sdkType: 'openai',
37
+ showModelFetcher: true,
38
+ },
39
+ url: 'https://www.qiniu.com',
40
+ };
41
+
42
+ export default Qiniu;
@@ -1,4 +1,4 @@
1
- import { ModelProvider } from '@/libs/agent-runtime';
1
+ import { ModelProvider } from '@/libs/model-runtime';
2
2
  import { genUserLLMConfig } from '@/utils/genUserLLMConfig';
3
3
 
4
4
  export const DEFAULT_LLM_CONFIG = genUserLLMConfig({
@@ -3,7 +3,7 @@ import { eq } from 'drizzle-orm/expressions';
3
3
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
 
5
5
  import { LobeChatDatabase } from '@/database/type';
6
- import { ModelProvider } from '@/libs/agent-runtime';
6
+ import { ModelProvider } from '@/libs/model-runtime';
7
7
  import { sleep } from '@/utils/sleep';
8
8
 
9
9
  import { aiProviders, users } from '../../schemas';
@@ -3,7 +3,7 @@ import { isEmpty } from 'lodash-es';
3
3
 
4
4
  import { DEFAULT_MODEL_PROVIDER_LIST } from '@/config/modelProviders';
5
5
  import { LobeChatDatabase } from '@/database/type';
6
- import { ModelProvider } from '@/libs/agent-runtime';
6
+ import { ModelProvider } from '@/libs/model-runtime';
7
7
  import {
8
8
  AiProviderDetailItem,
9
9
  AiProviderListItem,
@@ -5,7 +5,7 @@ import { Network, ShieldPlus } from 'lucide-react';
5
5
  import { memo, useState } from 'react';
6
6
  import { useTranslation } from 'react-i18next';
7
7
 
8
- import { ModelProvider } from '@/libs/agent-runtime';
8
+ import { ModelProvider } from '@/libs/model-runtime';
9
9
  import { useUserStore } from '@/store/user';
10
10
  import { keyVaultsConfigSelectors } from '@/store/user/selectors';
11
11
 
@@ -4,7 +4,7 @@ import { memo, useMemo, useState } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { Center, Flexbox } from 'react-layout-kit';
6
6
 
7
- import { ModelProvider } from '@/libs/agent-runtime';
7
+ import { ModelProvider } from '@/libs/model-runtime';
8
8
  import { useChatStore } from '@/store/chat';
9
9
  import { GlobalLLMProviderKey } from '@/types/user/settings';
10
10
 
@@ -6,7 +6,7 @@ import { Suspense, memo, useMemo } from 'react';
6
6
  import { useTranslation } from 'react-i18next';
7
7
 
8
8
  import { useProviderName } from '@/hooks/useProviderName';
9
- import { AgentRuntimeErrorType, ILobeAgentRuntimeErrorType } from '@/libs/agent-runtime';
9
+ import { AgentRuntimeErrorType, ILobeAgentRuntimeErrorType } from '@/libs/model-runtime';
10
10
  import { ChatErrorType, ErrorType } from '@/types/fetch';
11
11
  import { ChatMessage, ChatMessageError } from '@/types/message';
12
12
 
@@ -6,8 +6,8 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
6
6
  import * as langfuseCfg from '@/config/langfuse';
7
7
  import { JWTPayload } from '@/const/auth';
8
8
  import { TraceNameMap } from '@/const/trace';
9
- import { AgentRuntime, ChatStreamPayload, LobeOpenAI, ModelProvider } from '@/libs/agent-runtime';
10
- import { providerRuntimeMap } from '@/libs/agent-runtime/runtimeMap';
9
+ import { AgentRuntime, ChatStreamPayload, LobeOpenAI, ModelProvider } from '@/libs/model-runtime';
10
+ import { providerRuntimeMap } from '@/libs/model-runtime/runtimeMap';
11
11
  import { createTraceOptions } from '@/server/modules/AgentRuntime';
12
12
 
13
13
  import { AgentChatOptions } from './AgentRuntime';
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeAi21AI } from './index';
6
6
 
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeAi360AI } from './index';
6
6
 
@@ -1,7 +1,7 @@
1
1
  // @vitest-environment node
2
2
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { ChatCompletionTool, ChatStreamPayload } from '@/libs/agent-runtime';
4
+ import { ChatCompletionTool, ChatStreamPayload } from '@/libs/model-runtime';
5
5
 
6
6
  import * as anthropicHelpers from '../utils/anthropicHelpers';
7
7
  import * as debugStreamModule from '../utils/debugStream';
@@ -1,7 +1,7 @@
1
1
  // @vitest-environment node
2
2
  import { Mock } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/agent-runtime';
4
+ import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/model-runtime';
5
5
 
6
6
  import { testProvider } from '../providerTestUtils';
7
7
  import { LobeBaichuanAI } from './index';
@@ -2,7 +2,7 @@
2
2
  import { InvokeModelWithResponseStreamCommand } from '@aws-sdk/client-bedrock-runtime';
3
3
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
 
5
- import { AgentRuntimeErrorType, ModelProvider } from '@/libs/agent-runtime';
5
+ import { AgentRuntimeErrorType, ModelProvider } from '@/libs/model-runtime';
6
6
 
7
7
  import * as debugStreamModule from '../utils/debugStream';
8
8
  import { LobeBedrockAI } from './index';
@@ -1,7 +1,7 @@
1
1
  // @vitest-environment node
2
2
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { ChatCompletionTool } from '@/libs/agent-runtime';
4
+ import { ChatCompletionTool } from '@/libs/model-runtime';
5
5
 
6
6
  import * as debugStreamModule from '../utils/debugStream';
7
7
  import { LobeCloudflareAI } from './index';
@@ -6,8 +6,8 @@ import {
6
6
  LLMRoleType,
7
7
  LobeOpenAICompatibleRuntime,
8
8
  ModelProvider,
9
- } from '@/libs/agent-runtime';
10
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
9
+ } from '@/libs/model-runtime';
10
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
11
11
 
12
12
  import { LobeDeepSeekAI } from './index';
13
13
 
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeFireworksAI } from './index';
6
6
 
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeGiteeAI } from './index';
6
6
 
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeGithubAI } from './index';
6
6
 
@@ -3,7 +3,7 @@ import { FunctionDeclarationsTool } from '@google/generative-ai';
3
3
  import OpenAI from 'openai';
4
4
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
5
 
6
- import { OpenAIChatMessage } from '@/libs/agent-runtime';
6
+ import { OpenAIChatMessage } from '@/libs/model-runtime';
7
7
  import * as imageToBase64Module from '@/utils/imageToBase64';
8
8
 
9
9
  import * as debugStreamModule from '../utils/debugStream';
@@ -1,8 +1,8 @@
1
1
  // @vitest-environment node
2
2
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
5
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
4
+ import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
5
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
6
6
 
7
7
  import { LobeGroq } from './index';
8
8
 
@@ -1,8 +1,8 @@
1
1
  // @vitest-environment node
2
2
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/agent-runtime';
5
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
4
+ import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/model-runtime';
5
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
6
6
 
7
7
  import { LobeHunyuanAI } from './index';
8
8
 
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeInternLMAI } from './index';
6
6
 
@@ -1,6 +1,6 @@
1
1
  // @vitest-environment node
2
- import { ModelProvider } from '@/libs/agent-runtime';
3
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
4
 
5
5
  import { LobeLMStudioAI } from './index';
6
6
 
@@ -1,8 +1,8 @@
1
1
  // @vitest-environment node
2
2
  import { Mock, afterEach, beforeEach, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
5
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
4
+ import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
5
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
6
6
 
7
7
  import { LobeMistralAI } from './index';
8
8
 
@@ -1,5 +1,5 @@
1
1
  // @vitest-environment node
2
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
2
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
3
3
 
4
4
  import { LobeMoonshotAI } from './index';
5
5
 
@@ -1,9 +1,9 @@
1
1
  // @vitest-environment node
2
2
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
5
- import { ModelProvider } from '@/libs/agent-runtime';
6
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
4
+ import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
5
+ import { ModelProvider } from '@/libs/model-runtime';
6
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
7
7
 
8
8
  import models from './fixtures/models.json';
9
9
  import { LobeNovitaAI } from './index';
@@ -1,7 +1,7 @@
1
1
  import { Ollama, Tool } from 'ollama/browser';
2
2
  import { ClientOptions } from 'openai';
3
3
 
4
- import { ModelRequestOptions, OpenAIChatMessage } from '@/libs/agent-runtime';
4
+ import { ModelRequestOptions, OpenAIChatMessage } from '@/libs/model-runtime';
5
5
  import { ChatModelCard } from '@/types/llm';
6
6
  import { createErrorResponse } from '@/utils/errorResponse';
7
7
 
@@ -3,7 +3,7 @@ import OpenAI from 'openai';
3
3
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
 
5
5
  // 引入模块以便于对函数进行spy
6
- import { ChatStreamCallbacks, LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
6
+ import { ChatStreamCallbacks, LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
7
7
 
8
8
  import * as debugStreamModule from '../utils/debugStream';
9
9
  import officalOpenAIModels from './fixtures/openai-models.json';
@@ -1,8 +1,8 @@
1
1
  // @vitest-environment node
2
2
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
5
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
4
+ import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
5
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
6
6
 
7
7
  import frontendModels from './fixtures/frontendModels.json';
8
8
  import models from './fixtures/models.json';
@@ -1,8 +1,8 @@
1
1
  // @vitest-environment node
2
2
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/agent-runtime';
5
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
4
+ import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/model-runtime';
5
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
6
6
 
7
7
  import { LobePerplexityAI } from './index';
8
8
 
@@ -2,10 +2,10 @@
2
2
  import OpenAI from 'openai';
3
3
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
 
5
- import { LobeDeepSeekAI, LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
6
- import { ModelProvider } from '@/libs/agent-runtime';
7
- import { AgentRuntimeErrorType } from '@/libs/agent-runtime';
8
- import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
5
+ import { LobeDeepSeekAI, LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
6
+ import { ModelProvider } from '@/libs/model-runtime';
7
+ import { AgentRuntimeErrorType } from '@/libs/model-runtime';
8
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
9
9
 
10
10
  import * as debugStreamModule from '../utils/debugStream';
11
11
  import models from './fixtures/models.json';
@@ -1,7 +1,7 @@
1
1
  import OpenAI from 'openai';
2
2
  import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
3
3
 
4
- import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
4
+ import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
5
5
 
6
6
  import * as debugStreamModule from './utils/debugStream';
7
7
 
@@ -0,0 +1,16 @@
1
+ // @vitest-environment node
2
+ import { ModelProvider } from '@/libs/model-runtime';
3
+ import { testProvider } from '@/libs/model-runtime/providerTestUtils';
4
+
5
+ import { LobeQiniuAI } from './index';
6
+
7
+ const provider = ModelProvider.Qiniu;
8
+ const defaultBaseURL = 'https://api.qnaigc.com/v1';
9
+
10
+ testProvider({
11
+ Runtime: LobeQiniuAI,
12
+ provider,
13
+ defaultBaseURL,
14
+ chatDebugEnv: 'DEBUG_QINIU_CHAT_COMPLETION',
15
+ chatModel: 'deepseek-r1',
16
+ });