diff --git a/frontend/src/app/api/chat/[provider]/agentRuntime.ts b/frontend/src/app/api/chat/[provider]/agentRuntime.ts index 92abd6d4..2622d602 100644 --- a/frontend/src/app/api/chat/[provider]/agentRuntime.ts +++ b/frontend/src/app/api/chat/[provider]/agentRuntime.ts @@ -20,8 +20,8 @@ import { LobePerplexityAI, LobeRuntimeAI, LobeZhipuAI, + LobeChatChatAI, ModelProvider, - LobeKnowledgeAI, } from '@/libs/agent-runtime'; import { TraceClient } from '@/libs/traces'; @@ -169,8 +169,8 @@ class AgentRuntime { break; } - case ModelProvider.Knowledge: { - runtimeModel = this.initKnowledge(payload); + case ModelProvider.ChatChat: { + runtimeModel = this.initChatChat(payload); break; } } @@ -275,11 +275,11 @@ class AgentRuntime { return new LobeMistralAI({ apiKey }); } - private static initKnowledge(payload: JWTPayload) { + private static initChatChat(payload: JWTPayload) { const { KNOWLEDGE_PROXY_URL } = getServerConfig(); const baseURL = payload?.endpoint || KNOWLEDGE_PROXY_URL; - return new LobeKnowledgeAI({ baseURL }); + return new LobeChatChatAI({ baseURL }); } } diff --git a/frontend/src/app/chat/features/SessionListContent/ListItem/index.tsx b/frontend/src/app/chat/features/SessionListContent/ListItem/index.tsx index e1b5cda6..a39bf1d0 100644 --- a/frontend/src/app/chat/features/SessionListContent/ListItem/index.tsx +++ b/frontend/src/app/chat/features/SessionListContent/ListItem/index.tsx @@ -3,6 +3,7 @@ import { useHover } from 'ahooks'; import { createStyles, useResponsive } from 'antd-style'; import { memo, useMemo, useRef } from 'react'; import Avatar from '@/components/Avatar'; + const { Item } = List; const useStyles = createStyles(({ css, token, responsive }) => { diff --git a/frontend/src/app/settings/(mobile)/features/Header/Home.tsx b/frontend/src/app/settings/(mobile)/features/Header/Home.tsx index 9d06c51e..a5814358 100644 --- a/frontend/src/app/settings/(mobile)/features/Header/Home.tsx +++ b/frontend/src/app/settings/(mobile)/features/Header/Home.tsx @@ -1,6 +1,7 @@ import { MobileNavBar } from '@lobehub/ui'; import { memo } from 'react'; import Logo from '@/components/Logo'; + const Header = memo(() => { return } />; }); diff --git a/frontend/src/app/welcome/(mobile)/features/Header.tsx b/frontend/src/app/welcome/(mobile)/features/Header.tsx index 0da2e65b..e00e211d 100644 --- a/frontend/src/app/welcome/(mobile)/features/Header.tsx +++ b/frontend/src/app/welcome/(mobile)/features/Header.tsx @@ -1,6 +1,7 @@ import { MobileNavBar } from '@lobehub/ui'; import { memo } from 'react'; import Logo from '@/components/Logo'; + const Header = memo(() => } />); export default Header; diff --git a/frontend/src/components/FullscreenLoading/index.tsx b/frontend/src/components/FullscreenLoading/index.tsx index f6564a17..ced75cc4 100644 --- a/frontend/src/components/FullscreenLoading/index.tsx +++ b/frontend/src/components/FullscreenLoading/index.tsx @@ -3,6 +3,7 @@ import { Loader2 } from 'lucide-react'; import { memo } from 'react'; import { Center, Flexbox } from 'react-layout-kit'; import Logo from '@/components/Logo'; + const FullscreenLoading = memo<{ title?: string }>(({ title }) => { return ( diff --git a/frontend/src/features/Conversation/Error/style.tsx b/frontend/src/features/Conversation/Error/style.tsx index 036a2658..64a2e646 100644 --- a/frontend/src/features/Conversation/Error/style.tsx +++ b/frontend/src/features/Conversation/Error/style.tsx @@ -3,6 +3,7 @@ import { createStyles } from 'antd-style'; import { ReactNode, memo } from 'react'; import { Center, Flexbox } from 'react-layout-kit'; import Avatar from '@/components/Avatar'; + export const useStyles = createStyles(({ css, token }) => ({ container: css` color: ${token.colorText}; diff --git a/frontend/src/libs/agent-runtime/knowledge/index.test.ts b/frontend/src/libs/agent-runtime/chatchat/index.test.ts similarity index 93% rename from frontend/src/libs/agent-runtime/knowledge/index.test.ts rename to frontend/src/libs/agent-runtime/chatchat/index.test.ts index 51683da8..bfce5c93 100644 --- a/frontend/src/libs/agent-runtime/knowledge/index.test.ts +++ b/frontend/src/libs/agent-runtime/chatchat/index.test.ts @@ -5,7 +5,7 @@ import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { ChatStreamCallbacks } from '@/libs/agent-runtime'; import * as debugStreamModule from '../utils/debugStream'; -import { LobeKnowledgeAI } from './index'; +import { LobeChatChatAI } from './index'; const provider = 'knowledge'; const defaultBaseURL = 'http://localhost:7861/v1'; @@ -15,10 +15,10 @@ const invalidErrorType = 'InvalidKnowledgeArgs'; // Mock the console.error to avoid polluting test output vi.spyOn(console, 'error').mockImplementation(() => {}); -let instance: LobeKnowledgeAI; +let instance: LobeChatChatAI; beforeEach(() => { - instance = new LobeKnowledgeAI({ apiKey: 'knowledge', baseURL: defaultBaseURL }); + instance = new LobeChatChatAI({ apiKey: 'knowledge', baseURL: defaultBaseURL }); // 使用 vi.spyOn 来模拟 chat.completions.create 方法 vi.spyOn(instance['client'].chat.completions, 'create').mockResolvedValue( @@ -30,7 +30,7 @@ afterEach(() => { vi.clearAllMocks(); }); -describe('LobeKnowledgeAI', () => { +describe('LobeChatChatAI', () => { describe('init', ()=>{ it('should init with default baseURL', () => { diff --git a/frontend/src/libs/agent-runtime/knowledge/index.ts b/frontend/src/libs/agent-runtime/chatchat/index.ts similarity index 83% rename from frontend/src/libs/agent-runtime/knowledge/index.ts rename to frontend/src/libs/agent-runtime/chatchat/index.ts index a09d8da6..266e9ff8 100644 --- a/frontend/src/libs/agent-runtime/knowledge/index.ts +++ b/frontend/src/libs/agent-runtime/chatchat/index.ts @@ -13,13 +13,13 @@ import { Stream } from 'openai/streaming'; const DEFAULT_BASE_URL = 'http://localhost:7861/v1'; -export class LobeKnowledgeAI implements LobeRuntimeAI { +export class LobeChatChatAI implements LobeRuntimeAI { private client: OpenAI; baseURL: string; - constructor({ apiKey = 'knowledge', baseURL = DEFAULT_BASE_URL, ...res }: ClientOptions) { - if (!baseURL) throw AgentRuntimeError.createError(AgentRuntimeErrorType.InvalidKnowledgeArgs); + constructor({ apiKey = 'chatChat', baseURL = DEFAULT_BASE_URL, ...res }: ClientOptions) { + if (!baseURL) throw AgentRuntimeError.createError(AgentRuntimeErrorType.InvalidChatChatArgs); this.client = new OpenAI({ apiKey, baseURL, ...res }); this.baseURL = baseURL; @@ -31,7 +31,7 @@ export class LobeKnowledgeAI implements LobeRuntimeAI { payload as unknown as (OpenAI.ChatCompletionCreateParamsStreaming | OpenAI.ChatCompletionCreateParamsNonStreaming), ); - if (LobeKnowledgeAI.isStream(response)) { + if (LobeChatChatAI.isStream(response)) { const [prod, debug] = response.tee(); @@ -48,7 +48,7 @@ export class LobeKnowledgeAI implements LobeRuntimeAI { console.debug(JSON.stringify(response)); } - const stream = LobeKnowledgeAI.createChatCompletionStream(response?.choices[0].message.content || ''); + const stream = LobeChatChatAI.createChatCompletionStream(response?.choices[0].message.content || ''); return new StreamingTextResponse(stream); } @@ -65,8 +65,8 @@ export class LobeKnowledgeAI implements LobeRuntimeAI { throw AgentRuntimeError.chat({ endpoint: desensitizedEndpoint, error: error as any, - errorType: AgentRuntimeErrorType.InvalidKnowledgeArgs, - provider: ModelProvider.Knowledge, + errorType: AgentRuntimeErrorType.InvalidChatChatArgs, + provider: ModelProvider.ChatChat, }); } @@ -78,13 +78,13 @@ export class LobeKnowledgeAI implements LobeRuntimeAI { const { errorResult, RuntimeError } = handleOpenAIError(error); - const errorType = RuntimeError || AgentRuntimeErrorType.OllamaBizError; + const errorType = RuntimeError || AgentRuntimeErrorType.ChatChatBizError; throw AgentRuntimeError.chat({ endpoint: desensitizedEndpoint, error: errorResult, errorType, - provider: ModelProvider.Knowledge, + provider: ModelProvider.ChatChat, }); } } diff --git a/frontend/src/libs/agent-runtime/error.ts b/frontend/src/libs/agent-runtime/error.ts index 86582a3d..4078f1de 100644 --- a/frontend/src/libs/agent-runtime/error.ts +++ b/frontend/src/libs/agent-runtime/error.ts @@ -35,8 +35,8 @@ export const AgentRuntimeErrorType = { InvalidAnthropicAPIKey: 'InvalidAnthropicAPIKey', AnthropicBizError: 'AnthropicBizError', - InvalidKnowledgeArgs: 'InvalidKnowledgeArgs', - KnowledgeBizError: 'KnowledgeBizError', + InvalidChatChatArgs: 'InvalidChatChatArgs', + ChatChatBizError: 'ChatChatBizError', } as const; export type ILobeAgentRuntimeErrorType = diff --git a/frontend/src/libs/agent-runtime/index.ts b/frontend/src/libs/agent-runtime/index.ts index 1edff491..047b1eab 100644 --- a/frontend/src/libs/agent-runtime/index.ts +++ b/frontend/src/libs/agent-runtime/index.ts @@ -2,6 +2,7 @@ export { LobeAnthropicAI } from './anthropic'; export { LobeAzureOpenAI } from './azureOpenai'; export * from './BaseAI'; export { LobeBedrockAI } from './bedrock'; +export { LobeChatChatAI } from './chatchat'; export * from './error'; export { LobeGoogleAI } from './google'; export { LobeMistralAI } from './mistral'; @@ -12,4 +13,3 @@ export { LobePerplexityAI } from './perplexity'; export * from './types'; export { AgentRuntimeError } from './utils/createError'; export { LobeZhipuAI } from './zhipu'; -export { LobeKnowledgeAI } from './knowledge'; diff --git a/frontend/src/libs/agent-runtime/types/type.ts b/frontend/src/libs/agent-runtime/types/type.ts index a47fba6e..bfa1e3ca 100644 --- a/frontend/src/libs/agent-runtime/types/type.ts +++ b/frontend/src/libs/agent-runtime/types/type.ts @@ -25,6 +25,7 @@ export enum ModelProvider { Anthropic = 'anthropic', Azure = 'azure', Bedrock = 'bedrock', + ChatChat = 'chatChat', ChatGLM = 'chatglm', Google = 'google', Mistral = 'mistral', @@ -33,6 +34,5 @@ export enum ModelProvider { OpenAI = 'openai', Perplexity = 'perplexity', Tongyi = 'tongyi', - ZhiPu = 'zhipu', - Knowledge = 'knowledge', + ZhiPu = 'zhipu' }