Skip to content

Commit 07f8be1

Browse files
committed
fix: improve chat reporter
1 parent 8437c2e commit 07f8be1

7 files changed

Lines changed: 30 additions & 26 deletions

File tree

packages/ai-native/src/browser/chat/chat.internal.service.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,6 @@
11
import { Autowired, Injectable } from '@opensumi/di';
22
import { PreferenceService } from '@opensumi/ide-core-browser';
3-
import {
4-
AIBackSerivcePath,
5-
CancelResponse,
6-
CancellationTokenSource,
7-
Disposable,
8-
Emitter,
9-
ErrorResponse,
10-
Event,
11-
IAIBackService,
12-
IAIBackServiceOption,
13-
ReplyResponse,
14-
} from '@opensumi/ide-core-common';
3+
import { AIBackSerivcePath, Disposable, Emitter, Event, IAIBackService } from '@opensumi/ide-core-common';
154

165
import { IChatManagerService } from '../../common';
176

packages/ai-native/src/browser/chat/chat.view.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ export const AIChatView = observer(() => {
159159
disposer.addDispose(
160160
chatApiService.onChatReplyMessageLaunch((chunk) => {
161161
const relationId = aiReporter.start(AISerivceType.CustomReplay, {
162-
msgType: AISerivceType.CustomReplay,
163162
message: chunk,
164163
});
165164

@@ -192,8 +191,7 @@ export const AIChatView = observer(() => {
192191
list.forEach((item) => {
193192
const { role } = item;
194193

195-
const relationId = aiReporter.start(AISerivceType.Agent, {
196-
msgType: AISerivceType.Agent,
194+
const relationId = aiReporter.start(AISerivceType.Chat, {
197195
message: '',
198196
});
199197

@@ -256,7 +254,6 @@ export const AIChatView = observer(() => {
256254
chatAgentService.onDidSendMessage((chunk) => {
257255
const newChunk = chunk as IChatComponent | IChatContent;
258256
const relationId = aiReporter.start(AISerivceType.Agent, {
259-
msgType: AISerivceType.Agent,
260257
message: '',
261258
});
262259

@@ -333,9 +330,12 @@ export const AIChatView = observer(() => {
333330
const ChatUserRoleRender = chatRenderRegistry.chatUserRoleRender;
334331

335332
const startTime = Date.now();
336-
const relationId = aiReporter.start(AISerivceType.Agent, {
337-
msgType: AISerivceType.Agent,
338-
message: value.message,
333+
const reportType = ChatProxyService.AGENT_ID === agentId ? AISerivceType.Chat : AISerivceType.Agent;
334+
const relationId = aiReporter.start(command || reportType, {
335+
type: AISerivceType.Chat,
336+
message,
337+
agentId,
338+
userMessage: message,
339339
});
340340

341341
msgHistoryManager.addUserMessage({

packages/ai-native/src/browser/components/ChatReply.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ export const ChatReply = (props: IChatReplyProps) => {
197197
}
198198

199199
aiReporter.end(relationId, {
200-
message: request.response.responseText,
200+
assistantMessage: request.response.responseText,
201201
replytime: Date.now() - startTime,
202202
success: true,
203203
isStop: false,
@@ -220,7 +220,7 @@ export const ChatReply = (props: IChatReplyProps) => {
220220
onDone();
221221
}
222222
aiReporter.end(relationId, {
223-
message: request.response.responseText,
223+
assistantMessage: request.response.responseText,
224224
replytime: Date.now() - startTime,
225225
success: false,
226226
isStop: true,

packages/ai-native/src/browser/contrib/rename/rename.handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class RenameHandler extends IAIMonacoContribHandler {
3434
this.lastModelRequestRenameSessionId = undefined;
3535

3636
const startTime = +new Date();
37-
const relationId = this.aiReporter.start('rename', {
37+
const relationId = this.aiReporter.start(AISerivceType.Rename, {
3838
message: 'start',
3939
type: AISerivceType.Rename,
4040
modelRequestStartTime: startTime,

packages/ai-native/src/browser/contrib/terminal/ps1-terminal.service.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ import { IDecoration, IDisposable, IMarker, Terminal } from 'xterm';
55

66
import { Autowired, Injectable } from '@opensumi/di';
77
import { localize } from '@opensumi/ide-core-browser';
8-
import { CancellationTokenSource, Disposable, IAIReporter, TerminalRegistryToken } from '@opensumi/ide-core-common';
8+
import {
9+
AISerivceType,
10+
CancellationTokenSource,
11+
Disposable,
12+
IAIReporter,
13+
TerminalRegistryToken,
14+
} from '@opensumi/ide-core-common';
915
import { ITerminalConnection, ITerminalController } from '@opensumi/ide-terminal-next';
1016
import { listenReadable } from '@opensumi/ide-utils/lib/stream';
1117

@@ -222,7 +228,7 @@ export class PS1TerminalService extends Disposable {
222228
) {
223229
await this.stopAIStreamRequest();
224230

225-
const reportRelationId = this.aiReporter.start('terminalAICommand', { message: commandDescription });
231+
const reportRelationId = this.aiReporter.start(AISerivceType.TerminalAICommand, { message: commandDescription });
226232

227233
const terminalReadableStream = await this.terminalFeatureRegistry.readableCommandSuggestions(
228234
commandDescription,

packages/ai-native/src/common/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export type IChatMessageListAssistantItem = (IChatComponent | IChatContent) & {
7272

7373
export type IChatMessageListItem = IChatMessageListUserItem | IChatMessageListAssistantItem;
7474

75-
export enum ChatCompletionRequestMessageRoleEnum {
75+
export const enum ChatCompletionRequestMessageRoleEnum {
7676
System = 'system',
7777
User = 'user',
7878
Assistant = 'assistant',

packages/core-common/src/types/ai-native/reporter.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export enum AISerivceType {
99
Agent = 'agent',
1010
MergeConflict = 'mergeConflict',
1111
Rename = 'rename',
12+
TerminalAICommand = 'terminalAICommand',
1213
}
1314

1415
export interface CommonLogInfo {
@@ -52,6 +53,12 @@ export enum MergeConflictEditorMode {
5253
'traditional' = 'traditional',
5354
}
5455

56+
export interface ChatRT extends Partial<CommonLogInfo> {
57+
agentId?: string;
58+
userMessage?: string;
59+
assistantMessage?: string;
60+
}
61+
5562
export interface MergeConflictRT extends Partial<CommonLogInfo> {
5663
// 解决冲突模式 (3-way 或 传统模式)
5764
editorMode: MergeConflictEditorMode;
@@ -104,7 +111,9 @@ export type ReportInfo =
104111
| ({ type: AISerivceType.MergeConflict } & MergeConflictRT)
105112
| ({ type: AISerivceType.Rename } & RenameRT)
106113
| ({ type: AISerivceType.InlineChat } & InlineChatRT)
107-
| ({ type: AISerivceType.InlineChatInput } & InlineChatRT);
114+
| ({ type: AISerivceType.InlineChatInput } & InlineChatRT)
115+
| ({ type: AISerivceType.Chat } & ChatRT)
116+
| ({ type: AISerivceType.Agent } & ChatRT);
108117

109118
export const IAIReporter = Symbol('IAIReporter');
110119

0 commit comments

Comments
 (0)