实战部署阴阳师百鬼夜行AI自动化脚本:高效配置与性能优化指南
实战部署阴阳师百鬼夜行AI自动化脚本:高效配置与性能优化指南
阴阳师百鬼夜行AI自动化脚本是基于Onmyoji Auto Script项目开发的智能游戏辅助工具,通过计算机视觉和机器学习技术实现游戏操作的自动化。该脚本采用YOLO目标检测模型进行式神识别,结合自适应决策算法优化撒豆策略,为玩家提供稳定高效的碎片收集解决方案。
技术架构与核心模块解析
Onmyoji Auto Script项目采用模块化设计,百鬼夜行功能作为独立模块实现。系统架构分为三个核心层:设备交互层、AI识别层和决策控制层。设备交互层负责与模拟器通信,AI识别层处理图像分析和目标检测,决策控制层则根据识别结果执行相应操作。
图:阴阳师自动化脚本主界面,采用现代化UI设计,功能模块清晰分类
设备交互层实现
设备交互层通过ADB协议或Windows消息系统与游戏客户端通信。在tasks/Hyakkiyakou/config.py中,ControlMethod枚举定义了两种控制方式:
class ControlMethod(str, Enum):
MINITOUCH = 'minitouch' # ADB触控方案
WINDOW_MESSAGE = 'window_message' # Windows消息控制
MINITOUCH方案通过ADB发送触控指令,兼容性较好;WINDOW_MESSAGE方案直接向游戏窗口发送消息,响应速度更快但需要特定权限。ScreenshotMethod枚举则定义了截图方式,支持窗口后台截图和模拟器IPC通信两种模式。
AI识别引擎配置
识别引擎采用YOLO目标检测模型,支持FP32和INT8两种精度模式。模型配置文件位于tasks/Hyakkiyakou/config.py的HyakkiyakouModels类中:
class HyakkiyakouModels(ConfigBase):
conf_threshold: float = Field(default=0.6) # 置信度阈值
iou_threshold: float = Field(default=0.7) # NMS阈值
model_precision: ModelPrecision = Field(default=ModelPrecision.FP32)
inference_engine: InferenceEngine = Field(default=InferenceEngine.ONNXRUNTIME)
置信度阈值控制识别敏感度,值越高识别越严格但可能漏检;NMS阈值用于消除重复检测框。INT8模式可提升推理速度约30%,适合性能受限的环境。
环境部署与快速配置
系统环境要求
- 操作系统:Windows 10/11 64位
- Python版本:3.8-3.11
- 模拟器:雷电、夜神、MUMU等主流安卓模拟器
- 硬件建议:8GB RAM,支持OpenGL 3.3的GPU
安装步骤
-
克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript cd OnmyojiAutoScript -
安装Python依赖:
pip install -r requirements.txt -
配置ADB连接:
- 启用模拟器ADB调试功能
- 运行
adb devices验证连接状态 - 在gui.py界面中选择对应设备
-
启动主程序:
python gui.py
图:百鬼夜行功能参数配置界面,可调整撒豆频率、优先级等关键参数
基础配置参数
在tasks/Hyakkiyakou/config.py中,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_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) # 呱太权重
核心算法与决策逻辑
目标检测与跟踪系统
脚本使用YOLO模型进行实时目标检测,结合跟踪算法维持目标状态。在tasks/Hyakkiyakou/script_task.py中,Tracker类负责处理目标跟踪:
from oashya.tracker import Tracker
from oashya.labels import label2id, CLASSINDEX as CI, id2name
# 初始化跟踪器
tracker = Tracker()
跟踪器通过卡尔曼滤波预测目标运动轨迹,减少因遮挡或短暂消失导致的识别中断。系统每300ms截取一次屏幕图像,经预处理后送入检测模型。
自适应撒豆决策算法
决策模块根据式神稀有度、移动速度和概率UP状态动态调整撒豆策略。算法核心逻辑位于tasks/Hyakkiyakou/agent/agent.py:
def decide_beans(self, rarity, speed, has_buff):
base_beans = {
'SP': random.randint(15, 20),
'SSR': random.randint(12, 18),
'SR': random.randint(8, 12),
'R': random.randint(3, 6),
'N': 0,
'G': 0
}
# 速度补偿
if speed > threshold_fast:
base_beans[rarity] += 3
# 概率UP加成
if has_buff:
base_beans[rarity] = int(base_beans[rarity] * 1.5)
return base_beans[rarity]
算法还包含冰冻BUFF处理逻辑:仅当目标为SSR/SP且带有概率UP时才会使用冰冻效果,避免资源浪费。
图:脚本支持多种界面主题,可根据个人喜好自定义,提升使用体验
资源调度与状态管理
系统采用有限状态机管理任务执行流程,主要状态包括:
- 初始化:加载配置,连接设备
- 检测阶段:识别式神位置和类型
- 决策阶段:计算最优撒豆策略
- 执行阶段:发送控制指令
- 冷却阶段:等待下一轮开始
每个状态都有超时保护和异常处理机制,确保系统稳定性。
性能优化与参数调优
识别精度优化
识别精度直接影响脚本效果,可通过以下参数调整:
| 参数 | 默认值 | 优化范围 | 影响说明 |
|---|---|---|---|
| conf_threshold | 0.6 | 0.5-0.8 | 置信度阈值,值越低识别越宽松 |
| iou_threshold | 0.7 | 0.6-0.8 | NMS阈值,控制重叠检测框合并 |
| model_precision | FP32 | FP32/INT8 | INT8模式速度更快但精度略低 |
对于低配设备,建议将conf_threshold调整为0.5-0.6,iou_threshold调整为0.65,使用INT8推理模式。
系统性能调优
-
截图间隔优化:
# 在DebugConfig中调整 hya_interval: float = Field(default=300) # 单位ms- 高性能设备:250-300ms
- 中等设备:350-400ms
- 低配设备:450-500ms
-
内存管理:
- 启用图像缓存复用
- 定期清理临时文件
- 使用内存映射文件处理大尺寸截图
-
GPU加速配置:
- 确保安装CUDA Toolkit
- 配置ONNX Runtime GPU支持
- 调整批次大小平衡内存使用
撒豆策略优化
根据游戏版本和式神池变化,可动态调整权重参数:
# 稀有式神专项收集
hya_sp = 1.0 # SP式神最高优先级
hya_ssr = 1.0 # SSR式神次高优先级
hya_sr = 0.5 # 降低SR权重
hya_r = 0.1 # 大幅降低R卡权重
# 日常碎片收集
hya_sp = 0.8 # 适度关注SP
hya_ssr = 0.8 # 适度关注SSR
hya_sr = 0.9 # 重点收集SR
hya_r = 0.5 # 适度收集R卡
图:脚本采用现代化UI组件,支持轮播图展示功能模块和配置选项
故障排查与调试技巧
常见问题解决方案
问题1:ADB连接失败
- 检查模拟器ADB调试是否开启
- 验证ADB端口是否被占用
- 重启ADB服务:
adb kill-server && adb start-server
问题2:识别准确率低
- 使用屏幕校准功能重新校准识别区域
- 调整游戏画面亮度和对比度
- 更新式神图像模板库
- 降低conf_threshold到0.5-0.55
问题3:CPU占用过高
- 增加截屏间隔到400-500ms
- 关闭非必要调试功能
- 使用轻量模式运行
- 降低模拟器分辨率和画质
调试工具使用
脚本内置多种调试工具,可通过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_show可在运行时显示识别框,便于观察识别效果;启用hya_save_result可保存每轮截图用于后续分析。
日志分析与监控
系统生成详细运行日志,包含以下关键信息:
- 识别到的式神类型和数量
- 撒豆决策详情
- 每轮耗时统计
- 异常错误记录
日志文件位于logs/hyakkiyakou/目录,建议定期分析优化参数配置。
高级功能与扩展应用
多账号批量管理
通过配置多个设备实例,可实现多账号并行运行。在tasks/Hyakkiyakou/config.py中配置设备参数:
# 多设备配置示例
devices = [
{"name": "雷电模拟器1", "port": "5555"},
{"name": "夜神模拟器1", "port": "62001"},
{"name": "MUMU模拟器1", "port": "7555"}
]
系统支持自动切换账号和任务调度,最大化利用游戏时间。
自定义式神优先级
除了预设权重,用户可自定义特定式神优先级:
# 在hya_priorities字段中指定
hya_priorities = "SP:1.0,SSR:1.0,SR:0.7,R:0.3,N:0.0,G:0.0"
# 或指定具体式神
hya_priorities = "不知火:1.5,大岳丸:1.2,酒吞童子:1.0"
性能监控与统计
脚本内置性能监控模块,可实时统计:
- 识别准确率(按式神类型分类)
- 撒豆命中率
- 资源消耗情况
- 运行时间分布
图:性能监控界面采用表格视图,清晰展示各项统计数据和运行状态
模型训练与优化
对于高级用户,脚本支持自定义模型训练:
- 收集游戏截图作为训练数据
- 使用标注工具标注式神位置
- 使用YOLO训练框架微调模型
- 导入自定义模型替换默认模型
训练数据可通过启用continuous_learning功能自动收集,保存到tasks/Hyakkiyakou/training_data/目录。
最佳实践与维护建议
配置管理策略
- 版本控制:将配置文件纳入版本控制系统
- 定期备份:重要配置变更前备份原文件
- 增量调整:每次只调整1-2个参数,观察效果
- 文档记录:记录每次调整的参数和效果
系统维护建议
- 定期更新:关注项目更新,获取新功能和优化
- 清理缓存:定期清理
temp/和logs/目录 - 监控资源:使用系统监控工具观察CPU/内存使用
- 测试验证:重大更新后先进行短时间测试
安全使用指南
- 合规使用:仅用于个人学习和研究
- 风险意识:了解游戏服务条款和风险
- 适度使用:避免长时间连续运行
- 数据保护:不分享个人游戏账号信息
结语
阴阳师百鬼夜行AI自动化脚本通过先进的目标检测算法和智能决策系统,为玩家提供了高效稳定的碎片收集解决方案。系统采用模块化设计,支持灵活的配置调整和性能优化,适用于不同硬件环境和游戏需求。
通过合理的参数配置和性能调优,脚本可在保证识别准确率的同时最大化运行效率。建议用户从基础配置开始,逐步尝试高级功能,根据实际使用情况调整参数,找到最适合自己设备和游戏习惯的配置方案。
项目持续更新维护,欢迎技术爱好者参与贡献和优化,共同完善这一开源游戏自动化工具。
更多推荐


所有评论(0)