-
Notifications
You must be signed in to change notification settings - Fork 323
Open
Labels
bugSomething isn't workingSomething isn't working
Description
在提问之前...
- 我已经搜索了现有的 issues
- 我在提问题之前至少花费了 5 分钟来思考和准备
- 我已经阅读了文档中的 常见问题(FAQ)
- 这个问题出现了至少三次,不是偶发的
- 我使用 OAS 的 dev 分支
描述你的问题
因为在Alas中使用过Docker模式,且我看到在项目中提供了docker-compose文件,就尝试进行了部署。在这个过程遇到了点问题
1.Windows依赖,在项中初始化和操作有几个windows的方法,我尝试移除后可以工作,但基于项目熟悉度和Python水平问题未深究可能造成的影响。调整的地方有:
1.1.module/device/screenshot.py:
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# super(Window, self).__init__(*args, **kwargs) #注释
super(Window, self).__init__() #取消参数传递
@cached_property
def screenshot_methods(self):
return {
'ADB': self.screenshot_adb,
'ADB_nc': self.screenshot_adb_nc,
'uiautomator2': self.screenshot_uiautomator2,
# 'aScreenCap': self.screenshot_ascreencap,
# 'aScreenCap_nc': self.screenshot_ascreencap_nc,
'DroidCast': self.screenshot_droidcast,
'DroidCast_raw': self.screenshot_droidcast_raw,
'scrcpy': self.screenshot_scrcpy,
#'window_background': self.screenshot_window_background, #取消window_background
'nemu_ipc': self.screenshot_nemu_ipc
}
1.2.module/device/control.py:
@cached_property
def click_methods(self):
return {
'ADB': self.click_adb,
'uiautomator2': self.click_uiautomator2,
'minitouch': self.click_minitouch#,
#'window_message': self.click_window_message 取消
# 'Hermit': self.click_hermit,
# 'MaaTouch': self.click_maatouch,
}
@cached_property
def long_click_methods(self):
return {
'ADB': self.long_click_adb,
'uiautomator2': self.long_click_uiautomator2,
'minitouch': self.long_click_minitouch,
#'window_message': self.long_click_window_message, 取消
'scrcpy': self.long_click_scrcpy
# 'Hermit': self.click_hermit,
# 'MaaTouch': self.click_maatouch,
}
调整完后在脚本中不选择相关的截图和操作模式即可正常工作。
2.Dokcer进程管理模式差异(我自认为,但是可能不是这个原因),表现为启动容器后,OASX可以正常访问,但是当我启动调度器后手动关闭,如果前没有正在运行的调度器时,就会触发websocket的关闭,但是我同时启动了两个调度器,任意关闭其一都不会导致这个问题。只有关闭调度器后且没有正常运行的调度器才存在这个问题,此时我需要手动重启容器才可重新访问
如何复现
- 前往 '...'
- 点击 '....'
- 滑动到 '....'
- 出现问题
预期行为
停止调度器后,不应中断OASX对OAS的访问,目前会导致OAS无法访问得重启容器。
相关 Logs
控制台:
ERROR 2025-12-08 15:56:10.788 │ AdbError: device '10.10.10.210:5557' not found
CRITICAL 2025-12-08 15:56:10.791 │ Retry screenshot_droidcast_raw() failed
CRITICAL 2025-12-08 15:56:10.794 │
CRITICAL 2025-12-08 15:56:11.196 │ Request human takeover
INFO 2025-12-08 15:56:11.199 │ Notifier: OAS2
INFO 2025-12-08 15:56:11.202 │ Script oas2 process exit
ERROR 2025-12-08 15:56:11.205 │ Error: 1
INFO: Shutting down
WARNING 2025-12-08 15:56:17.443 │ [oas2] websocket disconnect
INFO: connection closed
Unexpected ASGI message 'websocket.close', after sending 'websocket.close'.
WARNING 2025-12-08 15:56:17.454 │ [oas1] websocket disconnect
INFO: connection closed
INFO: Waiting for application shutdown.
Unexpected ASGI message 'websocket.close', after sending 'websocket.close'.
INFO 2025-12-08 15:56:17.544 │ OAS web service shutdown done
INFO: Application shutdown complete.
INFO: Finished server process [7]
Server.txt:
════════════════════════════════════════════════════════════════════════════════
──────────────────────────────────── START ─────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════
2025-12-08 15:32:16.919 | logger.py:0312 | INFO | <<< LAUNCHER CONFIG >>>
2025-12-08 15:32:16.923 | logger.py:0320 | INFO | [Host] 0.0.0.0
2025-12-08 15:32:16.926 | logger.py:0320 | INFO | [Port] 22267
2025-12-08 15:32:16.927 | logger.py:0320 | INFO | [Reload] False
2025-12-08 15:32:18.643 | app.py:0043 | INFO | OAS web service startup done
2025-12-08 15:32:18.979 | config.py:0226 | INFO | Pending tasks: ['Restart', 'WantedQuests']
2025-12-08 15:32:18.984 | logger.py:0320 | INFO | [Task] Restart (Enable, 0, 2025-12-05 17:50:47)
2025-12-08 15:51:18.293 | config_model.py:0405 | INFO | Set arg oas1.script.device.control_method.minitouch
2025-12-08 15:51:22.801 | config_model.py:0405 | INFO | Set arg oas1.script.device.control_method.adb
2025-12-08 15:51:39.853 | script_process.py:0036 | WARNING | Script oas1 is initialized
2025-12-08 15:55:33.150 | config_manager.py:0067 | INFO | copy /app/OnmyojiAutoScript/config/oas1.json to /app/OnmyojiAutoScript/config/oas2.json
2025-12-08 15:55:47.548 | config_model.py:0405 | INFO | Set arg oas2.script.device.serial.10.10.10.210:5557
2025-12-08 15:56:03.153 | config.py:0234 | INFO | No task pending
2025-12-08 15:56:03.162 | logger.py:0320 | INFO | [Task] Restart (Enable, 0, 2025-12-09 09:05:00)
2025-12-08 15:56:17.443 | script_router.py:0232 | WARNING | [oas2] websocket disconnect
2025-12-08 15:56:17.454 | script_router.py:0232 | WARNING | [oas1] websocket disconnect
2025-12-08 15:56:17.544 | app.py:0047 | INFO | OAS web service shutdown done
OAS1:
2025-12-08 15:54:31.634 | logger.py:0320 | INFO | [WQ_TYPE_4 0.010s] [探索]
2025-12-08 15:54:31.678 | logger.py:0320 | INFO | [WQ_INFO_4 0.041s] [第三章(数量:6)]
2025-12-08 15:54:31.682 | script_task.py:0356 | INFO | [Wanted Quests] type: 探索 destination: 第三章 number: 6
2025-12-08 15:54:31.719 | control.py:0074 | INFO | Click (1048, 276) @ WQ_GOTO_1
2025-12-08 15:54:34.769 | control.py:0074 | INFO | Click ( 962, 514) @ CHANLLENGE_WQC_FIRE
───────────────────────────── GENERAL BATTLE START ─────────────────────────────
2025-12-08 15:54:35.645 | logger.py:0310 | INFO | GENERAL BATTLE START
2025-12-08 15:54:35.647 | general_battle.py:0038 | INFO | Current count: 3
2025-12-08 15:54:35.972 | general_battle.py:0058 | INFO | Wait to enter the preparation page
2025-12-08 15:54:38.033 | device.py:0134 | INFO | Add stuck record: BATTLE_STATUS_S
2025-12-08 15:54:38.037 | script_task.py:0262 | INFO | Start battle process
2025-12-08 15:55:08.067 | control.py:0074 | INFO | Click ( 454, 233) @ GB_WIN
2025-12-08 15:55:09.265 | script_task.py:0272 | INFO | Win battle
2025-12-08 15:55:09.553 | control.py:0074 | INFO | Click ( 682, 563) @ GB_REWARD
2025-12-08 15:55:10.773 | control.py:0074 | INFO | Click ( 597, 601) @ GB_REWARD
2025-12-08 15:55:12.311 | control.py:0074 | INFO | Click (1045, 135) @ UI_UI_BACK_RED
2025-12-08 15:55:14.421 | script_task.py:0069 | INFO | get reward
2025-12-08 15:55:14.720 | control.py:0074 | INFO | Click ( 85, 189) @ WQ_WQ_BOX
2025-12-08 15:55:15.648 | control.py:0074 | INFO | Click ( 995, 360) @ UI_UI_REWARD
2025-12-08 15:55:16.247 | base_task.py:0642 | INFO | Get reward success
2025-12-08 15:55:16.588 | script_task.py:0066 | INFO | no more wq remained
2025-12-08 15:55:16.597 | config.py:0373 | INFO | Delay task `wanted_quests` to 2025-12-09 15:55:16 (success=True, server_update=True)
2025-12-08 15:55:16.612 | logger.py:0320 | INFO | [wanted_quests.scheduler.next_run] 2025-12-09 15:55:16
2025-12-08 15:55:16.615 | config_model.py:0169 | INFO | auto save config
2025-12-08 15:55:16.626 | script.py:0499 | INFO | Scheduler: End task `WantedQuests`
2025-12-08 15:55:16.637 | config.py:0234 | INFO | No task pending
2025-12-08 15:55:16.640 | logger.py:0320 | INFO | [Task] Restart (Enable, 0, 2025-12-09 09:05:00)
2025-12-08 15:55:16.644 | script.py:0345 | INFO | Goto main page during wait
2025-12-08 15:55:16.872 | script.py:0379 | INFO | module_path: /app/OnmyojiAutoScript/tasks/GotoMain/script_task.py, module_name: script_task
2025-12-08 15:55:16.900 | game_ui.py:0103 | INFO | UI get current page
2025-12-08 15:55:16.943 | logger.py:0320 | INFO | [UI] page_exploration
2025-12-08 15:55:16.946 | logger.py:0312 | INFO | <<< UI GOTO PAGE_MAIN >>>
2025-12-08 15:55:16.950 | game_ui.py:0230 | INFO | Current page: page_exploration. Following shortest path:
2025-12-08 15:55:16.953 | game_ui.py:0232 | INFO | page_exploration -> page_main
2025-12-08 15:55:16.955 | game_ui.py:0277 | INFO | Page switch: page_exploration -> page_main
2025-12-08 15:55:17.159 | control.py:0074 | INFO | Click ( 79, 68) @ PAGE_BACK_BLUE
2025-12-08 15:55:17.216 | game_ui.py:0089 | INFO | Waiting for page_main
2025-12-08 15:55:19.592 | game_ui.py:0302 | INFO | [2.4s]Page arrived page_main
OAS2:
════════════════════════════════════════════════════════════════════════════════
──────────────────────────────────── START ─────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════
2025-12-08 15:56:03.459 | logger.py:0170 | INFO | Log cleanup finished
2025-12-08 15:56:03.463 | script.py:0445 | INFO | Start scheduler loop: oas2
2025-12-08 15:56:03.471 | config_model.py:0169 | INFO | auto save config
2025-12-08 15:56:03.489 | config.py:0234 | INFO | No task pending
2025-12-08 15:56:03.492 | logger.py:0320 | INFO | [Task] Restart (Enable, 0, 2025-12-09 09:05:00)
2025-12-08 15:56:03.495 | script.py:0345 | INFO | Goto main page during wait
════════════════════════════════════ DEVICE ════════════════════════════════════
2025-12-08 15:56:03.499 | logger.py:0307 | INFO | DEVICE
2025-12-08 15:56:03.501 | logger.py:0320 | INFO | [AdbBinary] adb
2025-12-08 15:56:03.503 | logger.py:0320 | INFO | [AdbClient] AdbClient(127.0.0.1, 5037)
2025-12-08 15:56:03.506 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:03.509 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:03.512 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:03.517 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:03.522 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:03.526 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:03.528 | connection.py:0571 | WARNING | Failed to connect 10.10.10.210:5557 after 3 trial, assume connected
2025-12-08 15:56:03.531 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:03.533 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:03.537 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:03.539 | logger.py:0320 | INFO | [AdbDevice] AdbDevice(serial=10.10.10.210:5557)
2025-12-08 15:56:03.542 | logger.py:0320 | INFO | [PackageName] com.netease.onmyoji
2025-12-08 15:56:03.545 | screenshot.py:0186 | INFO | Screenshot interval set to 0.3s
2025-12-08 15:56:03.548 | logger.py:0354 | ERROR | AdbError: device '10.10.10.210:5557' not found
2025-12-08 15:56:03.553 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:03.557 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:03.560 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:03.563 | connection.py:0571 | WARNING | Failed to connect 10.10.10.210:5557 after 3 trial, assume connected
2025-12-08 15:56:03.565 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:03.567 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:03.571 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:03.573 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:03.576 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:03.579 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:03.582 | logger.py:0354 | ERROR | AdbError: device '10.10.10.210:5557' not found
2025-12-08 15:56:04.588 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:04.592 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:04.597 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:04.600 | connection.py:0571 | WARNING | Failed to connect 10.10.10.210:5557 after 3 trial, assume connected
2025-12-08 15:56:04.604 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:04.606 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:04.610 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:04.612 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:04.615 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:04.619 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:04.622 | logger.py:0354 | ERROR | AdbError: device '10.10.10.210:5557' not found
2025-12-08 15:56:07.628 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:07.634 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:07.647 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:07.657 | connection.py:0571 | WARNING | Failed to connect 10.10.10.210:5557 after 3 trial, assume connected
2025-12-08 15:56:07.669 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:07.681 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:07.691 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:07.695 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:07.699 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:07.705 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:07.710 | logger.py:0354 | ERROR | AdbError: device '10.10.10.210:5557' not found
2025-12-08 15:56:10.719 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:10.726 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:10.740 | connection.py:0553 | INFO | failed to connect to '10.10.10.210:5557': Connection refused
2025-12-08 15:56:10.752 | connection.py:0571 | WARNING | Failed to connect 10.10.10.210:5557 after 3 trial, assume connected
2025-12-08 15:56:10.764 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:10.771 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:10.775 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:10.777 | logger.py:0312 | INFO | <<< DETECT DEVICE >>>
2025-12-08 15:56:10.781 | connection.py:0750 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2025-12-08 15:56:10.785 | connection.py:0757 | INFO | 10.10.10.210:5556
2025-12-08 15:56:10.788 | logger.py:0354 | ERROR | AdbError: device '10.10.10.210:5557' not found
2025-12-08 15:56:10.791 | droidcast.py:0085 | CRITICAL | Retry screenshot_droidcast_raw() failed
2025-12-08 15:56:10.794 | script.py:0425 | CRITICAL |
2025-12-08 15:56:11.196 | script.py:0427 | CRITICAL | Request human takeover
2025-12-08 15:56:11.199 | config.py:0130 | INFO | Notifier: OAS2
2025-12-08 15:56:11.202 | script_process.py:0139 | INFO | Script oas2 process exit
2025-12-08 15:56:11.205 | logger.py:0354 | ERROR | Error: 1
截图
No response
还有别的吗?
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working