universal-modder贡献者指南:如何提交字段笔记、编写um CLI模块与维护引擎Playbook
【免费下载链接】universal-modderPoint Claude at any game. Skills, tools and the fal MCP that let Claude Code mod almost any PC game you own: recon, reverse engineering, fal-generated art/3D/audio, in-game testing, showcase videos.项目地址: https://gitcode.com/gh_mirrors/un/universal-modder
universal-modder 贡献者指南:手把手教你向这个"让 AI 给任意 PC 游戏做 Mod"的开源工具提交三大类贡献——字段笔记(field notes)、umCLI 新模块、引擎 Playbook。无需深厚逆向背景,跟着本文步骤走,新手也能顺利发出第一个 PR。
项目是什么:先花1分钟看懂结构
universal-modder 由三部分构成,你的贡献会落在其中一个:
| 目录 | 内容 | 贡献类型 |
|---|---|---|
knowledge/ | AI 写给 AI 的"字段笔记"知识库 | 📝 最常见,人人可写 |
um/ | Python 写的um命令行工具 | 🛠️ 工具开发 |
skills/ | AI 技能与 12 份引擎 Playbook | 📚 经验沉淀 |
完整规则见 CONTRIBUTING.md,AI 和人类贡献者都适用。
一、提交字段笔记:最推荐的入门贡献
字段笔记记录"某款游戏是怎么被真正 Mod 的":精确版本号、选用的路线、引擎真相、验证方式、踩坑清单。下一个 AI 读到它,就不用再踩同样的坑。例如这份 Terraria Fal Arsenal 笔记 就记录了从 tModLoader 加载到内存泄漏修复的全部细节。
第 1 步:先搜索,确认不重复
um kb search "grand theft auto"如果已有笔记,去改进它(补版本、补 gotcha、纠错),不要另开一篇。
第 2 步:用脚手架生成模板
um kb new --game "Hades II" --title "A new boon god" --from-scan hades --agent "Codex (gpt-6)"--from-scan会自动预填引擎、反作弊、已装加载器等扫描结果。生成后按 knowledge/TEMPLATE.md 的章节逐段填写。写作对象是"从未见过这款游戏的 AI",重点写三块:
- Setup:精确版本。"最新"对谁都没用;
- Verification:用什么"预言机"验证过,以及没验证什么;
- Gotchas:编号列出"症状 → 原因 → 修复",这是整篇笔记最有价值的部分。
第 3 步:校验、更新索引、开 PR
um kb check knowledge/games/hades-ii/a-new-boon-god.md um kb index um kb pr knowledge/games/hades-ii/a-new-boon-god.md --yesum kb pr不加--yes是干跑(dry run),会打印将要执行的 git/gh 命令。PR 是公开的、挂在你的账号下,执行前请先让"人类搭档"看过笔记内容。
二、编写 um CLI 模块:工具类贡献
um是纯 Python(3.10+)CLI,架构约定非常简洁,新贡献者容易上手:
- 一个 CLI 组 = 一个模块。现有模块如 um/kb.py、um/sprite.py、um/scan.py,每个文件实现一个
register(sub)函数挂到 um/cli.py 的GROUPS列表; - 模块 docstring 兼作
--help帮助文案,所以 docstring 要写好命令示例; - 必须补测试:在 tests/test_um.py 中添加用例,本地跑
uv run --with pytest pytest -q tests全部通过; - Windows 侧 PowerShell 工具有特殊约束:um/ps1/ 内嵌的是 C# 5(Windows PowerShell 5.1 编译器),不能用字符串插值、
out var等新语法。
CI 每个 PR 都会跑测试、um kb check --index和 CLI 帮助页检查,本地先跑通能少返工。
三、维护引擎 Playbook:把踩坑经验写进"手册"
引擎 Playbook 位于 skills/mod-any-game/references/engines/,每个文件覆盖一类引擎(如 dotnet-xna.md、godot.md、unreal.md),结构统一:
| 章节 | 写什么 |
|---|---|
| Identify | 如何识别该引擎(文件特征、magic 头) |
| Read the game | 用什么反编译/解析工具,输出放哪 |
| Routes | 按优先级排列的 Mod 路线(社区加载器 → 内容覆盖 → 重编译) |
| Pitfalls | 版本陷阱、32/64 位、常见错误 |
维护建议:
- 链接到权威社区项目,但注明"版本会变,请查当前发布",别写死版本号;
- 写法对 AI 中立:说 "the agent",不点名某个具体产品;
- 深水区细节放
references/,SKILL.md保持精炼。
贡献红线:碰了 PR 直接关闭
以下规则来自 CONTRIBUTING.md 和um kb check的自动校验:
- 🚫不上传游戏内容:游戏文件、提取资源、ROM/ISO;
- 🚫不粘贴反编译代码:用自己的话描述逻辑、点名符号即可,自有代码片段超 60 行警告、150 行直接失败;
- 🚫不做联机作弊:不写联机内存偏移、不绕过反作弊/DRM,仅限单机与离线;
- 🚫不含密钥:API key、token、
.env文件(um kb check与 um/publish.py 都会拦截); - ✅诚实标注:
agents:写明代理+模型,status如实填(in-progress、abandoned也欢迎——死路也是知识)。
提交前检查清单
[ ] 跑过 um kb check(或 pytest 全绿) [ ] 版本号、验证方式、未验证项都写清楚了 [ ] 无游戏文件 / 无大段反编译代码 / 无密钥 [ ] 让"人类"看过 PR 内容参考 examples/aoe2-de-civ 里"帝国时代 II 新文明"这类完整案例,你会发现一份好的字段笔记+一个干净的 PR,就是对这个项目最有价值的贡献。
准备好了就 fork 一份仓库:git clone https://gitcode.com/gh_mirrors/un/universal-modder,从一篇字段笔记开始吧 🎮
【免费下载链接】universal-modderPoint Claude at any game. Skills, tools and the fal MCP that let Claude Code mod almost any PC game you own: recon, reverse engineering, fal-generated art/3D/audio, in-game testing, showcase videos.项目地址: https://gitcode.com/gh_mirrors/un/universal-modder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考