P4 Theater

人类投降派全片逐帧扫描数据库升级方案

来源版本:2026-07-05 · 公开:2026-09-08 · 10,452 字符 · P4 剧场研究档案

下载完整公开版 Markdown段落与引用数据(JSON)引用本文回到影片资料
本篇目录 / Contents

人类投降派全片逐帧扫描数据库升级方案

结论

刚完成的工作不只是“把电影逐帧扫完”。它实际上已经形成了一个四层证据系统:

  1. T0 台词脊柱:句号、时间码、角色、文本、分段卷页。
  2. T1 本地取证层:LocalForensics 页、精确音频窗、帧图、联系表、颜色/亮度/音量指标、不可升级边界。
  3. T2 候选理解层:MiMo 报告、候选声画观察、待人工复核的线索。
  4. T3 解释与公开层:综合文章、概念页、人物库、观众网站短文和搜索页面。

现在的问题不是材料不足,而是材料太多、关系太散。大量关键信息分布在 Markdown frontmatter、正文表格、正文段落、文件名、资产目录名、JSON 指标文件和站点导出的 search-index.json 里。人能顺着经验找到,但机器无法稳定回答这些问题:

所以升级的核心不是再多写一批长文,而是把已经完成的取证工作变成一个可重建、可查询、可导出、可接前端的数据库。

现有成果盘点

台词与逐句卷页

当前主入口是 人类投降派逐句对白声画解读总入口-2026-06-20(馆内参考,未随本文公开)。它记录的关键事实是:#1030-#2037 已完成标准细读闭合,T0 台词线最终到 #2037,#2037 为片尾前低位尾句。

逐句正文已经按卷页拆分为 41 个 Markdown 文件,主阅读路径不应再把正文塞回总入口。总入口负责目录、进度、证据规则和恢复说明;数据库应从这些卷页中提取每句的稳定命名、声画判断、证据页链接和不可升级边界。

当前导出站点的 search-index.json 已有一个可用但偏扁平的台词层:

类型 数量
dialogue 1995
concepts 470
synthesis 1274
entities 22
parts 6
timecodeCards 5

这个索引适合前端搜索,但不适合作为总数据库。它缺少 LocalForensics frontmatter、原始资产指标、证据包、帧级对象、音频窗对象和“不能证明”的结构化字段。

LocalForensics 层

wiki/sources/LocalForensics/ 当前约有 1439 个来源页,其中 source_kind: local-forensics-line-review 约 498 页,带 hs4g/dialogue/line- 标签的页面约 436 页。除此之外,还有分钟联系表、clip review、audio-visual review、exact-line review、4K micro review、p3/p6 window 等多种证据页。

这说明 LocalForensics 已经不是单一“来源摘要”。它已经承担了三种职责:

数据库必须尊重这种多形态来源,而不是只抽 title/timecode/text

原始资产包

4K no-sub restart 的核心资产包位于:

〔本地资料路径省略〕

该目录现有约 480 个一级资产包目录,三层内文件约 21094 个;主要类型为:

扩展名 数量
jpg 7719
wav 6779
json 6589

2037 对应资产包 2037-dont-care-final-line-to-postcredit-tail-chain/ 是一个成熟样板:同一证据包中同时有 exact 句窗、前后 gap、boundary、postcredit tail、帧图、contact sheet、音频概要 JSON、频谱/空间 JSON、颜色指标 JSON、100ms/20ms bin 指标等。

第一版数据库应该优先学习这种样板,而不是一次性理解所有历史资产目录命名。

MiMo 候选层

wiki/sources/MiMo/ 当前约 1970 个 Markdown 页,其中 mimo-report 约 1242 个,另有 run ledger、prompt、summary、video report card、synthesis card 等。

MiMo 层的价值在于候选发现和大范围扫视;风险在于它不能覆盖本地 T1。数据库设计上应把 MiMo 当作 candidate_observations,并显式记录它是否被 LocalForensics 确认、降级、拆分或废弃。

主要缺口

缺口一:台词编号体系没有完全并轨

前端 search-index.json 的 dialogue id 是 1 到 1995;逐句工程使用 #1 到 #2037;人物工程又有 J001A501Z193R101 等角色内编号。这三个编号体系都合理,但现在缺少稳定映射表。

数据库需要把它们拆成不同字段:

没有这张映射表,未来任何“点击文章时间点让时间线亮起”的交互都会出现错位风险。

缺口二:证据边界还没有结构化

LocalForensics 页最珍贵的不是“证明了什么”,而是“明确不能证明什么”。例如 #2037 页明确限定:低位尾句接片尾尾部,不证明心理闭合、强宣言、角色主权恢复、音乐桥、设备声或系统 UI。

这些否定边界如果只留在正文里,前端、搜索和 AI 问答很容易把谨慎判断重新说过头。数据库应该把它们抽成一等对象:

这是防止网站、文章和问答“穿帮”的底层机制。

缺口三:音频、画面和文章之间没有中间层

现在文章可以写到“#2037 exact RMS = -36.408dBFS”,但数据库不知道这个数来自哪个 JSON、哪个 wav、哪一个窗口、对应哪张帧图。前端也无法稳定做“点开台词 -> 看到对应声画证据 -> 再打开高清帧/音频窗”。

中间层应包括:

缺口四:公开网站和研究库还没有清晰的数据出口

观众网站不应该原样展示研究库技术话语,也不应该把“入口/资料库/导览/教你看”等后台姿态带到页面上。数据库需要同时服务两种出口:

这两个出口共用底层事实,但使用不同视图。不要让公开页面直接扫完整 synthesis 列表。

建议数据库形态

第一版建议使用 SQLite + FTS5。理由是:

源头仍然是:

wiki/**/*.md
raw/assets/**/*
exports/sites/**/audience-content.json
exports/sites/**/search-index.json

数据库是派生物,构建脚本可以随时重跑。

P0 已落地

2026-07-05 已新增第一版构建脚本:

inspool-wiki-zh/scripts/build_hs4g_memory_db.mjs

脚本使用纯 Node.js 读取 Markdown/JSON/资产目录,并调用系统 sqlite3 写入数据库;不依赖 npm 包。当前输出为:

inspool-wiki-zh/exports/databases/hs4g-memory.sqlite
inspool-wiki-zh/exports/databases/hs4g-memory-build-report.json

本轮构建结果:

对象 数量
search-index 台词 1995
LocalForensics 来源页 1439
MiMo 来源页 1970
evidence_sources 总数 3409
带台词 # 线索的来源页 3235
canonical # 占位线 1765
concepts 470
entities 22
synthesis 1274
公开短文 24
文章时间锚点 72
资产包 480
资产文件 21113
证据边界 claim_boundaries 14382

抽查 #2037 已能连通:

canonical:2037
-> LocalForensics #2037 来源页
-> 2037-dont-care-final-line-to-postcredit-tail-chain 资产包
-> 28 个资产文件:10 图像、10 音频、8 JSON 指标
-> “不支持真实心理状态 / 完整退出 / 立即黑场”等边界

同时,观众短文中的 2:23:57 / 揭示 等时间锚点已进入 article_time_anchors,后续可由网站直接读取数据库来点亮时间线。

P0.5 站点接入

2026-07-05 已新增站点轻量出口脚本:

inspool-wiki-zh/scripts/export_hs4g_site_memory.mjs

输出:

人类投降派台词搜索-2026-05-31/memory-lite.json
inspool-wiki-zh/exports/databases/hs4g-site-memory.json
inspool-wiki-zh/exports/databases/hs4g-site-source-map.json

当前轻量出口结果:

对象 数量
带出处的站点台词 1995
LocalForensics 来源页 1439
有时间窗的来源 978
canonical # 线 1760

站点侧更新:

验收:

核心表设计

作品与时间结构

作用
films 作品元数据、版本、片长、母文件说明
film_parts 章节/段落,接收当前 parts
time_spans 可复用时间段对象,给台词、来源、文章锚点、视觉锚点共用

台词脊柱

作用
dialogue_lines 每句台词的主表:文本、起止时间、说话者、编号体系
speakers 角色/说话者规范名、别名、人物页
line_number_aliases #号、站点 id、SRT id、角色内编号之间的映射
line_readings 从逐句卷页抽取的稳定命名、短读、证据层级
line_segments 41 个逐句正文卷页的范围、路径、状态

dialogue_lines 必须同时容纳“已有站点 1995 条”和“逐句工程 #2037”。不是强行二选一,而是显式标注映射关系、缺口和历史编号来源。

证据来源

作用
evidence_sources LocalForensics、MiMo、source 页总表
evidence_source_links 来源页支持/反驳/参照/继承的关系
source_line_links 来源页与台词句号之间的多对多关系
source_concept_links 来源页与概念之间的多对多关系
source_entity_links 来源页与实体/人物之间的多对多关系

evidence_sources 最少字段:

id
source_path
title
source_kind
canonical_status
evidence_tier
timecode_start
timecode_end
raw_asset_dir
created
updated
run_slug
summary_text
boundary_text

需要同步做字段归一化:当前 LocalForensics 中 evidence_tierT1T1_LOCAL_FORENSICST1_LOCAL_4K_AUDIOT1_LOCAL_AV_PHYSICAL_MEASUREMENT 等多种写法。数据库可以保留原值,同时增加 evidence_tier_norm

资产和指标

作用
asset_packages raw asset dir 的一级包
asset_files 包内文件清单、类型、相对路径、大小、hash
audio_windows exact/gap/boundary/ref/post 等音频窗
audio_metrics RMS、peak、duration、sample count、ratio 等
audio_bins 100ms/20ms/10ms 曲线
frames 单帧路径、时间点、角色、用途标签
frame_metrics 亮度、颜色、dominant color、对比度等
contact_sheets 联系图文件、覆盖范围、子帧数量

第一版不必做完整计算机视觉识别。只需把已经存在的 JSON 指标和命名角色抽进数据库,让前端能稳定打开高清图、联系图和证据包。

解释层与公开层

作用
wiki_pages 所有 synthesis/concepts/entities/meta 页的页面级索引
concepts 概念规范名、摘要、公开可见状态
entities 人物/机构/地点/作品实体
articles 观众短文、公开文章、研究长文
article_time_anchors 文章内时间锚点,驱动时间线高亮
article_line_links 文章关联台词
article_concept_links 文章关联概念
public_routes 哪些内容允许出现在公开网站/sitemap

这里必须有 public_visibility 字段,例如:

private_research
public_candidate
public_featured
public_noindex_follow
public_hidden

这样网站不会再因为“全库太大”而把研究后台误当观众入口。

判断与边界

作用
claims 稳定判断、候选判断、公开可说判断
claim_supports claim 被哪些来源、台词、帧、音频窗支持
claim_boundaries claim 不能升级到哪些说法
risk_terms consent、心理事实、医学事实、真实伤害、设备声等风险词
review_decisions 人工复核、降级、废弃、合并、保留

这一组表是整个数据库最重要的“刹车系统”。如果只做全文搜索,系统会越来越会“找材料”;如果把边界结构化,系统才会知道哪些材料不能被说过头。

查询能力目标

研究者查询

观众网站查询

维护查询

构建管线

第 0 阶段:只读盘点

生成一个 db-build-report.json

这个阶段不改变任何文件,只暴露问题。

第 1 阶段:SQLite 骨架

新增脚本建议路径:

inspool-wiki-zh/scripts/build_hs4g_memory_db.mjs

输出:

inspool-wiki-zh/exports/databases/hs4g-memory.sqlite
inspool-wiki-zh/exports/databases/hs4g-memory-build-report.json

第一版只建这些表:

第 2 阶段:T1 证据包解析

优先解析 #2037 样板资产包和 1120-at-this-point-nooffset/ 下的后段 exact-line 包。目标是把 audio_summary*.jsonaudio_frequency*.jsonframe_color_metrics*.json 和联系图路径抽入表中。

这一阶段先不要追求全库完美。先确保一条句子能完整展示:

台词 -> T1 来源页 -> raw asset package -> 音频窗 -> 音频指标 -> 帧图 -> 联系图 -> 不可升级边界

第 3 阶段:前端 API 与搜索重构

现有 build-search-index.js 保留为前端轻索引生成器,不建议继续把它扩成总数据库脚本。更好的路线是:

  1. SQLite 建成总库。
  2. 从 SQLite 导出公开站点需要的轻 JSON。
  3. 公开站点只读轻 JSON 或 API。
  4. 研究者工具可直接查询 SQLite。

这样公开网站不会被全库 1000+ synthesis 和 400+ concepts 拖垮,也不会把研究后台原样暴露给观众。

第 4 阶段:语义搜索

关系查询稳定后,再加向量检索:

语义搜索只负责“找到可能相关的东西”;最终显示仍必须回到 SQL 关系和证据层级。

数据库与 Obsidian 的关系

Obsidian 仍然是作者工作台和人工判断源头。SQLite 不是新权威,而是重建出来的索引层。

推荐规则:

第一批实施优先级

P0

P1

P2

对网站升级的直接意义

完成数据库后,网站可以从“前端大 JSON 搜索页”升级为真正的记忆入口:

这会让“人类投降派搜索记忆库”不只是一个网页,而是一个可持续升级的软件底座。

证据边界

本文只提出数据库结构和工程路线。它不新增任何片内事实裁决,不改变 #2037 的尾句判断,不改变角色归属、时间码、台词文本或 LocalForensics 页的证据层级。涉及公开网站的部分仅讨论数据出口,不直接生成新的观众文案。

引用与版本

P4 剧场研究档案:《人类投降派全片逐帧扫描数据库升级方案》,来源版本 2026-07-05,公开研究版 2026-09-08

https://a.p4theater.top/research/hs-40c63d44478fd094

馆内参考标记指尚未在本次文库公开的资料,不能视为读者已可访问的独立证据。不同版本、译文与同一材料的转述,不计作相互独立的证据。