diff --git a/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/ChatMessagesProvider.tsx b/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/ChatMessagesProvider.tsx
index 8a8731e33f..cd9c717a37 100644
--- a/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/ChatMessagesProvider.tsx
+++ b/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/ChatMessagesProvider.tsx
@@ -175,7 +175,7 @@ export const ChatMessagesProvider: React.FC<{ children: React.ReactNode }> = ({
if (!sendMsgs.length) return;
const last = messages[messages.length - 1];
- if (last.role === 'error') {
+ if (last?.role === 'error') {
setMessages((prev) => prev.slice(0, -1));
}
diff --git a/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/MessageRenderer.tsx b/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/MessageRenderer.tsx
index 19d65e148d..dad6460ed3 100644
--- a/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/MessageRenderer.tsx
+++ b/packages/plugins/@nocobase/plugin-ai/src/client/ai-employees/chatbox/MessageRenderer.tsx
@@ -16,6 +16,7 @@ import { useT } from '../../locale';
import { useChatMessages } from './ChatMessagesProvider';
import { useChatBoxContext } from './ChatBoxContext';
import { useChatConversations } from './ChatConversationsProvider';
+import { SchemaComponent } from '@nocobase/client';
const MessageWrapper = React.forwardRef<
HTMLDivElement,
@@ -47,7 +48,23 @@ const AIMessageRenderer: React.FC<{
case 'text':
return (
+ }
footer={