mcpField
P
pp-ufo-goat

pp-ufo-goat

github.com/mvanhorn生产力2.1k55 次安装今天更新
代码仓库

关于 pp-ufo-goat

pp-ufo-goat 是用于操作只读 `ufo-goat-pp-cli` 的技能,可搜索、查看、下载和分析 War.gov PURSUE 档案中的解密 UAP 文件,面向研究人员和记者,并提供本地更新跟踪及跨机构分析命令。

主要功能

  1. 01搜索和查看解密 UAP 文件
  2. 02在本地同步档案新发布内容
  3. 03构建跨机构事件时间线
  4. 04查找视频与 PDF 配对文件
  5. 05分析机构和地点数据
  6. 06支持断点续传下载文件

适用场景

  1. 01跟踪 PURSUE 档案的新发布内容
  2. 02跨机构研究相关事件
  3. 03查找视频对应的文件

MCP 相关

文档说明了 `ufo-goat-pp-mcp` MCP 服务的安装方式,以及在 Claude Code 中注册的方法。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-ufo-goat

安装后在 Claude Code 中输入/pp-ufo-goat确认已加载。

详细介绍

War.gov UFO — Printing Press CLI

前置条件:安装 CLI

此技能由 ufo-goat-pp-cli 二进制文件驱动。调用此技能中的任何命令前,必须确认 CLI 已安装。 如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序进行安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install ufo-goat --cli-only
    
  2. 验证:ufo-goat-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接 Go 安装(需要 Go 1.26.3 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/other/ufo-goat/cmd/ufo-goat-pp-cli@latest

如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,请勿继续执行技能命令。

何时使用此 CLI

当你需要浏览、搜索或下载 War.gov PURSUE 档案中的解密 UAP 文件时,请使用此 CLI。适用于追踪最新发布内容的研究人员、调查特定事件的记者,或需要以结构化方式访问政府 UFO 数据的 Agent。

何时不使用此 CLI

对于需要创建、更新、删除、发布、评论、点赞、邀请、订购、发送消息、预订、购买或更改远程状态的请求,请勿启用此 CLI。此打印版 CLI 仅提供用于检查、导出、同步和分析的只读命令。

独特功能

这些功能在此 API 的其他工具中均不可用。

可累积的本地状态
  • sync — 随着政府持续发布文件,自动检测并获取新批次的文件

    监控 PURSUE 发布计划的 Agent 无需手动检查,即可获知新文件

    ufo-goat-pp-cli sync
    
  • new — 查看自上次同步以来新增的文件;这是滚动发布中的“我错过了什么”命令

    当 Agent 需要检查新解密的文件,而不必重新扫描整个档案时使用

    ufo-goat-pp-cli new --since 7d
    
跨机构情报
  • timeline — 查看涵盖四个机构、时间跨度为 1944-2025 年的事件时间线

    研究人员需要了解全貌:将 1947 年的 FBI 案件与 2024 年的 DoW 任务报告并列查看

    ufo-goat-pp-cli timeline --after 1960 --before 1970
    
  • pairs — 查找视频与 PDF 的配对,帮助研究人员找到视频对应的文档,反之亦然

    41 个视频有配套文档——此命令可立即呈现这些关联

    ufo-goat-pp-cli pairs --agent
    
  • agencies — 查看各机构分别贡献了哪些内容:文件数量、类型、日期范围和覆盖情况分析

    快速回答“FBI、NASA 和 DoW 分别发布了什么”

    ufo-goat-pp-cli agencies --json --select name,file_count,types
    
  • locations — 按地理位置汇总事件,用于制图和空间分析

    美国西部有 25 起事件、叙利亚有 12 起、月球上有 9 起——汇总数据揭示空间分布模式

    ufo-goat-pp-cli locations --json
    
面向 Agent 的基础设施
  • download — 下载文件,支持断点续传、验证和进度跟踪,适用于 2.3 GB 的档案

    仅 PDF 文件就有 2.3 GB——Agent 需要可靠的批量下载和状态跟踪

    ufo-goat-pp-cli download --agency FBI --resume
    

命令参考

agencies — 为 PURSUE 发布内容做出贡献的政府机构

  • ufo-goat-pp-cli agencies — 列出所有贡献机构及其文件数量

files — FBI、DoD、NASA、国务院提供的解密 UAP 文件(PDF、视频、图像)

  • ufo-goat-pp-cli files get — 获取特定文件的详细信息
  • ufo-goat-pp-cli files list — 列出所有解密的 UAP 文件
  • ufo-goat-pp-cli files search — 对文件标题、描述和位置进行全文搜索
查找合适的命令

知道自己想做什么,但不清楚哪个命令能完成时,直接向 CLI 提问:

ufo-goat-pp-cli which "<capability in your own words>"

which 会根据自然语言能力查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出码 0 表示至少找到一个匹配项;退出码 2 表示没有足够可信的匹配项——请改用 --help 或缩小查询范围。

用法示例

查找所有 Moon 事件
ufo-goat-pp-cli files list --location Moon --json --select title,agency,incident_date

从 NASA 文件中展示阿波罗时代的月球 UAP 观测记录

下载所有 FBI 文件
ufo-goat-pp-cli download --agency FBI --resume

批量下载 56 项 FBI 贡献内容,并支持断点续传

20 世纪 60 年代的跨机构时间线
ufo-goat-pp-cli timeline --after 1960 --before 1970 --agent

查看 UFO 事件高峰期各机构的事件记录

查找视频与文档的配对项
ufo-goat-pp-cli pairs --json --select video_title,pdf_title,agency

找出哪些视频附有 PDF 报告

跟踪最新发布内容
ufo-goat-pp-cli sync && ufo-goat-pp-cli new

获取最新清单,并查看自上次检查以来新增的内容

身份验证设置

无需身份验证。

运行 ufo-goat-pp-cli doctor 以验证设置。

Agent 模式

为任何命令添加 --agent。它会扩展为:--json --compact --no-input --no-color --yes。

  • 可管道传输 — JSON 写入 stdout,错误写入 stderr

  • 可筛选 — --select 保留部分字段。点分路径可深入嵌套结构;数组会逐元素遍历。对于内容冗长的 API,这对控制上下文大小至关重要:

    ufo-goat-pp-cli agencies --agent --select id,name,status
    
  • 可预览 — --dry-run 会显示请求,但不会发送

  • 支持离线 — 可用时,同步和搜索命令可以使用本地 SQLite 存储

  • 非交互式 — 从不显示提示,所有输入都通过标志传入

  • 只读 — 请勿使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、订购、发送或其他会修改数据的请求

响应封装

从本地存储或 API 读取数据的命令,会将输出封装在一个溯源信封中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,并查看 .meta.source 以了解数据来自实时来源还是本地。当 stdout 连接到终端时,stderr 才会打印便于阅读的 N results (live) 摘要;通过管道或由 Agent 使用时,stdout 只会输出纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有问题时,请记录下来:

ufo-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
ufo-goat-pp-cli feedback --stdin < notes.txt
ufo-goat-pp-cli feedback list --json --limit 10

条目会本地存储在 ~/.ufo-goat-pp-cli/feedback.jsonl 中。除非设置了 UFO_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 UFO_FEEDBACK_AUTO_SEND=true,否则不会发送 POST 请求。默认行为仅限本地存储。

记录让你感到意外的地方,而不是编写错误报告。简短、具体、一行即可:这正是不断积累改进的关键。

输出传递

每个命令都接受 --deliver <sink>。输出会写入指定的接收目标,同时写入 stdout,或取代 stdout,让 Agent 无需手动通过管道传输即可路由命令结果。支持三种接收目标:

接收目标效果
stdout默认;仅写入 stdout
file:<path>将输出原子写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 --compact 时为 application/json 或 application/x-ndjson)

遇到未知方案时,命令会拒绝执行,并返回结构化错误,列出受支持的方案。Webhook 请求失败时会返回非零退出码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置是保存的一组标志值,可在多次调用中重复使用。若计划 Agent 每次运行都使用相同配置调用同一命令,就可以使用配置——这就是 HeyGen 的 “Beacon” 模式。

ufo-goat-pp-cli profile save briefing --json
ufo-goat-pp-cli --profile briefing agencies
ufo-goat-pp-cli profile list --json
ufo-goat-pp-cli profile show briefing
ufo-goat-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,以便 Agent 在运行时发现它们。

退出码

代码含义
0成功
2用法错误(参数不正确)
3未找到资源
5API 错误(上游问题)
7请求过于频繁(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 ufo-goat-pp-cli --help 的输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 参见上方的先决条件
  3. 其他任何内容 → 直接使用(作为带有 --agent 的 CLI 命令执行)

安装 MCP 服务

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/other/ufo-goat/cmd/ufo-goat-pp-mcp@latest
    
  2. 在 Claude Code 中注册:
    claude mcp add ufo-goat-pp-mcp -- ufo-goat-pp-mcp
    
  3. 验证:claude mcp list

直接使用

  1. 检查是否已安装:which ufo-goat-pp-cli 如果未找到,请提供安装选项(参见此技能顶部的先决条件)。
  2. 根据用户查询,从上方的独特功能和命令参考中选择最合适的命令。
  3. 使用 --agent 标志执行:
    ufo-goat-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果不明确,请查看子命令帮助:ufo-goat-pp-cli <command> --help。

评论

支持 Markdown