跳转至


日麻 AI 探索:从牌效工具到 Akagi

记录 mahjong-helper、Akagi 与 Mortal 的选型、网页接入尝试,以及工具能运行和实际效果之间的距离。

最后更新: 2026-11-05
创建日期: 2026-11-05


最开始,我只是想找一个能帮忙算牌效的日麻工具:打出哪张牌以后进张更多,离听牌还有多远?找着找着,又看到了能给出对局建议、甚至自动打牌的项目,于是有了这一轮折腾。

这篇记录的是 2026 年 10 月 12—14 日的探索。最后保留的方案是 Akagi v3.7.1 + 雀魂网页端 + 本地 AI,自动打牌关闭。本文是选型和接入笔记;真实对局中的推荐质量、模型强弱与长期稳定性,还没有完成验证。

先分清楚自己要什么#

牌效计算、对局决策和接入游戏,是三个相关但不同的问题。

层次 我关心的问题 这次关注的项目
牌效与基础计算 向听数、进张,以及不同舍牌的差别 mahjong-helper
对局决策 除了进张,还如何考虑防守、打点和局势 Mortal、akochan
接入与展示 怎么取得对局数据,把模型建议显示出来 Akagi
复盘 把自己的选择和 AI 建议放在一起比较 mjai-reviewer

我起初把这些功能混在了一起。后来才意识到:有推荐舍牌,不代表一定会完整展示每一种舍牌的进张;程序能连接浏览器,也不代表已经验证了模型的对局表现。

第一站:mahjong-helper#

mahjong-helper 的方向很贴近最初的需求:牌效、防守和记牌。我先试了 Windows v0.2.8,本地牌效计算能够运行,也能输出舍牌相关的分析。

真正费时间的是接入雀魂网页。当时的旧方案围绕网页加载的 code.js 做处理,但检查中发现,当前页面的加载方式已经不同。浏览器能打开,助手窗口也有反应,却没有真正收到对局数据。

其中一个很容易误判的现象是:助手终端里出现了 []。这只能说明本地服务收到了某种访问,不能证明完整的对局消息已经传进来了。

后来又尝试做浏览器连接桥:捕获网页对局消息,转给本地助手。协议解析和模拟消息测试通过了,但真实对局的接入仍未完成验证。继续折腾的成本有些高,最终我放弃了这条路线,删除了本地项目,转去试 Akagi。

这次尝试留下的经验是:计算模块能跑、模拟消息能通、真实对局能用,需要分别验证。

第二站:换成 Akagi#

接下来安装了 Akagi v3.7.1,先使用它打开的 Edge 浏览器接入雀魂。

当时采用的设置是:

  • 使用 Chromium 网页捕获模式,由 Akagi 启动独立浏览器。
  • 开启内置本地 AI,关闭云端推理。
  • 自动打牌关闭,先观察分析窗口和舍牌建议。
  • 四麻与三麻分别配置对应的内置 bot。

启动日志确认,分析窗口已经打开,浏览器调试连接也已建立。不过,这一步验证的是启动和捕获连接;仍需要在 Akagi 打开的浏览器里登录并进入新的人机局,确认能持续收到对局事件和模型输出。普通浏览器窗口不属于这次捕获会话。

相比之前自己补网页连接桥,这条路线的配置更集中,也更适合先把工具跑起来。

中途绕路:想接 Steam 客户端#

网页端启动后,我又想试试本地 Steam 版雀魂。这次需要切换到代理模式,并准备按程序转发流量的配置。

当时完成了本地代理的连通检查,也准备了 Proxifier 的雀魂专用规则,但客户端方案还涉及证书信任配置。最终我觉得步骤太多,放弃这条路线,恢复了网页模式。

客户端真实登录和对局没有验证成功;根证书最终也没有安装。 因此,这一段只能算方案尝试,不能写成“Steam 客户端接入完成”。

对我这次的目标来说,先在网页端研究建议,比继续增加接入环节更合适。

Mortal:框架、适配包和权重要分开看#

之后关注点从“怎么连上”转向了“用什么模型”。这里最容易混淆的是三个名字:

  • Akagi:负责接入、配置和显示建议。
  • Mortal:日麻 AI 引擎及相关训练、推理代码。
  • Mortal 适配包:把引擎接到 Akagi 的 bot 接口上。

我当时查看的适配项目是 Akagi-MjaiBot-Mortal。它封装了 libriichi 与 PyTorch;具体安装方式和依赖应以项目文档及对应 Release 为准。

但“装上 Mortal 适配包”和“获得更强的 AI”之间,还有模型权重这一环。需要确认使用的是哪份权重、适用四麻还是三麻,以及是否有可核验的评测。不能只看项目名,就给它贴上某个段位的标签。

这次记录中,已经完成的是内置 AI 的配置,以及外部 bot 安装方式的了解;没有完成外部 Mortal 权重的实际安装与对比评测,所以我还不能给出它比内置模型强多少的结论。

在线推理关闭,究竟关闭了什么?#

这是过程中我专门问过的一个问题。

本地推理指模型在自己的电脑上计算;在线推理则是把局面发送给远程推理服务,再取回建议。是否开启远程推理,和是否自动打牌是两个独立的设置,也不影响雀魂本身需要联网。

先用本地模型,可以少配置一层远程服务,方便确认基本链路。至于计算速度和建议质量,需要结合实际硬件与具体权重测试。

这次走到了哪里#

项目 这次的结果
mahjong-helper 本地牌效计算 已验证能运行
mahjong-helper 网页连接桥 模拟测试通过,真实对局未完成验证;已放弃并删除
Akagi 网页端启动 已验证分析窗口和浏览器捕获连接启动
Akagi 真人账号对局与持续推理 未完成验证
Steam 客户端接入 配置尝试后放弃,恢复网页端
外部 Mortal bot 了解了适配与安装路径,未完成实际评测
自动打牌 保持关闭

下一步最值得做的,是用固定的人机局或可重复复盘的牌谱,记录具体模型版本、输入局面、建议和响应耗时,再检查它和自己的判断有什么差别。等这些记录积累起来,才适合讨论“好不好用”和“强不强”。

项目入口#

这些是本次探索涉及的上游项目,功能和安装细节会随版本变化:

整理于 2026 年 11 月 5 日,依据当时的探索记录与本机安装说明。

评论