mcpField
P
pp-docker-hub

pp-docker-hub

github.com/mvanhorn云与 DevOps2.1k286 次安装今天更新
代码仓库

关于 pp-docker-hub

pp-docker-hub 是用于查询 Docker Hub 的 Printing Press CLI 技能,面向需要检查仓库信息的 Agent。它提供只读搜索与元数据查询,并支持 JSON 输出和本地数据查询。

主要功能

  1. 01Docker Hub 仓库全文搜索
  2. 02查询仓库元数据与详情
  3. 03Agent 模式 JSON 输出
  4. 04支持本地 SQLite 数据查询

适用场景

  1. 01按关键词查找 Docker Hub 仓库
  2. 02查看仓库拉取量、星标和更新时间

MCP 相关

技能文档提供独立 MCP 服务的安装与 Claude Code 注册步骤,可供 MCP 客户端调用。

安装

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

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

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

详细介绍

Docker Hub — Printing Press CLI

前提条件:安装 CLI

此技能依赖 docker-hub-pp-cli 二进制文件。**调用此技能中的任何命令之前,必须确认 CLI 已安装。**如果尚未安装,请先安装:

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

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

go install github.com/mvanhorn/printing-press-library/library/developer-tools/docker-hub/cmd/docker-hub-pp-cli@latest

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

何时不要使用此 CLI

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

命令参考

docker-hub-search — 管理 docker hub 搜索

  • docker-hub-pp-cli docker-hub-search — 在所有 Docker Hub 仓库中进行全文搜索。返回名称、描述、星标数和拉取次数。

repositories — 仓库元数据和详情

  • docker-hub-pp-cli repositories <namespace> <repository> — 获取 Docker Hub 仓库的完整元数据,包括拉取次数、星标数、描述和最后更新时间。
查找合适的命令

知道想做什么,但不确定该用哪个命令时,可以直接询问 CLI:

docker-hub-pp-cli which "<capability in your own words>"

which 会根据自然语言功能查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有可信的匹配项——请改用 --help 或使用更具体的查询。

身份验证设置

无需身份验证。

运行 docker-hub-pp-cli doctor 以验证设置。

Agent 模式

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

  • 可通过管道传输 — JSON 输出到 stdout,错误输出到 stderr

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

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

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

  • 非交互式 — 不会提示输入,所有输入均通过标志传入

  • 只读 — 不要将此 CLI 用于创建、更新、删除、发布、评论、点赞、邀请、下单、发送或其他会更改状态的请求

响应封装

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

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

使用 .results 解析数据,并通过 .meta.source 判断数据来自实时 API 还是本地存储。只有当 stdout 是终端时,才会将易读的 N results (live) 摘要输出到 stderr——通过管道接收数据的用户或 Agent 会在 stdout 中获得纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有异常之处时,请记录下来:

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

条目会存储在本地的 ~/.docker-hub-pp-cli/feedback.jsonl。除非设置了 DOCKER_HUB_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 DOCKER_HUB_FEEDBACK_AUTO_SEND=true,否则不会发送 POST 请求。默认情况下,反馈仅保存在本地。

记录让你感到意外的地方,而不是提交错误报告。简短、具体,用一行写清楚:这才是能不断累积价值的部分。

输出交付

每条命令都接受 --deliver <sink>。除 stdout 外,输出还会发送到指定的目标(也可以仅发送到该目标),让 Agent 无需手动管道传递即可路由命令结果。支持三种目标:

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

对于未知协议,会拒绝请求并返回结构化错误,指出支持的协议。Webhook 请求失败时返回非零状态,并在 stderr 中记录 URL 和 HTTP 状态。

命名配置

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

docker-hub-pp-cli profile save briefing --json
docker-hub-pp-cli --profile briefing docker-hub-search
docker-hub-pp-cli profile list --json
docker-hub-pp-cli profile show briefing
docker-hub-pp-cli profile delete briefing --yes

显式标志的优先级始终高于配置文件中的值;配置文件中的值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,以便 Agent 在运行时发现这些配置。

退出代码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
5API 错误(上游问题)
7受到速率限制(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

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

MCP 服务安装

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

直接使用

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

评论

支持 Markdown