Files
digital-me-history/.agents/skills/historical-battle-assets/references/deliverable-schema.md
T
admin 0593ff7e62
nginx serve /uploads direct (audio speed) / patch-nginx (push) Failing after 1m34s
数字我 Digital Me:全量入库(大文件走 Git LFS)
2026-10-10 16:24:43 +08:00

2.6 KiB
Raw Blame History

交付结构

为每场战役创建独立目录:

战役素材/<规范战役名>/
├── 素材说明.md
├── manifest.json
├── images/
│   ├── 01-<scene-slug>.png
│   ├── 01-<scene-slug>.webp
│   └── ...
└── audio/                 # 仅在确有可用音频文件时创建
    └── <track-slug>.<ext>

素材说明.md

建议依次写:

  1. 规范事件名、时代、日期、地点与一句话结论;
  2. “60–90 秒主旁白”;
  3. 分幕素材,每幕列旁白、短标题、人物标签、图片文件、画面说明、替代文本和提示词;
  4. BGM 选曲、音频状态、选择理由与 cue sheet;
  5. 史实依据、可视化补全和禁用元素。

避免把大量代码或页面实现写进素材说明。

manifest.json

使用 UTF-8 和相对路径。最低字段如下:

{
  "event": {
    "canonicalName": "规范战役名",
    "aliases": ["用户原称"],
    "era": "时代",
    "date": "日期",
    "place": "地点",
    "summary": "一句话结论"
  },
  "narration": {
    "language": "zh-CN",
    "estimatedSeconds": 75,
    "fullText": "可连续口播的主旁白"
  },
  "scenes": [
    {
      "id": "01",
      "title": "幕标题",
      "timePlace": "本幕时间地点",
      "purpose": "本幕叙事作用",
      "narration": "本幕旁白",
      "overlay": {
        "heading": "短标题",
        "line": "一句短文案"
      },
      "people": [
        { "name": "人物", "office": "当时身份", "action": "动作或结局" }
      ],
      "image": {
        "original": "images/01-scene.png",
        "delivery": "images/01-scene.webp",
        "alt": "准确替代文本",
        "prompt": "最终成图提示词",
        "visualInference": "不属于史料明文的气氛或构图补全"
      },
      "sources": ["史料及卷次"]
    }
  ],
  "bgm": {
    "catalogId": "项目曲目 ID",
    "title": "曲名",
    "version": "版本",
    "status": "attached | playable-url | pending-export | unavailable",
    "pathOrUrl": "有实际音频时填写,否则为空",
    "usage": "伴奏、去人声或原曲使用方式",
    "reason": "为何适合这场战役",
    "cues": [
      { "from": "00:00", "to": "00:12", "scene": "01", "direction": "剪辑和情绪说明" }
    ]
  },
  "sources": [
    { "claim": "覆盖的事实", "citation": "来源" }
  ],
  "blacklist": ["禁止画入或写成事实的内容"]
}

status 必须反映真实状态。只有文件已复制进 audio/ 才使用 attached;只有可访问的项目自有音频地址才使用 playable-url。