OnmyojiAutoScript百鬼夜行自动化技术实现与智能决策方案解析
【免费下载链接】OnmyojiAutoScriptOnmyoji Auto Script | 阴阳师脚本项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript
OnmyojiAutoScript作为阴阳师自动化脚本项目,其百鬼夜行模块通过计算机视觉识别与智能决策算法,实现了高效式神碎片收集的自动化解决方案。该系统采用模块化架构设计,结合图像识别、目标跟踪和自适应控制策略,为玩家提供稳定可靠的碎片获取途径。
问题驱动:手动操作效率瓶颈与技术解决方案
传统百鬼夜行手动操作面临三大核心问题:撒豆时机难以精确控制、碎片获取效率低下、长时间操作导致的设备性能衰减。数据统计显示,人工操作的有效撒豆率仅为50%-60%,而自动化系统可将该指标提升至85%以上。
技术架构设计原理
百鬼夜行自动化系统采用三层架构设计:设备控制层、图像处理层和决策执行层。设备控制层通过ADB或Windows消息机制与模拟器交互;图像处理层基于YOLO目标检测算法识别式神位置;决策执行层应用强化学习算法优化撒豆策略。
核心工作流程:
- 屏幕图像捕获(100-300ms间隔)
- 式神目标检测与分类(置信度阈值0.6)
- 运动轨迹预测与跟踪(IOU阈值0.7)
- 撒豆决策与执行(5-10颗/秒频率)
图1:自动化系统主界面展示任务管理与模块配置功能
技术实现:图像识别与智能决策算法深度解析
目标检测与跟踪算法实现
系统采用基于ONNX Runtime的YOLO目标检测模型,支持FP32推理精度,针对百鬼夜行场景优化了式神识别分类。检测器通过oashya.tracker.Tracker类实现,配置参数包括置信度阈值(conf_threshold)和NMS阈值(iou_threshold)。
# 跟踪器初始化配置示例 args = { 'conf_threshold': 0.6, # 置信度阈值,范围[0.2, 1] 'iou_threshold': 0.7, # NMS阈值,范围[0.2, 1] 'precision': 'fp32', # 推理精度 'inference_engine': 'onnxruntime', # 推理引擎 'debug': False # 调试模式 } tracker = Tracker(args=args)撒豆决策算法设计
决策算法基于加权优先级系统,为不同稀有度式神分配权重参数。系统通过Focus类计算每个目标的决策价值(omega值),结合式神稀有度、运动速度和buff状态进行综合评估。
权重配置示例:
# 式神稀有度权重配置 weights = [ hya_config.hya_sp, # SP式神权重,默认1.0 hya_config.hya_ssr, # SSR式神权重,默认1.0 hya_config.hya_sr, # SR式神权重,默认0.7 hya_config.hya_r, # R式神权重,默认0.3 hya_config.hya_n, # N式神权重,默认0.0 hya_config.hya_g # 呱太权重,默认0.0 ]控制方案技术对比与选择
系统支持多种控制方案,适应不同设备和性能需求:
| 控制方案 | 技术原理 | 性能指标 | 适用场景 |
|---|---|---|---|
| MINITOUCH | ADB触控指令 | 延迟5-10ms,CPU占用3-5% | 多开操作,后台运行 |
| WINDOW_MESSAGE | Windows消息模拟 | 延迟2-5ms,CPU占用1-3% | 单窗口操作,低配设备 |
| NEMU_IPC | 雷电模拟器专用 | 延迟3-7ms,CPU占用2-4% | 雷电模拟器专用 |
配置路径:tasks/Hyakkiyakou/config.py中的ControlMethod枚举类定义控制方案,ScreenshotMethod枚举类定义截图方法。
配置参数详解与性能调优策略
核心配置参数解析
百鬼夜行模块的配置参数集中在HyakkiyakouConfig类中,支持精细化的性能调优:
class HyakkiyakouConfig(ConfigBase): hya_limit_time: Time = Field(default=Time(minute=20)) # 运行时间限制 hya_limit_count: int = Field(default=10) # 运行次数限制 hya_invite_friend: bool = Field(default=False) # 邀请好友功能 hya_auto_bean: bool = Field(default=False) # 自动调整豆子数量 hya_priorities: str = Field(default='') # 优先级式神列表 hya_sp: float = Field(default=1.0) # SP式神权重 hya_ssr: float = Field(default=1.0) # SSR式神权重 hya_sr: float = Field(default=0.7) # SR式神权重 hya_r: float = Field(default=0.3) # R式神权重 hya_n: float = Field(default=0.0) # N式神权重 hya_g: float = Field(default=0.0) # 呱太权重性能优化参数调优
图像处理优化:
- 截图间隔:推荐200-300ms,过高频率增加CPU负载
- 识别区域:可缩小至屏幕中央60%区域,提升处理速度
- 模型精度:FP32提供最佳精度,INT8在特定硬件上可提升30%推理速度
决策算法优化:
- 优先级列表:通过
hya_priorities参数指定目标式神,格式为逗号分隔的式神ID - 权重调整:根据碎片需求动态调整稀有度权重,SP/SSR权重建议0.8-1.2
- 撒豆密度:通过
agent.py中的策略参数控制,推荐5-8颗/秒
调试与监控配置
系统提供完整的调试工具链,通过DebugConfig类配置:
class DebugConfig(ConfigBase): hya_show: bool = Field(default=False) # 显示跟踪结果 hya_info: bool = Field(default=False) # 输出调试信息 continuous_learning: bool = Field(default=False) # 持续学习模式 hya_save_result: bool = Field(default=False) # 保存结果 hya_interval: float = Field(default=300) # 截图间隔(ms) hya_screenshot_method: ScreenshotMethod = Field(default=ScreenshotMethod.WINDOW_BACKGROUND) hya_control_method: ControlMethod = Field(default=ControlMethod.WINDOW_MESSAGE)图2:系统配置界面展示参数调整与调试选项
实践案例:多场景应用与故障排查方案
常规碎片收集场景配置
场景特征:以收集特定SR/R式神碎片为目标,对稀有度要求不高但需要高执行效率。
优化配置方案:
# config/hyakkiyakou/strategy.yaml target_priority: "姑获鸟,雪女,山兔" # 优先级式神列表 bean_density: SSR: {min: 10, max: 15, interval: [50, 80]} SR: {min: 8, max: 12, interval: [40, 70]} R: {min: 5, max: 8, interval: [30, 60]} click_strategy: "continuous" # 连续撒豆模式 auto_bean_threshold: 20 # 自动续豆阈值性能指标:在此配置下,系统可在20分钟内完成10轮百鬼夜行,平均碎片获取率提升至常规操作的1.5倍。
稀有式神碎片场景应急方案
当检测到SSR/SP式神时,系统自动切换为应急模式:
- 优先级动态调整:将目标SSR/SP式神权重临时提升至1.5
- 撒豆策略优化:启用集中撒豆模式,短时间内投放15-20颗豆子
- 识别区域聚焦:缩小识别范围至屏幕中央40%区域,提高识别精度
技术实现路径:
# tasks/Hyakkiyakou/agent/agent.py def emergency_mode(self, target_class): """应急模式处理稀有式神""" if CI.MIN_SSR <= target_class <= CI.MAX_SSR: self.current_weight_multiplier = 1.5 self.bean_density = {'min': 15, 'max': 20} self.recognition_area = (0.3, 0.3, 0.7, 0.7) # 中央40%区域故障排查技术流程
撒豆无响应问题排查:
ADB连接状态检查:
adb devices # 确认设备连接状态 adb shell input tap 100 100 # 测试触控功能控制权限验证:
- 确认模拟器已启用ADB调试
- 检查Windows消息权限设置
- 验证截图方法兼容性
配置文件完整性检查:
# 验证配置参数范围 if conf < 0.2 or conf > 1: raise RequestHumanTakeover('conf_threshold should be in [0.2, 1]') if iou < 0.2 or iou > 1: raise RequestHumanTakeover('iou_threshold should be in [0.2, 1]')
识别准确率优化方案:
屏幕校准流程:
- 使用系统内置校准工具:
tools/screen_calibration.py - 手动调整识别阈值至0.7-0.8范围
- 更新图像模板库至最新版本
- 使用系统内置校准工具:
性能瓶颈分析:
- 监控CPU占用率,超过70%时降低截图频率
- 检查内存使用情况,优化图像缓存策略
- 调整识别算法参数,平衡精度与速度
深度拓展:高级功能实现与架构优化
多账号轮换管理技术
系统支持多账号配置文件管理,通过Scheduler类实现任务调度:
# tasks/Component/config_scheduler.py class Scheduler(ConfigBase): enable: bool = Field(default=True) # 调度器启用状态 limit_count: int = Field(default=1) # 运行次数限制 limit_time: Time = Field(default=Time(minute=20)) # 时间限制 priority: str = Field(default='') # 任务优先级 server: str = Field(default='cn') # 服务器选择配置文件管理策略:
- 每个账号保存独立的
config.json配置文件 - 支持配置文件导入导出,避免重复配置
- 通过环境变量切换账号配置
自适应算法优化技术
系统采用基于历史数据的自适应优化算法,通过oashya库的持续学习功能提升识别精度:
- 数据收集阶段:启用
continuous_learning模式保存识别样本 - 模型训练阶段:使用保存的数据重新训练目标检测模型
- 模型部署阶段:更新模型权重文件,提升特定式神识别率
技术实现路径:
# tasks/Hyakkiyakou/debugger.py def collect_training_data(self, image, boxes): """收集训练数据用于模型优化""" if self.config.debug_config.continuous_learning: save_path = f'./tasks/Hyakkiyakou/training_data/{datetime.now():%Y%m%d_%H%M%S}.png' cv2.imwrite(save_path, image) # 保存标注信息 with open(save_path.replace('.png', '.txt'), 'w') as f: for box in boxes: f.write(f"{box[0]} {box[2][0]} {box[2][1]} {box[2][2]} {box[2][3]}\n")性能监控与日志分析系统
系统内置完整的性能监控机制,通过logger模块记录关键指标:
监控指标包括:
- 帧处理时间:平均50-80ms/帧
- 识别准确率:85-95%(受设备性能影响)
- 撒豆成功率:70-85%(受网络延迟影响)
- 资源占用:CPU 10-20%,内存150-200MB
日志分析工具:
# module/logger.py class Logger: def performance_report(self): """生成性能报告""" report = { 'avg_frame_time': self.calculate_avg_frame_time(), 'recognition_accuracy': self.calculate_accuracy(), 'resource_usage': self.get_resource_stats(), 'error_rate': self.calculate_error_rate() } return report兼容性与扩展性设计
系统采用模块化设计,支持多种扩展方案:
- 插件式架构:通过
agent和slave模块分离业务逻辑与设备控制 - 配置驱动开发:所有参数通过配置文件管理,无需修改代码
- 多设备支持:兼容主流安卓模拟器(雷电、夜神、MuMu等)
- 跨平台设计:支持Windows和Linux系统运行
扩展开发指南:
- 新增式神识别:在
oashya.labels中添加标签定义 - 自定义撒豆策略:继承
Focus类重写decision方法 - 设备适配开发:在
module/device/method/下实现新的控制方案
通过深入理解OnmyojiAutoScript百鬼夜行模块的技术实现,用户可以针对特定需求进行精细化配置和性能调优。系统提供的完整技术栈和模块化架构,为高级用户提供了充分的定制空间,同时保证了基础功能的稳定性和易用性。建议用户从默认配置开始,逐步根据实际运行效果调整参数,实现最优的自动化碎片收集效率。
【免费下载链接】OnmyojiAutoScriptOnmyoji Auto Script | 阴阳师脚本项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考