日麻 AI 探索:从牌效工具到 Akagi
记录 mahjong-helper、Akagi 与 Mortal 的选型、网页接入尝试,以及工具能运行和实际效果之间的距离。
最后更新:
2026-11-05
创建日期:
2026-11-05
Table of Content
最开始,我只是想找一个能帮忙算牌效的日麻工具:打出哪张牌以后进张更多,离听牌还有多远?找着找着,又看到了能给出对局建议、甚至自动打牌的项目,于是有了这一轮折腾。
这篇记录的是 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 | 了解了适配与安装路径,未完成实际评测 |
| 自动打牌 | 保持关闭 |
下一步最值得做的,是用固定的人机局或可重复复盘的牌谱,记录具体模型版本、输入局面、建议和响应耗时,再检查它和自己的判断有什么差别。等这些记录积累起来,才适合讨论“好不好用”和“强不强”。
项目入口#
这些是本次探索涉及的上游项目,功能和安装细节会随版本变化:
- mahjong-helper:牌效、防守与记牌工具。
- Akagi:对局接入与 AI 建议展示。
- Mortal:日麻 AI 引擎。
- Akagi-MjaiBot-Mortal:Mortal 的 Akagi 适配项目。
- mjai-reviewer:牌谱复盘方向。
整理于 2026 年 11 月 5 日,依据当时的探索记录与本机安装说明。