Akagi:开源AI麻将分析工具的技术解析与实战指南
【免费下载链接】Akagi支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Amatsuki, with the ability to use custom AI models to analyze games in real time and provide suggestions. Comes with Mortal AI as a built-in example.项目地址: https://gitcode.com/gh_mirrors/ak/Akagi
Akagi是一个开源麻将AI分析工具,支持雀魂、天鳳、麻雀一番街、天月麻将等多个平台。该项目通过实时AI分析帮助玩家理解对局策略,内置Mortal AI作为示例模型,为麻将爱好者提供科学的学习工具。
项目架构与核心技术
核心组件解析
Akagi采用模块化设计,主要组件包括:
| 模块 | 功能描述 | 核心文件 |
|---|---|---|
| 协议解析 | 处理麻将游戏通信协议 | liqi.py,liqi_proto/ |
| AI引擎 | 提供实时分析建议 | mjai/bot/,model.py |
| 用户界面 | 图形化交互界面 | client.py,gui.py |
| 代理中间件 | MITM数据捕获 | mitm.py |
| 配置管理 | 系统参数配置 | settings.json,config.json |
数据流处理流程
Akagi的数据处理流程遵循以下步骤:
- 数据捕获:通过MITM代理截获雀魂游戏通信
- 协议解析:将LiqiProto协议转换为MJAI标准格式
- AI分析:Mortal AI模型实时分析牌局状态
- 建议生成:基于分析结果提供打牌建议
- 界面展示:在TUI界面中显示分析结果
安装与配置指南
环境准备
首先克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/ak/Akagi cd Akagi安装Python依赖:
pip install -r requirement.txt核心文件配置
模型文件准备:
- 从Discord社区获取
mortal.pth模型文件 - 将文件放置在
mjai/bot/目录中
主要配置文件:
- settings.json- 系统核心配置
{ "Autoplay": false, "Helper": true, "Port": { "MITM": 7878, "XMLRPC": 7879, "MJAI": 28680 } }- mhm/config.py- AI行为参数定制
# 风险控制参数 risk_tolerance = 0.6 offensive_weight = 0.7 defensive_weight = 0.3启动与运行
启动代理服务:
python mitm.py启动主客户端:
python client.py功能特性详解
实时分析能力
Akagi的核心功能是在游戏过程中提供即时分析:
- 牌效率评估:分析当前手牌的进张效率
- 安全牌识别:计算每张牌的放铳风险
- 听牌判断:评估听牌价值和改良可能性
- 攻防平衡:根据局势调整进攻与防守策略
三种运行模式
学习模式(推荐新手)
- 详细展示AI决策过程
- 提供多种打法的对比分析
- 记录关键决策点供复盘使用
实战模式(适合有经验玩家)
- 精简输出,专注核心建议
- 快速响应,不影响游戏节奏
- 仅显示最重要的策略提示
复盘模式(用于赛后分析)
- 导入历史对局数据
- 生成详细统计数据图表
- 识别决策模式和改进空间
支持的麻将平台
| 平台 | 支持状态 | 特殊要求 |
|---|---|---|
| 雀魂(网页版) | ✅ 完全支持 | 推荐使用 |
| 天鳳 | ✅ 完全支持 | 需要配置代理 |
| 麻雀一番街 | ✅ 基本支持 | 部分功能受限 |
| 天月麻将 | ✅ 基本支持 | 需要手动适配 |
技术实现细节
协议转换机制
Akagi的核心技术之一是协议转换层:
转换流程:
雀魂协议 (LiqiProto) → 中间格式 → MJAI标准格式 → AI分析 → 用户建议关键转换文件:
majsoul2mjai.py- 主要转换逻辑liqi_proto/liqi.proto- 协议定义文件liqi_pb2.py- 生成的协议处理代码
AI模型集成
项目使用Mortal AI作为默认模型:
- 模型位置:
mjai/bot/mortal.pth - 推理引擎:
mjai/bot/bot.py - 模型管理:
mjai/bot/model.py
模型特性:
- 基于深度强化学习训练
- 支持实时推理(<100ms延迟)
- 可替换为自定义AI模型
使用场景与最佳实践
新手学习路径
对于麻将初学者,建议按以下步骤使用Akagi:
观察阶段(1-2周)
- 仅使用"学习模式"观察AI建议
- 记录不理解的建议并研究原因
- 关注牌效率分析功能
实践阶段(2-4周)
- 尝试理解AI的决策逻辑
- 对比自己的判断与AI建议
- 重点关注中盘攻防策略
自主阶段(1个月后)
- 减少对AI的依赖
- 仅在复杂局面寻求建议
- 建立自己的决策框架
中高级玩家进阶
有经验的玩家可以重点关注:
- 复杂局面分析:如多面听选择、攻防转换时机
- 特殊牌型处理:国士无双、七对子等特殊牌型策略
- 对手风格应对:针对不同对手调整策略
安全使用建议
为保护账号安全,请遵循以下原则:
✅推荐做法:
- 使用网页版而非Steam客户端
- 手动操作,禁用Autoplay功能
- 经常使用表情贴纸模拟人类行为
- 控制使用时间,避免长时间连续使用
❌避免行为:
- 完全依赖AI自动打牌
- 24小时不间断使用
- 在重要比赛或高段位对局中过度依赖
- 违反游戏平台使用条款的行为
性能优化与故障排除
系统资源优化
如果遇到性能问题,可以调整以下参数:
降低分析深度(settings.json):
{ "analysis_depth": 3, "enable_visualization": false }关闭非核心功能:
- 禁用实时可视化界面
- 仅保留文本建议输出
- 减少历史数据缓存大小
常见问题解决
问题1:无法连接到雀魂服务器
- 检查MITM代理设置是否正确
- 确认防火墙未阻止连接
- 尝试使用不同网络环境
问题2:AI建议延迟过高
- 降低
analysis_depth参数值 - 关闭部分可视化功能
- 检查系统资源使用情况
问题3:模型文件缺失
- 确认
mortal.pth文件已放置在正确目录 - 检查文件权限和完整性
- 从Discord社区重新下载模型文件
自定义与扩展
开发自定义AI
Akagi支持集成自定义AI模型:
- 模型接口:实现
mjai/player.py中的Player接口 - 数据格式:遵循MJAI协议标准
- 集成测试:使用
mjai/http_server/server.py进行测试
协议扩展支持
如需支持新平台,需要:
- 协议分析:分析目标平台的通信协议
- 转换器开发:编写对应的协议转换器
- 集成测试:确保数据流正确转换
项目维护与贡献
代码结构概览
Akagi/ ├── client.py # 主用户界面 ├── mitm.py # MITM代理服务 ├── mjai/ # AI核心模块 │ ├── bot/ # AI模型相关 │ └── http_server/ # HTTP服务接口 ├── mhm/ # 辅助功能模块 ├── liqi_proto/ # 协议定义文件 └── settings.json # 主配置文件贡献指南
欢迎通过以下方式参与项目:
- 问题反馈:在GitHub Issues报告bug或建议
- 功能开发:实现新功能或改进现有功能
- 文档完善:改进使用文档或添加教程
- 测试验证:测试新功能并提供反馈
技术价值与学习意义
教育价值
Akagi不仅是一个游戏辅助工具,更是学习麻将策略的优秀平台:
- 决策透明化:展示AI的思考过程和评估标准
- 数据驱动学习:基于统计和概率的决策方法
- 渐进式提升:从基础到高级的完整学习路径
技术实现亮点
- 实时性:在100ms内完成完整分析流程
- 准确性:基于大规模对局数据训练的AI模型
- 可扩展性:模块化设计支持多种麻将平台
- 开源透明:完整代码可供学习和改进
总结
Akagi为麻将爱好者提供了一个强大的学习工具,通过AI技术帮助玩家深入理解麻将策略。项目采用开源模式,支持多种麻将平台,具有高度的可定制性。
核心建议:
- 将Akagi作为学习工具而非替代工具
- 结合自身思考使用AI建议
- 遵循安全使用原则保护账号
- 参与社区贡献促进项目发展
通过合理使用Akagi,玩家可以在享受游戏乐趣的同时,系统性地提升麻将技术水平,真正理解这项古老游戏的策略深度。
【免费下载链接】Akagi支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Amatsuki, with the ability to use custom AI models to analyze games in real time and provide suggestions. Comes with Mortal AI as a built-in example.项目地址: https://gitcode.com/gh_mirrors/ak/Akagi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考