From 56831845caae48079e10dfa21445ad9b1185d377 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Thu, 5 Jun 2025 20:26:18 +0800 Subject: [PATCH] change: fix logs --- internal/version/VERSION | 2 +- uixt/android_driver_adb.go | 1 + uixt/browser_driver.go | 5 +++++ uixt/driver_ext_ai.go | 14 ++++++++------ uixt/driver_ext_swipe.go | 3 +++ uixt/mcp_tools_ai.go | 2 -- uixt/mcp_tools_app.go | 5 ----- uixt/mcp_tools_button.go | 4 ---- uixt/mcp_tools_input.go | 3 --- uixt/mcp_tools_screen.go | 1 - uixt/mcp_tools_swipe.go | 2 -- uixt/mcp_tools_touch.go | 7 ------- uixt/mcp_tools_utility.go | 2 -- uixt/mcp_tools_web.go | 5 ----- 14 files changed, 18 insertions(+), 38 deletions(-) diff --git a/internal/version/VERSION b/internal/version/VERSION index 7a7a4b4c..54c8063e 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0-beta-2506052000 +v5.0.0-beta-2506052026 diff --git a/uixt/android_driver_adb.go b/uixt/android_driver_adb.go index 9e2211cd..6fb17ab6 100644 --- a/uixt/android_driver_adb.go +++ b/uixt/android_driver_adb.go @@ -742,6 +742,7 @@ func (ad *ADBDriver) ForegroundInfo() (app types.AppInfo, err error) { } func (ad *ADBDriver) SetIme(imeRegx string) error { + log.Info().Str("imeRegx", imeRegx).Msg("ADBDriver.SetIme") imeList := ad.ListIme() ime := "" for _, imeName := range imeList { diff --git a/uixt/browser_driver.go b/uixt/browser_driver.go index d074eb9d..4bfd3961 100644 --- a/uixt/browser_driver.go +++ b/uixt/browser_driver.go @@ -201,6 +201,7 @@ func (wd *BrowserDriver) CreateNetListener() (*websocket.Conn, error) { } func (wd *BrowserDriver) CloseTab(pageIndex int) (err error) { + log.Info().Int("pageIndex", pageIndex).Msg("BrowserDriver.CloseTab") data := map[string]interface{}{ "page_index": pageIndex, } @@ -210,6 +211,7 @@ func (wd *BrowserDriver) CloseTab(pageIndex int) (err error) { } func (wd *BrowserDriver) HoverBySelector(selector string, options ...option.ActionOption) (err error) { + log.Info().Str("selector", selector).Msg("BrowserDriver.HoverBySelector") data := map[string]interface{}{ "selector": selector, } @@ -222,6 +224,7 @@ func (wd *BrowserDriver) HoverBySelector(selector string, options ...option.Acti } func (wd *BrowserDriver) TapBySelector(selector string, options ...option.ActionOption) (err error) { + log.Info().Str("selector", selector).Msg("BrowserDriver.TapBySelector") data := map[string]interface{}{ "selector": selector, } @@ -234,6 +237,7 @@ func (wd *BrowserDriver) TapBySelector(selector string, options ...option.Action } func (wd *BrowserDriver) SecondaryClick(x, y float64) (err error) { + log.Info().Float64("x", x).Float64("y", y).Msg("BrowserDriver.SecondaryClick") data := map[string]interface{}{ "x": x, "y": y, @@ -243,6 +247,7 @@ func (wd *BrowserDriver) SecondaryClick(x, y float64) (err error) { } func (wd *BrowserDriver) SecondaryClickBySelector(selector string, options ...option.ActionOption) (err error) { + log.Info().Str("selector", selector).Msg("BrowserDriver.SecondaryClickBySelector") data := map[string]interface{}{ "selector": selector, } diff --git a/uixt/driver_ext_ai.go b/uixt/driver_ext_ai.go index f9d18186..28515708 100644 --- a/uixt/driver_ext_ai.go +++ b/uixt/driver_ext_ai.go @@ -18,7 +18,7 @@ import ( "github.com/rs/zerolog/log" ) -func (dExt *XTDriver) StartToGoal(ctx context.Context, text string, opts ...option.ActionOption) error { +func (dExt *XTDriver) StartToGoal(ctx context.Context, prompt string, opts ...option.ActionOption) error { options := option.NewActionOptions(opts...) log.Info().Int("max_retry_times", options.MaxRetryTimes).Msg("StartToGoal") var attempt int @@ -34,7 +34,7 @@ func (dExt *XTDriver) StartToGoal(ctx context.Context, text string, opts ...opti default: } - if err := dExt.AIAction(ctx, text, opts...); err != nil { + if err := dExt.AIAction(ctx, prompt, opts...); err != nil { // Check if this is a LLM service request error that should be retried if errors.Is(err, code.LLMRequestServiceError) { log.Warn().Err(err).Int("attempt", attempt). @@ -50,9 +50,11 @@ func (dExt *XTDriver) StartToGoal(ctx context.Context, text string, opts ...opti } } -func (dExt *XTDriver) AIAction(ctx context.Context, text string, opts ...option.ActionOption) error { +func (dExt *XTDriver) AIAction(ctx context.Context, prompt string, opts ...option.ActionOption) error { + log.Info().Str("prompt", prompt).Msg("performing AI action") + // plan next action - result, err := dExt.PlanNextAction(ctx, text, opts...) + result, err := dExt.PlanNextAction(ctx, prompt, opts...) if err != nil { return err } @@ -95,7 +97,7 @@ func (dExt *XTDriver) AIAction(ctx context.Context, text string, opts ...option. return nil } -func (dExt *XTDriver) PlanNextAction(ctx context.Context, text string, opts ...option.ActionOption) (*ai.PlanningResult, error) { +func (dExt *XTDriver) PlanNextAction(ctx context.Context, prompt string, opts ...option.ActionOption) (*ai.PlanningResult, error) { if dExt.LLMService == nil { return nil, errors.New("LLM service is not initialized") } @@ -127,7 +129,7 @@ func (dExt *XTDriver) PlanNextAction(ctx context.Context, text string, opts ...o } planningOpts := &ai.PlanningOptions{ - UserInstruction: text, + UserInstruction: prompt, Message: &schema.Message{ Role: schema.User, MultiContent: []schema.ChatMessagePart{ diff --git a/uixt/driver_ext_swipe.go b/uixt/driver_ext_swipe.go index 78d1a532..bbfa3f37 100644 --- a/uixt/driver_ext_swipe.go +++ b/uixt/driver_ext_swipe.go @@ -96,6 +96,7 @@ func (dExt *XTDriver) SwipeToTapTexts(texts []string, opts ...option.ActionOptio return errors.New("no text to tap") } + log.Info().Strs("texts", texts).Msg("swipe to tap texts") opts = append(opts, option.WithMatchOne(true), option.WithRegex(true)) actionOptions := option.NewActionOptions(opts...) actionOptions.Identifier = "" @@ -136,6 +137,8 @@ func (dExt *XTDriver) SwipeToTapTexts(texts []string, opts ...option.ActionOptio } func (dExt *XTDriver) SwipeToTapApp(appName string, opts ...option.ActionOption) error { + log.Info().Str("appName", appName).Msg("swipe to tap app") + // go to home screen if err := dExt.Home(); err != nil { return errors.Wrap(err, "go to home screen failed") diff --git a/uixt/mcp_tools_ai.go b/uixt/mcp_tools_ai.go index 22736e24..54983c8d 100644 --- a/uixt/mcp_tools_ai.go +++ b/uixt/mcp_tools_ai.go @@ -39,7 +39,6 @@ func (t *ToolStartToGoal) Implement() server.ToolHandlerFunc { } // Start to goal logic - log.Info().Str("prompt", unifiedReq.Prompt).Msg("starting to goal") err = driverExt.StartToGoal(ctx, unifiedReq.Prompt) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Failed to achieve goal: %s", err.Error())), nil @@ -98,7 +97,6 @@ func (t *ToolAIAction) Implement() server.ToolHandlerFunc { } // AI action logic - log.Info().Str("prompt", unifiedReq.Prompt).Msg("performing AI action") err = driverExt.AIAction(ctx, unifiedReq.Prompt) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("AI action failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_app.go b/uixt/mcp_tools_app.go index 874e4ca0..3221af8c 100644 --- a/uixt/mcp_tools_app.go +++ b/uixt/mcp_tools_app.go @@ -84,7 +84,6 @@ func (t *ToolLaunchApp) Implement() server.ToolHandlerFunc { } // Launch app action logic - log.Info().Str("packageName", unifiedReq.PackageName).Msg("launching app") err = driverExt.AppLaunch(unifiedReq.PackageName) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Launch app failed: %s", err.Error())), nil @@ -141,7 +140,6 @@ func (t *ToolTerminateApp) Implement() server.ToolHandlerFunc { } // Terminate app action logic - log.Info().Str("packageName", unifiedReq.PackageName).Msg("terminating app") success, err := driverExt.AppTerminate(unifiedReq.PackageName) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Terminate app failed: %s", err.Error())), nil @@ -197,7 +195,6 @@ func (t *ToolAppInstall) Implement() server.ToolHandlerFunc { } // App install action logic - log.Info().Str("appUrl", unifiedReq.AppUrl).Msg("installing app") err = driverExt.GetDevice().Install(unifiedReq.AppUrl) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("App install failed: %s", err.Error())), nil @@ -253,7 +250,6 @@ func (t *ToolAppUninstall) Implement() server.ToolHandlerFunc { } // App uninstall action logic - log.Info().Str("packageName", unifiedReq.PackageName).Msg("uninstalling app") err = driverExt.GetDevice().Uninstall(unifiedReq.PackageName) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("App uninstall failed: %s", err.Error())), nil @@ -309,7 +305,6 @@ func (t *ToolAppClear) Implement() server.ToolHandlerFunc { } // App clear action logic - log.Info().Str("packageName", unifiedReq.PackageName).Msg("clearing app") err = driverExt.AppClear(unifiedReq.PackageName) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("App clear failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_button.go b/uixt/mcp_tools_button.go index 637a29ed..9b309b27 100644 --- a/uixt/mcp_tools_button.go +++ b/uixt/mcp_tools_button.go @@ -8,7 +8,6 @@ import ( "github.com/httprunner/httprunner/v5/uixt/types" "github.com/mark3labs/mcp-go/mcp" "github.com/mark3labs/mcp-go/server" - "github.com/rs/zerolog/log" ) // ToolPressButton implements the press_button tool call. @@ -40,7 +39,6 @@ func (t *ToolPressButton) Implement() server.ToolHandlerFunc { } // Press button action logic - log.Info().Str("button", string(unifiedReq.Button)).Msg("pressing button") err = driverExt.PressButton(types.DeviceButton(unifiedReq.Button)) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Press button failed: %s", err.Error())), nil @@ -91,7 +89,6 @@ func (t *ToolHome) Implement() server.ToolHandlerFunc { } // Home action logic - log.Info().Msg("pressing home button") err = driverExt.Home() if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Home button press failed: %s", err.Error())), nil @@ -135,7 +132,6 @@ func (t *ToolBack) Implement() server.ToolHandlerFunc { } // Back action logic - log.Info().Msg("pressing back button") err = driverExt.Back() if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Back button press failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_input.go b/uixt/mcp_tools_input.go index e0ef3b0a..1eab2129 100644 --- a/uixt/mcp_tools_input.go +++ b/uixt/mcp_tools_input.go @@ -7,7 +7,6 @@ import ( "github.com/httprunner/httprunner/v5/uixt/option" "github.com/mark3labs/mcp-go/mcp" "github.com/mark3labs/mcp-go/server" - "github.com/rs/zerolog/log" ) // ToolInput implements the input tool call. @@ -43,7 +42,6 @@ func (t *ToolInput) Implement() server.ToolHandlerFunc { } // Input action logic - log.Info().Str("text", unifiedReq.Text).Msg("inputting text") err = driverExt.Input(unifiedReq.Text) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Input failed: %s", err.Error())), nil @@ -97,7 +95,6 @@ func (t *ToolSetIme) Implement() server.ToolHandlerFunc { } // Set IME action logic - log.Info().Str("ime", unifiedReq.Ime).Msg("setting IME") err = driverExt.SetIme(unifiedReq.Ime) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Set IME failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_screen.go b/uixt/mcp_tools_screen.go index 61fa5055..1d53db84 100644 --- a/uixt/mcp_tools_screen.go +++ b/uixt/mcp_tools_screen.go @@ -129,7 +129,6 @@ func (t *ToolGetSource) Implement() server.ToolHandlerFunc { } // Get source action logic - log.Info().Str("packageName", unifiedReq.PackageName).Msg("getting source") _, err = driverExt.Source(option.WithProcessName(unifiedReq.PackageName)) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Get source failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_swipe.go b/uixt/mcp_tools_swipe.go index b90e7419..fccadffb 100644 --- a/uixt/mcp_tools_swipe.go +++ b/uixt/mcp_tools_swipe.go @@ -331,7 +331,6 @@ func (t *ToolSwipeToTapApp) Implement() server.ToolHandlerFunc { } // Swipe to tap app action logic - log.Info().Str("appName", unifiedReq.AppName).Msg("swipe to tap app") err = driverExt.SwipeToTapApp(unifiedReq.AppName, opts...) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Swipe to tap app failed: %s", err.Error())), nil @@ -410,7 +409,6 @@ func (t *ToolSwipeToTapText) Implement() server.ToolHandlerFunc { } // Swipe to tap text action logic - log.Info().Str("text", unifiedReq.Text).Msg("swipe to tap text") err = driverExt.SwipeToTapTexts([]string{unifiedReq.Text}, opts...) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Swipe to tap text failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_touch.go b/uixt/mcp_tools_touch.go index 654f5f19..06adde5b 100644 --- a/uixt/mcp_tools_touch.go +++ b/uixt/mcp_tools_touch.go @@ -8,7 +8,6 @@ import ( "github.com/httprunner/httprunner/v5/uixt/option" "github.com/mark3labs/mcp-go/mcp" "github.com/mark3labs/mcp-go/server" - "github.com/rs/zerolog/log" ) // ToolTapXY implements the tap_xy tool call. @@ -135,8 +134,6 @@ func (t *ToolTapAbsXY) Implement() server.ToolHandlerFunc { } // Tap absolute XY action logic - log.Info().Float64("x", unifiedReq.X).Float64("y", unifiedReq.Y).Msg("tapping at absolute coordinates") - err = driverExt.TapAbsXY(unifiedReq.X, unifiedReq.Y, opts...) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Tap absolute XY failed: %s", err.Error())), nil @@ -221,7 +218,6 @@ func (t *ToolTapByOCR) Implement() server.ToolHandlerFunc { } // Tap by OCR action logic - log.Info().Str("text", unifiedReq.Text).Msg("tapping by OCR") err = driverExt.TapByOCR(unifiedReq.Text, opts...) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Tap by OCR failed: %s", err.Error())), nil @@ -287,9 +283,6 @@ func (t *ToolTapByCV) Implement() server.ToolHandlerFunc { opts = append(opts, option.WithPreMarkOperation(true)) } - // Tap by CV action logic - log.Info().Msg("tapping by CV") - // For TapByCV, we need to check if there are UI types in the options // In the original DoAction, it requires ScreenShotWithUITypes to be set // We'll add a basic implementation that triggers CV recognition diff --git a/uixt/mcp_tools_utility.go b/uixt/mcp_tools_utility.go index b8940e4b..b5d2cee9 100644 --- a/uixt/mcp_tools_utility.go +++ b/uixt/mcp_tools_utility.go @@ -161,7 +161,6 @@ func (t *ToolSleepRandom) Implement() server.ToolHandlerFunc { } // Sleep random action logic - log.Info().Floats64("params", unifiedReq.Params).Msg("sleeping for random duration") sleepStrict(time.Now(), getSimulationDuration(unifiedReq.Params)) return mcp.NewToolResultText(fmt.Sprintf("Successfully slept for random duration with params: %v", unifiedReq.Params)), nil @@ -210,7 +209,6 @@ func (t *ToolClosePopups) Implement() server.ToolHandlerFunc { } // Close popups action logic - log.Info().Msg("closing popups") err = driverExt.ClosePopupsHandler() if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Close popups failed: %s", err.Error())), nil diff --git a/uixt/mcp_tools_web.go b/uixt/mcp_tools_web.go index ddbca74c..ce4fdd8d 100644 --- a/uixt/mcp_tools_web.go +++ b/uixt/mcp_tools_web.go @@ -101,7 +101,6 @@ func (t *ToolSecondaryClick) Implement() server.ToolHandlerFunc { } // Secondary click action logic - log.Info().Float64("x", unifiedReq.X).Float64("y", unifiedReq.Y).Msg("performing secondary click") err = driverExt.SecondaryClick(unifiedReq.X, unifiedReq.Y) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Secondary click failed: %s", err.Error())), nil @@ -159,7 +158,6 @@ func (t *ToolHoverBySelector) Implement() server.ToolHandlerFunc { } // Hover by selector action logic - log.Info().Str("selector", unifiedReq.Selector).Msg("hovering by selector") err = driverExt.HoverBySelector(unifiedReq.Selector) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Hover by selector failed: %s", err.Error())), nil @@ -215,7 +213,6 @@ func (t *ToolTapBySelector) Implement() server.ToolHandlerFunc { } // Tap by selector action logic - log.Info().Str("selector", unifiedReq.Selector).Msg("tapping by selector") err = driverExt.TapBySelector(unifiedReq.Selector) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Tap by selector failed: %s", err.Error())), nil @@ -271,7 +268,6 @@ func (t *ToolSecondaryClickBySelector) Implement() server.ToolHandlerFunc { } // Secondary click by selector action logic - log.Info().Str("selector", unifiedReq.Selector).Msg("performing secondary click by selector") err = driverExt.SecondaryClickBySelector(unifiedReq.Selector) if err != nil { return mcp.NewToolResultError(fmt.Sprintf("Secondary click by selector failed: %s", err.Error())), nil @@ -332,7 +328,6 @@ func (t *ToolWebCloseTab) Implement() server.ToolHandlerFunc { } // Web close tab action logic - log.Info().Int("tabIndex", unifiedReq.TabIndex).Msg("closing web tab") browserDriver, ok := driverExt.IDriver.(*BrowserDriver) if !ok { return nil, fmt.Errorf("web close tab is only supported for browser drivers")