SuperAPI AI 工具集

fair-simulation-packager

通用与其它

查看项目

更新于 10-15 22:12

技能介绍

用途:为材料模拟结果构建最小可复现清单,让其他人或智能体了解运行了什么、用了哪些输入、输出应如何解读。

主要能力:收集项目名、引擎(如 LAMMPS、VASP、MOOSE)、输入/输出文件、结构 ID、单位映射;对本地存在的文件计算 size_bytes 与 sha256;记录缺失文件为警告;输出 fair_checks(has_inputs、has_outputs、has_units、has_engine_version、has_hashes_for_existing_files)与 recommended_next_steps。

使用方式:需 Python 3.10+,无外部依赖,支持 Linux、macOS、Windows。运行 scripts/fair_packager.py,例如:python3 skills/data-management/fair-simulation-packager/scripts/fair_packager.py --project-name al-cu-diffusion --engine LAMMPS --inputs in.lammps,data.lmp --outputs log.lammps,traj.dump --units energy=eV,length=angstrom,time=ps --structure-id local:alcu-cell-001 --json。--json 输出含 inputs 与 results 的信封,清单在 results.manifest;加 --out PATH 时只写裸 manifest 对象。

限制:仅生成元数据清单,不上传 NOMAD、Materials Project 或 OPTIMADE;不记录代码提交、容器摘要或解析器版本。缺失文件以退出码 0 报告;非法输入退出码 2(单位格式错误、控制字符、字段超 4096 字符、输入/输出超 1000 条、文件超 500 MB)。路径不做沙箱,绝对路径与 .. 均被接受,--out 可写到工作目录外。engine_version 默认 "unknown",应显式传入。

验证要点:确认 has_hashes_for_existing_files 为 true;检查 missing_files 为空或逐条说明;抽查至少一个 sha256;确认 engine_version 非默认值;确认 units 非空且覆盖各量;使用结构时确认 structure_id 已填;使用 --out 时确认写入的是裸 manifest。