三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

从听说到托管:我用 OAS 阴阳师脚本两周的完整上手记录

从听说到托管:我用 OAS 阴阳师脚本两周的完整上手记录

从听说到托管:我用 OAS 阴阳师脚本两周的完整上手记录

【免费下载链接】OnmyojiAutoScriptOnmyoji Auto Script | 阴阳师脚本项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript

Onmyoji Auto Script(以下简称 OAS)是一款开源的阴阳师自动化脚本,它的核心功能是用 AI 识别游戏画面并代替你完成日常、御魂、探索、百鬼夜行等几乎所有玩法的一键托管。这篇文章不打算跟你讲一堆抽象概念,而是把我从"听说有这么个东西"到"每天睡前点一下托管"的真实上手过程完整记录下来——你踩过的坑、该调的参数、值得看的源码,我都替你趟过一遍了。

第 0 天:我是怎么被一句话种草的

事情起因很普通。公会群里有人晒了一张截图,说他的号一晚上自动把悬赏、结界突破、御魂都清完了,第二天只花五分钟看了一眼掉落。我当时的反应和你现在一样:"挂机脚本?不会被封吗?靠谱吗?"

说实话,我对"脚本"这两个字一直有点戒备,总觉得是那种弹窗小广告里卖的东西。直到我查了项目仓库才发现两件事:第一,它完全开源,代码就摆在明面上;第二,它的定位不是"作弊",而是"托管"——把每天重复的点击、滑动、等待交给程序,玩法本身还是你玩。这让我愿意给它一次机会。

第 1 天:让它先跑起来,别的都别管

我的建议是:第一天别研究原理,先让脚本跑通一个最简单的任务,亲眼看到"它真的在动",信心就建立起来了。

准备工作其实就三件事:

git clone https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript cd OnmyojiAutoScript pip install -r requirements.txt

然后启动入口(GUI 或 web 界面二选一),在配置里把模拟器的 ADB 端口填上。我用的雷电模拟器,把"ADB 调试"打开就能被自动识别,基本没遇到波折。

第一步跑的不是百鬼夜行这种高难任务,而是最简单的"回庭院"(tasks/GotoMain/)。这个任务什么都不做,就是让脚本学会"找路回主界面"——它相当于脚本世界的"hello world"。看着程序自己识别界面、自己点按钮、自己判断走到哪一步,我第一次觉得"托管"这个词是真的。

第 3 天:它到底是怎么"看懂"屏幕的?

跑通之后,好奇心就上来了:一个程序凭什么知道屏幕上哪个是按钮、哪个是式神?

这里有个特别好的生活化类比:OAS 就像一个坐在你工位旁边的实习生,他的工作流程是固定的四步循环——看一眼屏幕 → 认出关键元素 → 决定下一步 → 伸手操作,然后不断重复。区别在于,"看一眼"这一步它每 100~300 毫秒就做一次(具体间隔可配),比人眼勤快得多。

"认出关键元素"靠的是三套技术,各管一摊:

  • 模板匹配:把游戏里的按钮、图标截图存成模板,在屏幕里找相似区域。比如"开始战斗"按钮,就是拿模板去画面里比对位置。
  • OCR 文字识别:读取游戏里的文字,比如"体力不足""挑战次数已用尽"这类提示。OAS 用的 OCR 引擎是 ppocr-onnx,识别速度和精度都够用。
  • AI 模型:最复杂的一类目标靠深度学习模型,最典型的就是百鬼夜行里识别式神——这个后面细说。

三套手段分工明确:按钮这类"长得固定"的用模板,文字用 OCR,式神这种"长得千变万化"的交给 AI。它们的结果汇总成一个"当前状态",脚本再根据状态决定点哪里、滑多远、等多久。整套逻辑在module/device/module/ocr/里,想深挖的可以从这两个目录入手。

第 5 天:百鬼夜行,OAS 最值得吹的一个模块

如果说日常任务只是"自动化",那百鬼夜行就是 OAS 的"智能化"——这也是我最初被种草的玩法。

先讲这个玩法的难点:式神是不断飘过的,每个式神只停留一瞬间,你要在它经过时把豆子砸过去。手动玩的时候,SSR/SP 一闪而过,等你反应过来早就飘走了;而豆子数量有限,砸错了就浪费。这是个典型的"反应速度 + 资源分配"双重难题。

OAS 的思路很有意思,它把"该不该砸"拆成了两步:

  1. 看得准:用 AI 模型实时识别画面里飘过的式神类别(SP/SSR/SR/R/N/呱太),模型覆盖了全部式神,识别结果带置信度。
  2. 砸得值:把屏幕当成一张 720×1280 的"价值地图",每个识别到的式神按稀有度叠加权重——SP/SSR 权重最高、R 卡次之、N 卡权重为零(干脆不砸)。豆子往价值最高的位置扔,这就是tasks/Hyakkiyakou/agent/agent.py里那个高斯热力图的思路:不是"看到就砸",而是"哪里值钱砸哪里"。

这份决策代码不长,但值得读一读。它把"手感"这种玄学的东西,翻译成了可以调参的数学问题。

第 7 天:别用默认配置,先按你的需求改

跑了两天默认配置后,我开始意识到:脚本好不好用,一半取决于配置。OAS 的配置全部 pydantic 化,类型校验严格,改错了会直接报错提示,不会出现"配置写错但脚本静默乱跑"的惨剧。所有任务的配置都集中在对应目录的config.py里。

以百鬼夜行为例(tasks/Hyakkiyakou/config.py),我最终用的是这套:

hya_limit_time = Time(minute=15) # 单次最多跑15分钟 hya_limit_count = 10 # 最多跑10张票 hya_sp = 1.0 # SP 权重拉满 hya_ssr = 1.0 # SSR 权重拉满 hya_sr = 0.7 # SR 中等 hya_r = 0.3 # R 卡少砸,省豆子 hya_n = 0.0 # N 卡不砸 hya_auto_bean = True # 根据剩余豆子自动调整每次砸豆数量

几个容易被忽略的点:

  • hya_auto_bean建议开。它会在豆子富余时多砸、紧张时省着砸,比自己写死数量聪明得多。
  • conf_threshold(置信度阈值,默认 0.6):如果你发现识别出来的式神经常对不上,说明阈值太低误报多,往上调到 0.7;反过来如果该识别的没识别到,就往下调。这个参数在模型配置里,属于"出问题了才动它"的类型。
  • 调试区有个hya_show开关,打开后脚本会把每一帧的识别结果画出来给你看。第一次调配置时强烈建议打开,你能直观看到"它眼中的世界"长什么样,排错效率翻倍。

第 10 天:多任务调度,才是"托管"的真正含义

单任务跑通只是第一步。OAS 真正的杀手锏,是把十几个任务串成一条流水线,你睡觉它干活,第二天起来收菜。

调度逻辑在module/config/scheduler.py,它支持三种调度规则:

  • FIFO(先来后到):按每个任务设定的下次运行时间排序,到点就执行。日常任务的默认节奏。
  • PRIORITY(按优先级):给任务分组,高优先级先跑。适合"体力必须清空,别的可以等"这种需求。
  • FILTER(按过滤规则):用正则表达式从待执行列表里挑任务,规则写在tasks/Script/config_optimization.py里。

有一个细节特别体现设计用心:无论用哪种调度规则,Restart任务永远被插到第一位。它的作用是在一天开始时把游戏重启一遍,清掉可能积累的内存问题或异常状态,然后再开始跑当天任务。这种"兜底"思维贯穿了整个项目。

我现在的日常队列大致是:Restart 开场 → 悬赏封印 → 结界突破 → 御魂 → 百鬼夜行 → 体力清空。每天睡前点一下开始,早上起来看日志和掉落汇总,全程不需要盯屏。

第 14 天:多账号?一条命令的事

最后一个让我彻底入坑的理由:多账号支持。

OAS 的配置是"配置名"隔离的,每个配置名对应一套独立参数和独立的任务队列。也就是说,大号和小号可以拥有完全不同的运行策略:大号跑百鬼夜行专抓 SSR/SP,小号只做日常清体力,互不干扰。切换账号本质上就是换一套配置,改一个名字的事,不需要动任何代码。

另外提一句异常处理:脚本卡在某一步迟迟没进展时,会自动尝试重试、重启任务甚至重启游戏,日志里会明确告诉你"我卡在哪、我做了什么"。第一次看到它自己从异常里爬出来继续跑的时候,我是真的服气了。

现在就可以做的事

两周下来,我的结论很明确:OAS 不是一个"帮你作弊"的工具,而是一个"把重复劳动外包给程序"的托管助手。它适合的正是那种"想玩阴阳师但不想每天花一两个小时做日常"的人。

如果你也想试试,按这个顺序走基本不会踩坑:

  1. git clone https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript并安装依赖;
  2. 打开模拟器 ADB,先用tasks/GotoMain/这种最简任务验证连通性;
  3. 跑通后打开调试显示(hya_show),亲眼确认脚本能"看懂"界面;
  4. 从你最高频的玩法开始配置,比如百鬼夜行或探索;
  5. 全部调顺了,再研究module/config/scheduler.py的多任务调度,把日常串成一条流水线。

下一步,我建议你先去读一读tasks/Hyakkiyakou/agent/agent.py这份代码——它只有一百多行,却是整个项目里"AI 决策"思想最浓缩的体现。读懂它,你就真正理解了 OAS 和普通点击脚本的本质区别。

【免费下载链接】OnmyojiAutoScriptOnmyoji Auto Script | 阴阳师脚本项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表