Skip to content

Commit 6f12eb2

Browse files
committed
show model in message
1 parent a191dea commit 6f12eb2

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

src/components/chat/ChatComponent.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,17 @@ const ChatComponent: React.FC<ChatComponentProps> = ({
8080
const handleSendMessage = async () => {
8181
if (!inputMessage.trim()) return;
8282

83+
// Find the selected model info
84+
const selectedModelInfo = AVAILABLE_MODELS.find((m) => m.id === selectedModel);
85+
8386
const userMessageId = addChatMessage('user', inputMessage);
8487
setInputMessage('');
8588

8689
try {
8790
const response = await llmApiService.sendMessage(inputMessage, selectedModel, {
8891
stream: false,
8992
});
90-
addChatMessage('assistant', response.content);
93+
addChatMessage('assistant', response.content, undefined, undefined, selectedModelInfo);
9194
} catch (error) {
9295
console.error('API error:', error);
9396
addChatMessage(

src/components/chat/ChatMessage.tsx

+17-9
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,12 @@ export interface ChatMessageData {
3434
content: string;
3535
subprocesses: Subprocess[];
3636
isExpanded?: boolean;
37-
timestamp?: Date; // Add timestamp
37+
timestamp?: Date;
38+
model?: {
39+
id: string;
40+
name: string;
41+
provider: string;
42+
};
3843
}
3944

4045
interface ChatMessageProps {
@@ -92,21 +97,24 @@ const ChatMessage: React.FC<ChatMessageProps> = ({
9297
[handleCopyMessage]
9398
); // Only recreate when handleCopyMessage changes
9499

95-
const TimeStampRow = useCallback(
100+
const MetaInfo = useCallback(
96101
() => (
97-
<span className="text-xs text-muted-foreground mb-1 px-2 opacity-30 hover:opacity-100 transition-opacity">
98-
{message.type}{message.timestamp ? new Date(message.timestamp).toLocaleTimeString() : ''}
99-
</span>
102+
<div className="flex flex-col gap-0.5 text-xs text-muted-foreground mb-1 px-2">
103+
<span className="opacity-30 hover:opacity-100 transition-opacity">
104+
{message.type}{message.model && message.model?.name + ' • '}
105+
{message.timestamp ? new Date(message.timestamp).toLocaleTimeString() : ''}
106+
</span>
107+
</div>
100108
),
101-
[message.type, message.timestamp]
109+
[message.type, message.timestamp, message.model]
102110
);
103111

104112
// For log messages
105113
if (message.type === 'log') {
106114
return (
107115
<div className="mb-4 px-4">
108116
<div className="flex flex-col max-w-[80%]">
109-
<TimeStampRow />
117+
<MetaInfo />
110118
<div className="rounded-lg bg-muted/50 p-4">
111119
<div
112120
className="cursor-pointer flex flex-col"
@@ -172,7 +180,7 @@ const ChatMessage: React.FC<ChatMessageProps> = ({
172180
);
173181
}
174182

175-
// Render chat messages (user/assistant) in WhatsApp style
183+
// For chat messages
176184
return (
177185
<div
178186
className={cn(
@@ -181,7 +189,7 @@ const ChatMessage: React.FC<ChatMessageProps> = ({
181189
)}
182190
>
183191
<div className="flex flex-col max-w-[80%]">
184-
<TimeStampRow />
192+
<MetaInfo />
185193
<div
186194
className={cn(
187195
'rounded-2xl px-4 py-2',

src/hooks/useChatMessages.ts

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ChatMessageData, Subprocess, SubprocessStatus } from '@/components/chat/ChatMessage';
2+
import { LLMModel } from '@/lib/llm/types';
23
import { useCallback, useState } from 'react';
34

45
type SubprocessUpdater = (subprocess: Subprocess) => Subprocess;
@@ -13,6 +14,7 @@ export const useChatMessages = () => {
1314
content: string,
1415
title?: string,
1516
service?: string,
17+
model?: LLMModel,
1618
isExpanded = true
1719
) => {
1820
const newMessage: ChatMessageData = {
@@ -24,6 +26,13 @@ export const useChatMessages = () => {
2426
subprocesses: [],
2527
isExpanded,
2628
timestamp: new Date(),
29+
model: model
30+
? {
31+
id: model.id,
32+
name: model.name,
33+
provider: model.provider,
34+
}
35+
: undefined,
2736
};
2837
setChatMessages((prev) => [...prev, newMessage]);
2938
return newMessage.id;

0 commit comments

Comments
 (0)