UAP Release Analyzer — UAP 版本分析器
v1.0.0在分析解密的UAP/UFO/FOIA PDF文件夹/批次时使用,例如war.gov/UFO PURSUE、FBI Vault、NARA箱或AARO发布的文件。运行库存、...
运行时依赖
安装命令
点击复制技能文档
UAP / 解密发布分析器 OpenClaw 端口说明:这是一个兼容 OpenClaw 的技能,改编自 Chase Wang 的 MIT 许可的 ckpxgfnksd-max/uap-release-analyzer。使用从安装的技能目录中捆绑的脚本,例如 python3 ~/.openclaw/workspace/skills/uap-release-analyzer/scripts/run_all.py 。如果您的 OpenClaw 技能目录是自定义的,请找到安装的 uap-release-analyzer 目录并在那里运行相同的 scripts/run_all.py 入口点。这个技能可以将一个文件夹的解密 UAP/UFO 文档转换为结构化的分析报告。它是从一个真实的工作流程中构建的,针对 May 2026 war.gov/UFO/ "PURSUE" 批次(162 个文件,4,000+ 页,混合 FBI/DOW/NASA/DOS/NARA 源),因此它适用于该宇宙的怪癖 —— 但它可以推广到任何 FOIA 发布的政府 PDF 批次。当使用类似 "分析我刚下载的 UFO 文件"、"为我构建这个 UAP 发布的报告"、"~/Downloads/release_01/ 中有什么?"、"比较发布 1 和发布 2"、"在这些 FBI 文件中找到编辑模式"、"总结这个 AARO PDF" 或者用户引用一个目录的解密文档并想要任何类型的摘要、清单或模式时触发。也可以在用户只转储一个路径并询问 "这里有什么有趣的?" 时触发 —— 这个技能是合适的工具。为什么是一个技能 这个工作有一个固定的形状,重复出现于每个新的批次:清单 —— 哪些文件下载,大小,页数,哪个机构。文本提取 —— 提取文本,其中有文本层;标记(通常是大多数)需要 OCR 的扫描文件。实体表面 —— 位置,机构,现象词汇,命名人。编辑模式分析 —— 哪些 FOIA豁免显示在哪里,哪些文件被编辑最多。跨文档模式 —— 年份集群,机构 × 位置热图,出现在 5+ 个文件中的名称。用户可以在 10 分钟内阅读的标准化报告。每次重新做这件事会浪费精力并产生不一致的输出。捆绑的脚本使每个批次都可以以相同的方式进行分析。标准工作流程 按以下顺序运行脚本。每个脚本写入中间工件,下一步将其消耗。它们是幂等的和增量的 —— 重新运行相同的文件夹跳过已经完成的工作。 release_root/ release_NN/ # 实际的 PDF/PNG/JPG 文件(输入) text/ # 每个 PDF 提取的文本(创建) inventory.csv # 每个文件一行(创建) analytics/ # 聚合输出(创建) top_terms.csv terms_by_agency.csv entities.json per_file_digest.csv cross_doc.json REPORT.md # 人类可读的分析写入(创建) 步骤 1 —— 清单。运行 scripts/inventory.py 。这遍历发布目录,根据文件名前缀(参见 references/agency_vocab.md)对每个文件进行分类,读取 PDF 页数,并写入 inventory.csv。不要手动编写清单 —— 脚本处理加密的 PDF 文件,带有空格或 em 破折号的奇怪文件名,以及 pypdf 无法打开的文件。 步骤 2 —— 文本提取。运行 scripts/extract_text.py [start] [end]。通过 pdfplumber 提取文本,写入 text/ 中的每个 PDF 的一个 .txt 文件。跳过已经有非空 .txt 文件的文件。许多 FBI / NARA / 旧照片 PDF 文件没有文本层 —— 这些将产生 0 个字符的文件;这是预期的,分析将它们视为 "扫描,需要 OCR"。可选的 [start] [end] 切片参数允许您在沙盒有每次调用超时时处理批次(war.gov 的 FBI 部分每个 200+ 页 —— 以 ~25 的批次提取它们,如果在 45 秒的调用环境中运行)。在您的回合前台运行脚本,而不是通过后台和结束回合模式。管道足够快(从冷启动几分钟内),您可以保持在回合内。如果单个 extract_text.py 调用实际上会超时,请更喜欢 [start] [end] 切片模式而不是后台 —— 切片调用每个快速完成,脚本是幂等的,进度可见。 步骤 3 —— 分析。运行 scripts/analyze.py 。读取提取的文本 + 清单,然后写入 analytics/ 的内容。这即使在 800K+ 个字符的文本上也很快。 步骤 4 —— 报告。运行 scripts/build_report.py 。读取清单 + 分析并写入一个 REPORT.md,其中包含以下 "报告结构" 下列出的部分。当用户只说 "分析 发布" 时,使用该路径按顺序运行所有四个。当他们问一个更具体的问题("有多少文件?"、"哪个文件被编辑最多?")时,只调用相关脚本或直接读取现有的工件。报告结构 总是使用 REPORT.md 中的确切部分顺序,使得跨批次的报告保持可比性。如果某个部分没有此批次的数据,请留下一行 "无数据" 注释 —— 不要省略标题。 # <发布名称> —— 原始分析 来源: ... · 已解密: ..