diff --git a/src/MaaCore/Assistant.cpp b/src/MaaCore/Assistant.cpp
index 7ebde35da1..1553b0c192 100644
--- a/src/MaaCore/Assistant.cpp
+++ b/src/MaaCore/Assistant.cpp
@@ -6,7 +6,7 @@
#include "Config/GeneralConfig.h"
#include "Config/Miscellaneous/OcrPack.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Task/Interface/AwardTask.h"
#include "Task/Interface/CloseDownTask.h"
diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller/Controller.cpp
similarity index 100%
rename from src/MaaCore/Controller.cpp
rename to src/MaaCore/Controller/Controller.cpp
diff --git a/src/MaaCore/Controller.h b/src/MaaCore/Controller/Controller.h
similarity index 100%
rename from src/MaaCore/Controller.h
rename to src/MaaCore/Controller/Controller.h
diff --git a/src/MaaCore/MaaCore.vcxproj b/src/MaaCore/MaaCore.vcxproj
index 7a6ae771ee..44ab11a953 100644
--- a/src/MaaCore/MaaCore.vcxproj
+++ b/src/MaaCore/MaaCore.vcxproj
@@ -38,7 +38,7 @@
-
+
@@ -169,7 +169,7 @@
-
+
diff --git a/src/MaaCore/MaaCore.vcxproj.filters b/src/MaaCore/MaaCore.vcxproj.filters
index aa465a9afd..7bbce7418c 100644
--- a/src/MaaCore/MaaCore.vcxproj.filters
+++ b/src/MaaCore/MaaCore.vcxproj.filters
@@ -80,6 +80,9 @@
{97f7690d-5924-405f-a332-831e7dad3f1e}
+
+ {19fb60c0-726b-4397-80eb-cc888c77cd82}
+
@@ -345,9 +348,6 @@
源文件
-
- 源文件
-
源文件
@@ -510,6 +510,9 @@
源文件\Utils
+
+ 源文件\Controller
+
@@ -677,9 +680,6 @@
源文件
-
- 源文件
-
源文件
@@ -839,5 +839,8 @@
源文件\Task\Reclamation
+
+ 源文件\Controller
+
\ No newline at end of file
diff --git a/src/MaaCore/Task/AbstractTask.cpp b/src/MaaCore/Task/AbstractTask.cpp
index 3920095629..e76ba26e98 100644
--- a/src/MaaCore/Task/AbstractTask.cpp
+++ b/src/MaaCore/Task/AbstractTask.cpp
@@ -12,7 +12,7 @@
#include "AbstractTaskPlugin.h"
#include "Assistant.h"
#include "Config/GeneralConfig.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "ProcessTask.h"
#include "Utils/ImageIo.hpp"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/BattleHelper.cpp b/src/MaaCore/Task/BattleHelper.cpp
index 206278f09a..b237001c81 100644
--- a/src/MaaCore/Task/BattleHelper.cpp
+++ b/src/MaaCore/Task/BattleHelper.cpp
@@ -6,7 +6,7 @@
#include "Config/Miscellaneous/AvatarCacheManager.h"
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Utils/ImageIo.hpp"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp
index 56e6484bdb..cbcc765482 100644
--- a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp
+++ b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "DrGrandetTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/OcrImageAnalyzer.h"
#include "Config/TaskData.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp b/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp
index adbed24c7d..a0f8064402 100644
--- a/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp
+++ b/src/MaaCore/Task/Fight/StageDropsTaskPlugin.cpp
@@ -8,7 +8,7 @@
#include "Config/Miscellaneous/ItemConfig.h"
#include "Config/Miscellaneous/StageDropsConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Task/ProcessTask.h"
#include "Task/ReportDataTask.h"
diff --git a/src/MaaCore/Task/Fight/StageNavigationTask.cpp b/src/MaaCore/Task/Fight/StageNavigationTask.cpp
index 3345ad1b36..1824b96843 100644
--- a/src/MaaCore/Task/Fight/StageNavigationTask.cpp
+++ b/src/MaaCore/Task/Fight/StageNavigationTask.cpp
@@ -3,7 +3,7 @@
#include
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Utils/Logger.hpp"
#include "Vision/OcrImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp
index 4eb03b9363..20af67e158 100644
--- a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp
@@ -5,7 +5,7 @@
#include
#include "Common/AsstMsg.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Infrast/InfrastFacilityImageAnalyzer.h"
#include "Vision/Infrast/InfrastOperImageAnalyzer.h"
#include "Vision/MatchImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Infrast/InfrastDormTask.cpp b/src/MaaCore/Task/Infrast/InfrastDormTask.cpp
index 0e764e6ec8..5f60654d25 100644
--- a/src/MaaCore/Task/Infrast/InfrastDormTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastDormTask.cpp
@@ -2,7 +2,7 @@
#include
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Infrast/InfrastOperImageAnalyzer.h"
#include "Vision/MatchImageAnalyzer.h"
#include "Vision/OcrImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp b/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp
index 7e57a67fa4..7e30ce1dd7 100644
--- a/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastInfoTask.cpp
@@ -1,6 +1,6 @@
#include "InfrastInfoTask.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Infrast/InfrastFacilityImageAnalyzer.h"
#include "Status.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Infrast/InfrastMfgTask.cpp b/src/MaaCore/Task/Infrast/InfrastMfgTask.cpp
index 03a409f112..a242113981 100644
--- a/src/MaaCore/Task/Infrast/InfrastMfgTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastMfgTask.cpp
@@ -1,6 +1,6 @@
#include "InfrastMfgTask.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/MatchImageAnalyzer.h"
bool asst::InfrastMfgTask::_run()
diff --git a/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp b/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp
index 5636121b4f..6aabdd4c4d 100644
--- a/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastOfficeTask.cpp
@@ -1,6 +1,6 @@
#include "InfrastOfficeTask.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Utils/Logger.hpp"
#include "Utils/Ranges.hpp"
diff --git a/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp b/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp
index d49a1ca192..eaf514c521 100644
--- a/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastPowerTask.cpp
@@ -1,6 +1,6 @@
#include "InfrastPowerTask.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Utils/Logger.hpp"
#include "Utils/Ranges.hpp"
diff --git a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp
index 164f445b19..0f26c012e5 100644
--- a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp
@@ -7,7 +7,7 @@
#include "Config/Miscellaneous/InfrastConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Task/ProcessTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp
index b80261c8c9..bf29992c59 100644
--- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp
+++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp
@@ -2,7 +2,7 @@
#include "Utils/Ranges.hpp"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Infrast/InfrastClueImageAnalyzer.h"
#include "Vision/Infrast/InfrastClueVacancyImageAnalyzer.h"
#include "Vision/MatchImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.cpp b/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.cpp
index f956e778ee..12e4c8b8d4 100644
--- a/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.cpp
+++ b/src/MaaCore/Task/Miscellaneous/AutoRecruitTask.cpp
@@ -3,7 +3,7 @@
#include "Config/GeneralConfig.h"
#include "Config/Miscellaneous/RecruitConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Task/ReportDataTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp
index ef9376c90f..8c7fd9f35b 100644
--- a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp
+++ b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp
@@ -6,7 +6,7 @@
#include "Config/Miscellaneous/CopilotConfig.h"
#include "Config/Miscellaneous/SSSCopilotConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Utils/Logger.hpp"
#include "Vision/OcrWithFlagTemplImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp
index df4f1ef22e..7e23a8e1d3 100644
--- a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp
+++ b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp
@@ -11,7 +11,7 @@
#include "Config/Miscellaneous/CopilotConfig.h"
#include "Config/Miscellaneous/TilePack.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Utils/Algorithm.hpp"
#include "Utils/ImageIo.hpp"
diff --git a/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp b/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp
index 3f99e1a911..cd05090138 100644
--- a/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp
+++ b/src/MaaCore/Task/Miscellaneous/CreditShoppingTask.cpp
@@ -3,7 +3,7 @@
#include
#include
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/MatchImageAnalyzer.h"
#include "Vision/Miscellaneous/CreditShopImageAnalyzer.h"
#include "Vision/OcrImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp b/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp
index 27292e2cdd..d191198636 100644
--- a/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp
+++ b/src/MaaCore/Task/Miscellaneous/DepotRecognitionTask.cpp
@@ -4,7 +4,7 @@
#include
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Miscellaneous/DepotImageAnalyzer.h"
#include "Config/GeneralConfig.h"
#include "Config/TaskData.h"
diff --git a/src/MaaCore/Task/Miscellaneous/StartGameTaskPlugin.cpp b/src/MaaCore/Task/Miscellaneous/StartGameTaskPlugin.cpp
index a94902860e..ab65240d71 100644
--- a/src/MaaCore/Task/Miscellaneous/StartGameTaskPlugin.cpp
+++ b/src/MaaCore/Task/Miscellaneous/StartGameTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "StartGameTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
using namespace asst;
diff --git a/src/MaaCore/Task/Miscellaneous/StopGameTaskPlugin.cpp b/src/MaaCore/Task/Miscellaneous/StopGameTaskPlugin.cpp
index 11d7ff9a20..bd52ef5562 100644
--- a/src/MaaCore/Task/Miscellaneous/StopGameTaskPlugin.cpp
+++ b/src/MaaCore/Task/Miscellaneous/StopGameTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "StopGameTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
using namespace asst;
diff --git a/src/MaaCore/Task/ProcessTask.cpp b/src/MaaCore/Task/ProcessTask.cpp
index ad310a359f..fb4d1ce802 100644
--- a/src/MaaCore/Task/ProcessTask.cpp
+++ b/src/MaaCore/Task/ProcessTask.cpp
@@ -8,7 +8,7 @@
#include "Config/GeneralConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Utils/Logger.hpp"
#include "Vision/Miscellaneous/ProcessTaskImageAnalyzer.h"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp
index 82176f0cc0..f483f76361 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp
@@ -11,7 +11,7 @@
#include "Config/Miscellaneous/TilePack.h"
#include "Config/Roguelike/RoguelikeCopilotConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Task/ProcessTask.h"
#include "Utils/ImageIo.hpp"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp
index 009da15caa..cd1cf6ef62 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "RoguelikeCustomStartTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/OcrImageAnalyzer.h"
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/TaskData.h"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp
index 5e7dd65b72..f6375ea6fb 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "RoguelikeDebugTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp
index e326433889..d0ebfcd22d 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp
@@ -2,7 +2,7 @@
#include "Utils/Ranges.hpp"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Roguelike/RoguelikeFormationImageAnalyzer.h"
#include "Config/TaskData.h"
#include "Status.h"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp
index 34f3b87729..16b5cdc5d5 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp
@@ -3,7 +3,7 @@
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/Roguelike/RoguelikeRecruitConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Status.h"
#include "Task/ProcessTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp
index d5e961f062..840c34a47c 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "RoguelikeShoppingTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/OcrWithFlagTemplImageAnalyzer.h"
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/Roguelike/RoguelikeShoppingConfig.h"
diff --git a/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp
index 92843d1392..b32b28338b 100644
--- a/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp
+++ b/src/MaaCore/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp
@@ -1,6 +1,6 @@
#include "RoguelikeSkillSelectionTaskPlugin.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h"
#include "Config/Roguelike/RoguelikeRecruitConfig.h"
#include "Config/TaskData.h"
diff --git a/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp b/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp
index 29e623c4b7..5a55e37b0b 100644
--- a/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp
+++ b/src/MaaCore/Task/SSS/SSSBattleProcessTask.cpp
@@ -2,7 +2,7 @@
#include "Config/Miscellaneous/SSSCopilotConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/SSS/SSSDropRewardsTaskPlugin.cpp b/src/MaaCore/Task/SSS/SSSDropRewardsTaskPlugin.cpp
index d93bc463ff..71198ec483 100644
--- a/src/MaaCore/Task/SSS/SSSDropRewardsTaskPlugin.cpp
+++ b/src/MaaCore/Task/SSS/SSSDropRewardsTaskPlugin.cpp
@@ -3,7 +3,7 @@
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/Miscellaneous/SSSCopilotConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Task/SSS/SSSBattleProcessTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/SSS/SSSStageManagerTask.cpp b/src/MaaCore/Task/SSS/SSSStageManagerTask.cpp
index cf60cb53a7..6fd97a7409 100644
--- a/src/MaaCore/Task/SSS/SSSStageManagerTask.cpp
+++ b/src/MaaCore/Task/SSS/SSSStageManagerTask.cpp
@@ -2,7 +2,7 @@
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/Miscellaneous/SSSCopilotConfig.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Task/SSS/SSSBattleProcessTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp b/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp
index 3c5b521997..21d61763e1 100644
--- a/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp
+++ b/src/MaaCore/Task/SingleStep/SingleStepBattleProcessTask.cpp
@@ -1,6 +1,6 @@
#include "SingleStepBattleProcessTask.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Task/ProcessTask.h"
#include "Utils/Logger.hpp"
diff --git a/src/MaaCore/Vision/Roguelike/RoguelikeRecruitSupportAnalyzer.cpp b/src/MaaCore/Vision/Roguelike/RoguelikeRecruitSupportAnalyzer.cpp
index eaf2efc5da..c7b7ce9646 100644
--- a/src/MaaCore/Vision/Roguelike/RoguelikeRecruitSupportAnalyzer.cpp
+++ b/src/MaaCore/Vision/Roguelike/RoguelikeRecruitSupportAnalyzer.cpp
@@ -5,7 +5,7 @@
#include "Config/Miscellaneous/BattleDataConfig.h"
#include "Config/TaskData.h"
-#include "Controller.h"
+#include "Controller/Controller.h"
#include "Utils/Logger.hpp"
#include "Utils/NoWarningCV.h"
#include "Vision/MatchImageAnalyzer.h"