From 532c37e3364fe0c995d53eb7d0922876fd0f5d42 Mon Sep 17 00:00:00 2001 From: engigu Date: Sun, 4 Jan 2026 08:43:32 +0800 Subject: [PATCH] fix: demo mode exec fix --- .../services/tasks/task_execution_service.go | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/internal/services/tasks/task_execution_service.go b/internal/services/tasks/task_execution_service.go index f8be11f..b505727 100644 --- a/internal/services/tasks/task_execution_service.go +++ b/internal/services/tasks/task_execution_service.go @@ -1,6 +1,7 @@ package tasks import ( + "baihu/internal/constant" "baihu/internal/database" "baihu/internal/logger" "baihu/internal/models" @@ -56,6 +57,27 @@ type TaskExecutionResult struct { // ExecuteTask 执行任务(统一入口) func (s *TaskExecutionService) ExecuteTask(req *TaskExecutionRequest) error { + task := req.Task + start := time.Now() + + // 演示模式:直接返回模拟结果 + if constant.DemoMode { + end := time.Now() + demoOutput := fmt.Sprintf("[演示模式] 任务 #%d (%s) 执行已跳过\n实际命令不会运行: %s", task.ID, task.Name, task.Command) + result := &TaskExecutionResult{ + TaskID: task.ID, + AgentID: nil, + Command: task.Command, + Output: demoOutput, + Status: "success", + Duration: end.Sub(start).Milliseconds(), + ExitCode: 0, + Start: start, + End: end, + } + return s.processExecutionResult(result) + } + if req.Task.AgentID != nil && *req.Task.AgentID > 0 { // 远程执行:通过 Agent return s.executeRemote(req)