资产库存管理器 是做什么的?
为每个项目保留一份权威、可审计的资产清单。数据存储在项目自身的 .asset-inventory/ 文件夹中(每个资产一个JSON文件)以及一个生成的Markdown视图(默认 ASSET_LIST.md)。切勿手动编辑Markdown视图:通过CLI更改记录,CLI会自动重新生成它。
CLI
所有操作都通过本技能中的一个仅依赖标准库的 Python 3.9+ 脚本进行:
python <this-skill-dir>/scripts/asset_inventory.py <command> [options]
下文中,aim 代表该命令。如果 python 缺失或不是 Python 3,请尝试 python3,然后 py -3(Windows),最后 uv run --no-project python。在项目内的任意位置运行,或传递 -C <project>。添加 --json 以获取机器可读的输出。历史记录会记录执行智能体:当自动检测错误时,传递 --agent <name> 或设置 AIM_AGENT。
| 任务 | 命令 |
|---|---|
| 初始化库存 | aim init --profile game|vr|web|software|generic [--git-setup] |
| 注册资产 | aim add --name "Bow" --category model --path assets/bow.glb --origin third-party --license CC-BY-4.0 --source-url URL --attribution required --credit "..." |
| 更改资产 | aim update ID --status final --verification approved --note "why" |
| 退役 / 删除 | aim remove ID --note "replaced by X"(保留记录)/ --purge |
| 查找资产 | aim query --category model --status placeholder,--path assets/ui/,--text bow,--format json|csv|ids |
| 单条记录 | aim get ID |
| 查找未注册的文件 | aim scan(添加 --register 以创建需要分类的记录) |
| 检查所有内容 | aim audit(--strict 使警告变为失败) |
| 重新生成Markdown | aim render(--check 用于CI) |
| 上下文(分支、工作树、锁) | aim info |
| 迁移旧的Markdown表格 | aim import-markdown old_list.md |
| 在Git冲突后 | aim resolve,然后 aim audit |
词汇(有关每个字段,请参阅模式):
- status:
planned(计划中),placeholder(占位,可工作,原型质量),integrated(已集成),final(最终),retired(已退役)。 - verification:
unverified(未验证),pending(待定),verified(已验证,技术检查通过),approved(已批准,所有者批准)。除非用户或审阅者批准,否则切勿标记为approved。 - origin:
original(原创),third-party(第三方),procedural(程序化生成),ai-generated(AI生成),unknown(未知)。第三方和AI生成的资产需要许可证。
工作流
- 定位。 运行
aim info。如果库存不存在且用户需要一份,请运行aim init并选择最接近的配置文件(配置文件),然后运行aim scan查看已存在的内容。对于现有的手写清单,请使用aim import-markdown并审查标记为imported的记录。 - 在同一个变更集中记录所有资产更改。 当你添加、替换、修改、移动或删除资产文件时,在同一提交中更新其记录:对于新文件使用
add,对于移动操作使用update --add-path/--remove-path,对于第三方文件的编辑使用update --modifications,当文件不再使用时使用remove。 - 诚实地记录来源。 在下载时捕获真实的来源URL、作者、许可证和所需的版权说明文本。如果未知,请使用
--origin unknown并如实说明;切勿猜测许可证。向用户标记许可证冲突。 - 保持状态真实。 区分计划、已实现、已验证和已批准。将下一个待检查项放入
--next;它将出现在清单顶部的“需要审查”部分。 - 在完成前进行审计。 运行
aim audit。修复错误;向用户报告剩余的警告。在摘要中提及清单路径。
协作规则(多个智能体、分支、工作树)
详细信息:协作。
- 每个Git工作树都有自己的库存副本;编辑你正在工作的工作树中的副本。切勿编辑其他智能体的工作树。
- 写入操作会获取一个短锁(
.asset-inventory/.lock),因此共享一个文件夹的智能体不会损坏文件。如果报告了锁,请等待并重试;只有当aim info显示锁的所有者进程已消失时才删除它。 - 为了避免丢失更新,请使用
aim get ID读取,然后使用aim update ID --expect-revision N。退出代码3表示其他人已更改它:重新读取并重新应用。 - 每个资产一个文件意味着并行分支很少冲突。在每个克隆仓库中运行一次
aim git-setup以安装字段级合并驱动程序。 - 在任何合并、变基或捡取操作后:运行
aim resolve(如果记录显示冲突标记或_conflicts),然后aim render,然后aim audit,最后提交。切勿手动合并ASSET_LIST.md;应重新生成它。 - 明确的ID(例如
M01)在单个分支上没问题;默认ID(<前缀>-<名称缩写>)可避免跨分支的编号冲突。
退出代码
0 表示正常 · 1 表示错误或审计失败 · 2 表示错误用法/未知值 · 3 表示需要关注的修订或合并冲突。