
桌面应用CLI【免费下载链接】YaeAchievement更快、更准的原神数据导出工具项目地址https://gitcode.com/gh_mirrors/ya/YaeAchievement点击查看免费下载本文围绕开源项目 YaeAchievement“更快、更准的原神数据导出工具”的官方说明文档展开完整覆盖其核心能力、支持的九类导出目标、从下载到导出的完整操作流程、命令行参数并结合仓库源码剖析游戏路径定位、挂起注入、协议数据解析与缓存等底层实现帮助读者既能开箱即用也能理解其工作原理。一、项目定位与核心特性YaeAchievement 是运行于 Windows 平台的桌面工具作用是读取《原神》客户端内部的成就数据并转换为多种第三方工具或文件格式供玩家在成就统计站、工具箱中查看与管理自己的成就进度。根据 docs/README.md它具备以下三个核心特性支持导出所有类别的成就不仅限于剧情成就而是覆盖游戏内全部成就分类支持官服、渠道服与国际服官方简体中文服YuanShen.exe、各渠道服以及国际服GenshinImpact.exe均可识别没有窗口大小、游戏语言等要求不依赖玩家调整游戏窗口尺寸或切换语言使用门槛低。项目采用 GPL-3.0 协议开源主程序为单文件YaeAchievement.exe另有一个配套注入库YaeAchievementLib.dll会在运行时被注入游戏进程完成数据捕获详见 YaeAchievementLib.csproj。二、支持的导出目标一览官方文档在“导出支持”一节列出了 9 个导出目标涵盖在线工具、桌面应用与文件格式三种形态序号导出目标形态0椰羊cocogoat在线成就站通过 HTTP 上传1胡桃工具箱Snap.HuTaoWinUI 桌面应用协议唤起2Paimon.moe在线成就站导出 JSON 文件后手动上传3Seelie.me在线成就站导出 JSON 文件后手动导入4表格文件.csv本地文件5寻空XunkongWinUI 桌面应用协议唤起6原魔工具箱WxApp微信小程序7TeyvatGuide桌面应用协议唤起8UIAF JSON 文件本地文件UIGF 标准 v1.1在 Export.cs 中导出目标被维护为一个字典映射并通过Export.Choose统一分发var targets new Dictionarystring, ActionAchievementAllDataNotify { { App.ExportTargetCocogoat, ToCocogoat }, { App.ExportTargetHuTao, ToHuTao }, { App.ExportTargetPaimon, ToPaimon }, { App.ExportTargetSeelie, ToSeelie }, { App.ExportTargetCsv, ToCSV }, { App.ExportTargetXunkong, ToXunkong }, // { App.ExportTargetWxApp1, ToWxApp1 }, { App.ExportTargetTeyvatGuide, ToTeyvatGuide }, { App.ExportTargetUIAFJson, ToUIAFJson }, };从源码结构可以推断序号 6“原魔工具箱”的ToWxApp1方法在 Export.cs 中仍然保留向api.qyinter.com/achievementRedis上传 UIAF 数据并返回 8 位取件码但当前版本的导出菜单中该项已被注释移除官方文档仍保留历史说明。2.1 在线/桌面工具类目标的导出机制椰羊0将成就数据按 UIAF 格式序列化后 POST 至https://77.cocogoat.cn/v1/memo?sourceall_achievement服务端返回 memo key随后自动在浏览器打开https://cocogoat.work/achievement?memoKEY完成展示见 Export.cs。胡桃工具箱1先通过注册表检测hutao协议是否已被注册CheckWinUIAppScheme若已安装则把 UIAF JSON 复制到剪贴板并唤起hutao://achievement/import否则提示安装并打开微软商店。寻空5同样检测xunkong协议复制 UIAF JSON 到剪贴板后唤起xunkong://import-achievement?callerYaeAchievementfromclipboard。TeyvatGuide7检测TeyvatGuide进程是否在运行在则将 UIAF JSON 复制到剪贴板并唤起teyvatguide://import_uiaf?appYae。这三种协议唤起式导出都以“剪贴板承载 UIAF 数据 自定义 URL Scheme 通知目标应用”的方式工作实现见 Export.cs。2.2 文件类目标的命名与格式文件类导出统一写入程序所在目录并按当前时间戳命名目标文件名模板数据格式Paimon.moe2export-yyyyMMddHHmmss-paimon.json按“特辑”分组、仅包含已完成的成就 IDSeelie.me3export-yyyyMMddHHmmss-seelie.json仅包含已达成成就映射为{id: {done: true}}表格文件4achievement-yyyyMMddHHmmss.csv含 BOM 的 UTF-8 CSVUIAF JSON8uiaf-yyyyMMddHHmmss.jsonUIGF v1.1 标准格式其中 CSV 的表头固定为ID,状态,特辑,名称,描述,当前进度,目标进度,完成时间每行依次输出成就 ID、状态中文描述、所属特辑名、名称、描述、当前进度、目标进度与本地时区的完成时间文件开头写入\uFEFFBOM以确保 Excel 等工具正确识别 UTF-8 编码并在导出成功后自动用资源管理器打开所在目录见 Export.cs。三、安装与启动3.1 下载与文件选择从项目的 Releases 页面下载最新发布版选择名称为YaeAchievement.exe的单个文件以官方教程中的 2.4.1 版本为例当前仓库源码中版本常量为 5.7.3见 GlobalVars.cs以实际发布版本为准。建议将其保存在桌面或其它易于寻找的文件夹内。常见问题若游戏启动时报错“数据异常(31-4302)”请检查是否把本软件与《原神》主程序放在了同一目录二者应分开放置。3.2 启动流程双击YaeAchievement.exe启动程序会提示“原神正在启动”——此时程序会尝试启动游戏进程并注入数据捕获模块详见下文第四节正常进入游戏进入游戏后原神会自动退出工具弹出导出目标选择菜单按提示选择即可一般推荐导出至椰羊0或表格文件 .csv4。官方完整图文教程见 docs/Tutorial.md另有 docs/README_EN.md 与 docs/README_JP.md 提供英、日文说明。3.3 命令行参数从 Program.cs 可确认主程序支持三个可选命令行参数YaeAchievement.exe [游戏路径] [导出目标序号] [是否检查更新]参数 1游戏路径默认为auto。传入具体路径时若文件存在则直接使用否则回退到缓存、Unity 日志、进程探测三条链路自动定位见 AppConfig.cs参数 2导出目标序号默认为114514触发交互式菜单。传入 0~8 的整数可直接跳过菜单、按序号导出例如YaeAchievement.exe auto 4表示自动定位游戏并直接导出 CSV参数 3是否检查更新布尔值控制启动时是否检查新版本。四、源码级原理数据是如何被捕获的4.1 游戏路径自动定位的优先级AppConfig.Load按如下顺序解析游戏可执行文件路径AppConfig.cs命令行参数若参数不是auto且文件存在直接采用本地缓存读取genshin_impact_game_path_v2缓存并通过GetGameHash校验路径与哈希是否匹配防止路径失效Unity 日志扫描%USERPROFILE%\AppData\LocalLow\miHoYo\原神(或 Genshin Impact)\output_log.txt用正则.(?:\\)?/.*(GenshinImpact_Data|YuanShen_Data)提取数据目录并反推 exe 路径取最后修改时间最新者进程探测以上均失败时提示用户启动一次游戏程序等待检测到游戏进程后读取其可执行文件路径并结束该进程。定位完成后路径会连同哈希写回缓存供下次启动秒级复用。4.2 挂起创建进程与远程注入路径确定后StartAndWaitResult以CREATE_SUSPENDED挂起状态创建游戏进程见 GameProcess.cs随后通过三步把捕获模块注入其中在游戏进程内VirtualAllocEx分配内存WriteProcessMemory写入 DLL 路径用CreateRemoteThread远程调用LoadLibraryW加载YaeAchievementLib.dll通过CreateToolhelp32Snapshot枚举模块获取 DLL 基址计算入口YaeMain的 RVA 后再次远程线程调用最后ResumeMainThread恢复游戏运行。整个注入生命周期创建、注入、等待退出、终止封装在 GameProcess.cs 中对应的 Windows 互操作层见 YaeAchievementLib/src/Utilities/Native.cs钩子装配逻辑见 YaeAchievementLib/src/Goshujin.cs主程序通过命名管道YaeAchievementPipe定义于 GlobalVars.cs接收游戏内捕获到的协议消息。4.3 协议消息分发与成就解析主程序为三类消息注册了回调Program.cs消息号解析器内容1AchievementAllDataNotify成就全量数据2PlayerStoreNotify玩家背包/商店数据3PlayerPropNotify玩家属性数据AchievementAllDataNotify.ParseFromParsers/AchievementAllDataNotify.cs对字节流做容错式 protobuf 解析跳过长度前缀字段将每个内部字典按 tag 读出 ID、状态、总进度、当前进度与完成时间戳构造AchievementItem列表。每个成就项的状态为四值枚举Invalid / Unfinished / Finished / RewardTaken解析到的原始字节会先落盘为achievement_data缓存CacheFile.Write以便下次启动时快速复用。4.4 缓存机制与断点续用缓存统一存放于%ProgramData%\Yae\cache目录见 GlobalVars.cs由 CacheFile.cs 实现缓存文件名取内容 ID 的MD5 哈希扩展名为.nyan内容以GZip 压缩后的 protobufCacheItem存储携带Version、Etag、Checksum等元数据写回时校验哈希程序启动时若读取到 60 分钟内写入的成就缓存会询问“是否使用上次数据”确认后可直接导出而无需再次启动游戏见 Program.cs。4.5 三种文件格式的序列化差异UIAFv1.1UIAFRoot输出info导出应用、版本、时间戳、UIAF 版本与list两部分过滤条件为“状态 ≥ Finished 或当前进度 0”见 Outputs/UIAF.cs是所有协议唤起式导出的公共底座Seelie仅保留Status Finished的成就映射为{成就ID: {done: true}}见 Outputs/Seelie.csPaimon仅保留已完成且存在于元数据中的成就并按“特辑”分组输出嵌套字典见 Outputs/Paimon.cs。成就元数据名称、描述、特辑分组由AchievementInfo从远端桶加载Utils.GetBucketFile(schicksal/metadata)对应的 protobuf 定义见 res/proto/AchievementInfo.protoCSV 导出即依赖这份元数据补全中文名称与描述。五、常见问题Q原神启动时报错“数据异常(31-4302)”怎么办A不要把 YaeAchievement 与《原神》主程序放在同一目录二者应分开放置官方文档 docs/README.md 的“常见问题”一节。Q导出文件在哪里A所有文件类导出均写入YaeAchievement.exe所在目录文件名含导出时间戳如achievement-20261004123456.csv、uiaf-20261004123456.json。Q工具提示“没有数据”或解析失败A程序会保留原始字节到achievement_raw_data.bin便于排查AchievementAllDataNotify.cs若确认游戏未正常完成数据推送可删除%ProgramData%\Yae\cache下对应缓存后重试。六、总结YaeAchievement 用“挂起创建进程 远程注入 管道回传 容错 protobuf 解析”的完整链路实现了对原神客户端成就数据的即时捕获再通过统一的分发层把同一份数据序列化为椰羊、胡桃工具箱、Paimon.moe、Seelie.me、CSV、寻空、TeyvatGuide、UIAF JSON 等 9 种目标格式。官方文档docs/README.md、docs/Tutorial.md提供了开箱即用的完整流程而仓库源码Export.cs、Program.cs、AppConfig.cs、GameProcess.cs则为理解其内部机制提供了第一手依据适合希望深入掌握其导出原理的开发者继续研读。赞分享桌面应用CLI【免费下载链接】YaeAchievement更快、更准的原神数据导出工具项目地址https://gitcode.com/gh_mirrors/ya/YaeAchievement点击查看免费下载相关推荐如何免费使用MonkeyCodeGitHub评论区的AI编程神器如何免费使用MonkeyCodeGitHub评论区的AI编程神器 MonkeyCode是一款强大的AI开发平台内置云端开发环境并支持业内最全的顶尖大模型。人工智能AI 应用大模型AI Agent代码智能体后端前端桌面应用移动开发企业应用Cleanflight硬件选择指南如何挑选最适合的飞行控制器板Cleanflight硬件选择指南如何挑选最适合的飞行控制器板 为你的无人机选择正确的飞行控制器飞控是确保飞行性能和稳定性的关键。Cleanflight作嵌入式YaeAchievement原神成就导出工具终极使用指南YaeAchievement原神成就导出工具终极使用指南 还在为手动记录原神成就而烦恼吗YaeAchievement为您提供一站式成就导出解决方案让成就管理桌面应用CLI上一篇免费A站视频下载神器AcFunDown完整使用指南下一篇如何在Chrome浏览器中优雅阅读本地Markdown文档markdownReader完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考