SuperAPI AI 工具集

gdas-reader

编程与开发

查看项目

更新于 10-17 14:07

技能介绍

GDAS-reader 是游戏开发智能体技能链中的第一步读取器。它的职责是读取一个输入产物并写出 ledger.json 证据账本,而不是直接创建 Godot 场景或 Bevy crate;场景与 crate 的生成由 godot-rea 和 bevy-rea 依据该账本完成。

用途 当输入是一个文件夹或已发布的文件,而输出需要是在 Godot 或 Bevy 中的重建时,应先运行本读取器,再把账本交给一个 emitter(生成器)。

主要能力 读取器会针对不同产物类型记录不同内容:

  • 源码树:记录声明,包括 class_name、async fn、pub(crate) fn,以及 UI 形态的字符串字面量;形似状态的名称(state、phase、mode)保持为部分信息。
  • Web 打包产物:记录 script 与 style 之外的文档标题、标题元素、脚本 URL、图片 URL,以及每个数组元素的 JSON 键路径;压缩脚本内部的行为不解析。文件夹也会被扫描源码、资源和 WASM,而不是直接丢弃。
  • 资源文件夹:记录文件路径、媒体类型和 source_path;除非同时设置 --allow-assets 和真实的 --license-note,否则字节保持原位不复制。
  • WASM:记录导出名、导入模块与字段名,最多 10 段 ASCII 连续串;函数体与非 ASCII 文本不解析,被截断的部分记为 unknown 而不是崩溃。
  • PE 或 ELF:记录格式识别与可读字符串;机器码不解析,.dll 或 .so 字符串因未遍历导入表而记为部分信息,过短的头部记为 unknown。 读取器使用标准库 Python,不调用外部反编译器。原生二进制只贡献头部遍历、导入与字符串;加壳或加密的区段记为 unknown 条目。

使用方式 命令示例: python skills/gdas-reader/scripts/read_artifact.py P:\artifact --out P:\work\ledger.json python skills/gdas-reader/scripts/read_artifact.py --self-test Schema 见 references/ledger.md。 脚本 read_artifact.py 对文件或目录进行分类并写出账本;--self-test 检查测试夹具;--license-note 记录许可证;--allow-assets 将字节复制到 --out 旁边的 copied-assets/ 目录,且必须同时提供许可证说明。

账本诚实度 在 emitter 运行前应对账本评分,分档为累加式,低于 3 分的账本不会被当作玩法生成:

  • 0:条目声称文件并未展示的行为。
  • 1:缺少状态,或所有猜测都被标为 confirmed。
  • 2:存在状态值,但 limits 隐藏了读取器无法解析的格式。
  • 3:每个条目都有 id、status、evidence 和技能建议,unknown 被列出。
  • 4:上限与许可证缺口写入 limits,未复制资源字节,部分名称未被描述为可运行机制。

限制与禁止事项

  • 绝不因为符号名看起来像 health、damage 或 save 就将其标为 confirmed,这类匹配只能是 partial。
  • 除非同时设置 --allow-assets 和 --license-note,绝不复制图片、音频或 glTF 字节;仅设置许可证说明只记录许可证,字节仍留在原位。
  • 绝不对原生代码、WASM 函数体或压缩 JavaScript 进行反编译以臆造机制。
  • 当扫描触及 40 条目上限或文件被加壳时,绝不丢弃 limits。
  • 绝不让 godot-rea 或 bevy-rea 指向相对的 ../gdas-reader 路径,应链接上方 GitHub URL,以便单技能安装时仍能指明前置条件。

适用场景 适用于需要从已有产物(源码、Web 包、资源、WASM、PE/ELF)出发,为 Godot 或 Bevy 重建准备证据账本的场景。

相关技能 前置:无,本技能是第一步。 互补:godot-rea(从该账本生成 Godot 4.7 工程)、bevy-rea(从该账本生成 Bevy 0.20 crate)。 下游消费者:godot-builder(godot-rea 写出场景后进行无头导入)、bevy-project-foundations(Bevy emitter 遵循的 crate 固定与插件形态)。 两个 hub 均未镜像本技能;Godot 重建在 godot-master 继续,Bevy 重建在 bevy-master 继续。