mcpField
P
printing-press-library

printing-press-library

github.com/mvanhornAgent 工作流2.1k928 次安装今天更新
代码仓库

关于 printing-press-library

printing-press-library 是 Printing Press CLI 与配套 Agent 技能的开源目录入口,帮助 Agent 按任务搜索并选择专用工具。它提供搜索、安装和更新流程,并强调按需选择而非批量安装。

主要功能

  1. 01按服务或能力搜索工具目录
  2. 02查看工具对应的安装命令
  3. 03安装 CLI 与配套 Agent 技能
  4. 04更新已安装的目录工具
  5. 05提供技能重新加载指引

适用场景

  1. 01查找特定服务的专用命令行工具
  2. 02按研究或自动化任务寻找数据源
  3. 03安装某个 CLI 对应的 Agent 技能
  4. 04刷新已安装的 Printing Press 工具

安装

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

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

安装后在 Claude Code 中输入/printing-press-library确认已加载。

详细介绍

Printing Press Library

当用户询问可能存在于 Printing Press Library 中的 CLI、Agent 技能、API 封装器、爬虫、自动化工具或数据源时,请使用此技能。

此库是一个开源目录,其中收录了从 mvanhorn/cli-printing-press 生成的专用 CLI 及其对应的 Agent 技能。此技能是该目录的入口。不要仅仅因为某个小众技能存在就随意安装。先确定合适的工具,然后仅在对任务有帮助时安装相应的专用技能或 CLI。

默认工作流

  1. 仅在必要时澄清用户目标。

    • 如果请求提到了某项服务或网站,直接搜索该名称。
    • 如果请求描述的是一项工作而非某项服务,按能力和领域搜索。
    • 如果用户的 Agent 已有能安全完成该工作的内置工具,优先使用它,而不是安装另一个 CLI。
  2. 首先使用库的 CLI 搜索目录。

    • 使用 npx -y @mvanhorn/printing-press-library search <keyword> 获取便于人类阅读的结果卡片。
    • 使用 npx -y @mvanhorn/printing-press-library search <keyword> --json 以便 Agent 解析结果。
    • 如果已知类别,使用 npx -y @mvanhorn/printing-press-library list --category <category> --json。
    • 每条搜索结果都包含该工具的规范安装命令。
    • 仅在 npx 不可用或需要深入检查时,才回退到 GitHub 仓库或本地克隆。
  3. 谨慎选择。

    • 优先选择 README/SKILL 示例与用户实际任务相符的候选项,而不只是名称中包含同一网站的工具。
    • 安装前检查是否需要身份验证、Cookie、付费 API、特定操作系统的二进制文件或浏览器自动化。
    • 只安装范围最窄且有用的工具。不要仅仅因为搜索结果中出现了一组相关工具,就全部安装。
  4. 选定的工具有用时,通过库安装器安装。

    • 默认使用 npx -y @mvanhorn/printing-press-library install <slug>。
    • 在 OpenClaw 中,使用 npx -y @mvanhorn/printing-press-library install <slug> --agent openclaw,使专用技能安装到 OpenClaw 管理的技能根目录下;安装器默认将 Go 二进制文件放入每用户的 bin 目录。
    • 安装命令会同时安装 CLI 及其对应的专用 Agent 技能。
    • install <slug> 具有幂等性:对已安装的工具再次运行,会刷新 Go 二进制文件,并在原位置覆盖或重新添加专用技能。
    • 在幕后,安装器使用 go install <module>@latest 安装 CLI,并使用兼容 Vercel Agent Skills 的 skills CLI,从此仓库全局安装专用的 pp-* 技能。
    • 如果 Go 二进制文件安装成功,但不在当前进程的 PATH 中,应将其视为警告,而非技能安装失败。安装器仍应安装专用技能,并输出针对相应平台的 PATH 配置说明。
    • 在 Agent/网关环境中,Shell 启动文件可能不会影响已运行的进程。更改 PATH 后,重启会话/网关,并确认运行环境可访问默认用户 bin 目录。
    • 对于 OpenClaw 网关/服务部署,请确认网关进程的 PATH 能解析 <slug>-pp-cli;仅在交互式 Shell 中运行 which 并不足够。
    • 仅当用户明确只需要其中一项时,才传入 --cli-only 或 --skill-only。
  5. 让正在运行的 Agent 能看到新安装的技能。

    • 大多数 Agent 运行框架会在会话开始时快照可用技能。安装或刷新专用技能后,请先开启新会话或重新加载技能,再尝试调用该技能。
    • 在 Hermes CLI 会话中,如果可用,请使用 /reload-skills;也可以退出并启动新的 hermes 会话。
    • 在 Hermes 网关会话中,请在网关聊天中使用 /restart,或在 shell 中运行 hermes gateway restart,以便网关进程重新加载已安装的技能。
    • 在 OpenClaw 中,请假定当前 Agent 会话可能无法看到新安装的技能,除非重启 OpenClaw 会话或网关。
  6. 声称安装成功前先进行验证。

    • 如果安装的是 CLI,请运行其 --help 或等效的无害命令。
    • 如果安装的是技能,且该运行框架提供验证命令,请在重新加载或重启会话后确认目标运行框架能看到该技能。
    • 如果使用的是需要凭证的 CLI,请确认所需环境变量已设置,但不要打印机密信息。
  7. 安装或刷新成功后,提供高效的定期更新计划。

    • 安装和更新操作是幂等的,因此可以通过定时任务安全地保持已安装的 Printing Press CLI 和专用技能为最新状态。
    • 未经用户明确同意,不要创建 cron 或定时任务;周期性任务会产生持久影响。
    • 默认情况下,避免为每个 CLI 各建一个定时任务。用户可能会安装许多 Printing Press 工具,逐工具创建任务会很杂乱,也难以管理。
    • 优先使用一个合并的定期任务运行 npx -y @mvanhorn/printing-press-library update,以更新当前位于 PATH 上的所有已安装 Printing Press CLI 及其对应的专用技能。
    • 只有当用户明确希望某个工具采用不同的更新频率或策略时,才使用 npx -y @mvanhorn/printing-press-library update <slug> 创建逐工具任务。
    • 优先选择安静、低频的计划,例如每周一次,除非用户另有要求。

此技能的用途

使用此技能可在公开的 Printing Press Library 中查找 CLI 和 Agent 技能,将用户的目标与合适的库条目匹配,通过库 CLI 查找规范的安装命令,并且只在对任务有用时安装所选工具。

适用场景:

  • 查找针对某项指定服务的专用 CLI
  • 为一次性研究或自动化任务查找抓取工具或数据源工具
  • 安装专用的 pp-* 技能,让后续 Agent 知道如何使用特定 CLI
  • 刷新已安装的 Printing Press CLI 和技能

不适用场景:

  • 替换已经能解决任务的安全内置 Agent 工具
  • 未经审慎判断就安装范围过广的工具包
  • 用户尚未批准外部影响时执行需要凭证的账户操作
  • 未经明确批准就发布、发帖、预订、购买、发送电子邮件或更改第三方状态

安装方式

Printing Press Library CLI 是安装目录中工具的规范接口:

npx -y @mvanhorn/printing-press-library install <slug>

对于 OpenClaw,请明确传入 OpenClaw Agent 目标。安装程序会将二进制文件放入默认的用户级 bin 目录(macOS/Linux 上为 $HOME/.local/bin,Windows 上为 %LOCALAPPDATA%\Programs\PrintingPress\bin):

npx -y @mvanhorn/printing-press-library install <slug> --agent openclaw

该命令会安装目录条目的两部分内容:

  • Go CLI 二进制文件
  • 对应的专用 pp-* Agent 技能

安装技能时,安装程序会调用兼容 Vercel Agent Skills 的安装程序。概念上,它会运行:

npx -y skills@latest add mvanhorn/printing-press-library/cli-skills/pp-<slug> -g -y

因此,目录安装程序仍是正确的顶层命令:它会先安装 CLI,再使用相同的 agent-skills 机制全局安装专用技能,而不是让 Agent 手动另行编写技能安装流程。

安装操作是幂等的,也可作为单个工具的重新安装操作。重新运行 install <slug> 时,二进制文件会使用 go install <module>@latest 安装,并以非交互方式重新添加专用技能,在原位置覆盖现有安装。无需先执行卸载。 如果安装时提示二进制目录不在 PATH 中,二进制文件和专用技能仍可能已成功安装。按照输出的平台专属 PATH 配置说明操作;如果运行中的 Agent 会话或网关继承了固定环境,请重启它。仅当默认用户二进制目录不适用于该机器时,才使用 --bin-dir <dir>。

当用户要求刷新或重新安装现有工具时,使用 update:

npx -y @mvanhorn/printing-press-library update flight-goat
npx -y @mvanhorn/printing-press-library update

判断本地 CLI 是否过时时,先将已安装二进制文件报告的版本与目录发布元数据进行比较,再考虑检查源代码:

<slug>-pp-cli --version
npx -y @mvanhorn/printing-press-library search <slug> --json
npx -y @mvanhorn/printing-press-library list --json

在 search --json 或 list --json 中,读取 release.version 获取目录版本,读取 release.cli_name 获取二进制名称。如果本地 --version 的版本低于目录中的 release.version,请使用用户指定的二进制目录更新工具,通常如下:

npx -y @mvanhorn/printing-press-library update <slug> --bin-dir ~/.local/bin

只有当目录条目缺少 release 元数据,或二进制文件的版本字符串缺失、格式不像 semver,或有其他可疑之处时,才改用 go version -m <binary>、检查仓库或直接读取 .printing-press-release.json。例如,可以在本地通过 substack-pp-cli --version 检查 Substack,并通过 npx -y @mvanhorn/printing-press-library search substack --json 远程检查;如果目录版本较新,则使用 npx -y @mvanhorn/printing-press-library update substack --bin-dir ~/.local/bin 更新。

update <slug> 会对该工具采用安装语义。update 不带参数时,会发现当前 PATH 中的 Printing Press CLI 并刷新所有这些 CLI,包括与之匹配的专用技能。

由于更新操作具备幂等性,成功安装或刷新后,可询问用户是否要创建定期更新任务。先询问,不要自动安排。优先创建一个统一任务,而不是每个 CLI 各建一个任务,因为用户可能会安装许多 Printing Press 工具,为每个工具单独安排任务很快就会造成杂乱。

对于大多数用户,安排一个安静的每周任务,刷新当前 PATH 中所有已安装的 Printing Press CLI 及其匹配的专用技能:

npx -y @mvanhorn/printing-press-library update

只有当用户明确要求某个工具采用单独的更新频率或策略时,才使用针对单个工具的计划命令:

npx -y @mvanhorn/printing-press-library update flight-goat

如果已安装的库 CLI 提供 reinstall,则将其视为 update 的便捷别名:

npx -y @mvanhorn/printing-press-library reinstall flight-goat

示例:

npx -y @mvanhorn/printing-press-library install flight-goat

使用 search 或 list 输出中显示的安装命令。不要默认合成针对特定宿主环境的直接技能安装命令;只有在明确要求仅安装技能时才使用这些命令。

安装或更新后,应假定当前运行的 Agent 可能无法看到专用技能,直到技能重新加载或会话重启。Hermes CLI 会话可使用 /reload-skills 或启动新会话。Hermes 网关会话应使用 /restart 或 hermes gateway restart。如果 OpenClaw Agent 没有立即看到新安装的专用技能,请重启当前会话或网关。

Hermes 原生用法

与普通技能安装器相比,Hermes 能让 Printing Press 发挥更大作用,因为 Hermes 原生支持技能、配置文件、网关会话、cron 任务、记忆和工具集。应使用这些原语,而不是把 Hermes 当作通用聊天宿主环境。

在 Hermes 中安装并重新加载

安装或更新专用工具后,请确保 Hermes 能够实际看到新技能,然后再调用它:

npx -y @mvanhorn/printing-press-library install <slug>

然后根据 Hermes 的运行方式重新加载:

  • Hermes CLI:如果有 /reload-skills,请运行;否则启动新的 hermes 会话。
  • Hermes gateway:在 gateway 聊天中运行 /restart,或在 shell 中运行 hermes gateway restart。
  • 命名配置文件:请在将使用该技能的同一配置文件中安装并重新加载。在一个 Hermes home/配置文件下安装的技能,其他配置文件可能看不到。

检查本地 Hermes 安装时,以下命令很有用:

hermes skills list
hermes skills inspect <skill-or-url>
hermes config path
hermes config env-path
hermes profile list

这些命令仅用于诊断。除非用户明确要求仅为 Hermes 安装技能,否则安装 Printing Press 目录条目的默认方式仍是使用目录安装程序。

Hermes 配置文件

Hermes 配置文件彼此隔离,分别存放配置、技能、cron 作业、会话和记忆。如果用户提到了配置文件、工作区或独立的助手身份,请勿假设使用的是默认配置文件。

诊断“找不到技能”问题之前,请检查:

  • 当前启用的是哪个 Hermes 配置文件
  • 安装程序的目标 HERMES_HOME 是哪个
  • 该配置文件的 skills/ 目录下是否存在该技能
  • 安装后是否重启了 CLI 或 gateway

一种常见的故障情况是:将专用技能安装到一个配置文件中,却尝试从另一个配置文件中使用。这不是 Printing Press 的问题,而是安装目标不匹配。

Hermes 工具集

大多数 Printing Press CLI 都需要执行 shell 命令,因此 Hermes 需要终端访问权限才能运行它们。如果 Hermes 无法使用新安装的 CLI,请检查当前平台/会话是否启用了 terminal 工具集。

不要盲目启用广泛的工具访问权限。如果任务只需要内置的 Web、搜索或文件工具,请优先使用内置工具,而不是安装并运行第三方 CLI。

Hermes cron 更新

对于希望已安装的 Printing Press 工具保持最新状态的 Hermes 用户,建议创建一个整合的定时更新作业,而不是为每个工具分别创建作业:

Schedule: weekly, quiet hours preferred
Prompt: Run `npx -y @mvanhorn/printing-press-library update`, summarize any changes, and stay quiet if nothing changed.

如果使用 Hermes 的 cron 工具或 CLI,请仅在获得用户明确批准后创建作业。定期作业会产生持久影响。

一个好的 Hermes cron 提示词应当自包含:

Refresh installed Printing Press tools by running `npx -y @mvanhorn/printing-press-library update`. Report only updated tools, failures, or missing prerequisites. Do not print secrets. If nothing changed and there were no errors, say so briefly.

只有当用户明确要求某个工具采用不同的频率或风险策略时,才为该工具单独安排计划。

Hermes 记忆和会话搜索

Hermes 可能会记住持久的用户偏好、环境约定和已知的凭据存放位置。请利用这些上下文,避免让用户重复提供设置细节;但不要将易变的安装结果存入记忆,例如 PR 编号、提交 SHA、一次性下载的文件或“今天安装了工具 X”。

多次使用 Printing Press 后,适合记入记忆的内容:

  • 用户偏好的工具安装 Hermes 配置文件
  • 稳定的密钥管理器约定
  • 持久的工作区路径约定
  • 常见策略,例如“优先每周整合更新,而不是为每个工具分别创建作业”

不适合记入记忆的内容:

  • 特定的临时分支或 PR 编号
  • 一次性的搜索结果
  • 很快就会过时的已安装版本
  • 原始 API 密钥、Cookie、令牌或会话标头

用户询问之前安装或决定了什么时,请优先使用 Hermes 会话搜索,而不是猜测。

搜索技巧

默认使用库 CLI 作为目录索引。人类可读的搜索卡片包含一行 install:,其中列出了规范的安装命令:

npx -y @mvanhorn/printing-press-library search <keyword>

编写脚本或需要结构化排序时,请使用 JSON:

npx -y @mvanhorn/printing-press-library search <keyword> --json

示例:

npx -y @mvanhorn/printing-press-library search flights
npx -y @mvanhorn/printing-press-library search espn --json
npx -y @mvanhorn/printing-press-library list --category travel --json

仅在 npx 不可用、CLI 结果含糊不清,或在选择候选项之前需要深入了解 README/SKILL 细节时,才将仓库检查作为后备方案:

rg -i "<service-or-capability>" registry.json library cli-skills

如果注册表结构有所不同,请优先采用 npm CLI 的输出,而不是手动解析生成的目录文件。事实胜于感觉;官方接口胜过考古。

选择规则

优先选择符合以下条件的候选项:

  • 直接指出目标服务。
  • 其 README/SKILL 示例与用户请求的任务相符。
  • 其身份验证和设置要求有文档说明,且用户能够满足。
  • 支持用户的操作系统/运行时。
  • 在产生任何外部副作用前,可通过无害命令进行验证。

避免选择符合以下条件的候选项:

  • 与任务只有模糊的关联。
  • 需要用户没有的凭据。
  • 它是某网站的抓取工具,而用户的任务需要官方账号数据,且该技能无法进行身份验证。
  • 更安全的内置 API/工具已经可以解决该任务。
  • 任务风险较高、需要付费、面向公众或涉及隐私,而用户尚未批准外部操作。

安全与凭据

  • 切勿打印 API 密钥、Cookie、令牌或会话标头。
  • 如果有本地密钥管理器或环境文件可用,不要要求用户将机密粘贴到聊天中。
  • 将第三方 CLI 视为代码执行。只安装任务所需的专用工具。
  • 除非用户明确批准,否则不要发布内容、发帖、发送电子邮件、购买、预订或更改外部状态。

对于 Hermes 用户,优先使用 Hermes 的常规环境文件或用户现有的密钥管理器。要查找 Hermes 环境文件路径,请使用:

hermes config env-path

确认所需变量确实存在,但不要回显其值。如果某项专用技能说明密钥是可选的,或仅在使用某项功能时才需要,请保留这一区别;不要让人误以为整个工具都需要凭据。

验证清单

报告成功前:

  • 所选候选项与用户请求的任务直接匹配。
  • 安装命令来自 search、list,或有文档记录的 Printing Press CLI 行为。
  • 已通过 --help 或其他无害命令验证 CLI。
  • 如果需要让新安装的技能立即可用,已重新加载/启动 Agent 宿主。
  • 已检查所需凭据,且未打印任何机密。
  • 未在未经明确批准的情况下执行任何外部操作。
  • 对于 Hermes,在排查可见性问题时,已考虑相关配置文件/会话/网关。

ClawHub 上的 README 行为

ClawHub 会将 SKILL.md(或 skill.md)渲染为技能 README。技能文件夹中的单独 README.md 不会作为已发布的 README。请将面向用户的 ClawHub 文档放在此文件中。

评论

支持 Markdown