@@ -8,6 +8,7 @@ import { ConsoleLogger, createGUIErrorResponse, LogLevel } from '@tarko/shared-u
88import { Base64ImageParser } from '@agent-infra/media-utils' ;
99import { ImageCompressor , formatBytes } from '@tarko/shared-media-utils' ;
1010import { OperatorManager } from './OperatorManager' ;
11+ import { sleep } from '@gui-agent/shared/utils' ;
1112
1213interface GuiAgentPluginOption {
1314 operatorManager : OperatorManager ;
@@ -36,7 +37,9 @@ export class GuiAgentPlugin extends AgentPlugin {
3637
3738 async initialize ( ) : Promise < void > {
3839 if ( this . agentMode && this . agentMode . id === 'game' ) {
40+ await this . emitPresetUserQuey ( ) ;
3941 await this . emitScreenshotEvent ( ) ;
42+ await this . emitPresetAssistantMessage ( ) ;
4043 }
4144
4245 this . agent . registerTool (
@@ -101,8 +104,9 @@ export class GuiAgentPlugin extends AgentPlugin {
101104 await this . emitScreenshotEvent ( ) ;
102105 }
103106
104- private async emitScreenshotEvent ( ) : Promise < void > {
107+ private async emitScreenshotEvent ( interval = 0 ) : Promise < void > {
105108 const operator = await this . operatorManager . getInstance ( ) ;
109+ if ( interval > 0 ) await sleep ( interval ) ;
106110 const output = await operator ?. doScreenshot ( ) ;
107111 if ( ! output ?. base64 ) {
108112 guiLogger . error ( 'Failed to get screenshot' ) ;
@@ -158,4 +162,26 @@ export class GuiAgentPlugin extends AgentPlugin {
158162 } ) ;
159163 eventStream . sendEvent ( event ) ;
160164 }
165+
166+ private async emitPresetUserQuey ( ) : Promise < void > {
167+ const eventStream = this . agent . getEventStream ( ) ;
168+ const events = eventStream . getEvents ( ) ;
169+ if ( events . length === 0 ) {
170+ const event = eventStream . createEvent ( 'user_message' , {
171+ content : `Goto: ${ this . agentMode ! . link } ` ,
172+ } ) ;
173+ eventStream . sendEvent ( event ) ;
174+ }
175+ }
176+
177+ private async emitPresetAssistantMessage ( ) : Promise < void > {
178+ const eventStream = this . agent . getEventStream ( ) ;
179+ const events = eventStream . getEvents ( ) ;
180+ if ( events . length === 0 ) {
181+ const event = eventStream . createEvent ( 'assistant_message' , {
182+ content : `Successfully navigated to ${ this . agentMode ! . link } , page loaded successfully` ,
183+ } ) ;
184+ eventStream . sendEvent ( event ) ;
185+ }
186+ }
161187}
0 commit comments