关于 printing-press-library
printing-press-library 是 Printing Press CLI 与配套 Agent 技能的开源目录入口,帮助 Agent 按任务搜索并选择专用工具。它提供搜索、安装和更新流程,并强调按需选择而非批量安装。
主要功能
- 01按服务或能力搜索工具目录
- 02查看工具对应的安装命令
- 03安装 CLI 与配套 Agent 技能
- 04更新已安装的目录工具
- 05提供技能重新加载指引
适用场景
- 01查找特定服务的专用命令行工具
- 02按研究或自动化任务寻找数据源
- 03安装某个 CLI 对应的 Agent 技能
- 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。
默认工作流
-
仅在必要时澄清用户目标。
- 如果请求提到了某项服务或网站,直接搜索该名称。
- 如果请求描述的是一项工作而非某项服务,按能力和领域搜索。
- 如果用户的 Agent 已有能安全完成该工作的内置工具,优先使用它,而不是安装另一个 CLI。
-
首先使用库的 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 仓库或本地克隆。
- 使用
-
谨慎选择。
- 优先选择 README/SKILL 示例与用户实际任务相符的候选项,而不只是名称中包含同一网站的工具。
- 安装前检查是否需要身份验证、Cookie、付费 API、特定操作系统的二进制文件或浏览器自动化。
- 只安装范围最窄且有用的工具。不要仅仅因为搜索结果中出现了一组相关工具,就全部安装。
-
选定的工具有用时,通过库安装器安装。
- 默认使用
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 的skillsCLI,从此仓库全局安装专用的pp-*技能。 - 如果 Go 二进制文件安装成功,但不在当前进程的
PATH中,应将其视为警告,而非技能安装失败。安装器仍应安装专用技能,并输出针对相应平台的PATH配置说明。 - 在 Agent/网关环境中,Shell 启动文件可能不会影响已运行的进程。更改
PATH后,重启会话/网关,并确认运行环境可访问默认用户 bin 目录。 - 对于 OpenClaw 网关/服务部署,请确认网关进程的
PATH能解析<slug>-pp-cli;仅在交互式 Shell 中运行which并不足够。 - 仅当用户明确只需要其中一项时,才传入
--cli-only或--skill-only。
- 默认使用
-
让正在运行的 Agent 能看到新安装的技能。
- 大多数 Agent 运行框架会在会话开始时快照可用技能。安装或刷新专用技能后,请先开启新会话或重新加载技能,再尝试调用该技能。
- 在 Hermes CLI 会话中,如果可用,请使用
/reload-skills;也可以退出并启动新的hermes会话。 - 在 Hermes 网关会话中,请在网关聊天中使用
/restart,或在 shell 中运行hermes gateway restart,以便网关进程重新加载已安装的技能。 - 在 OpenClaw 中,请假定当前 Agent 会话可能无法看到新安装的技能,除非重启 OpenClaw 会话或网关。
-
声称安装成功前先进行验证。
- 如果安装的是 CLI,请运行其
--help或等效的无害命令。 - 如果安装的是技能,且该运行框架提供验证命令,请在重新加载或重启会话后确认目标运行框架能看到该技能。
- 如果使用的是需要凭证的 CLI,请确认所需环境变量已设置,但不要打印机密信息。
- 如果安装的是 CLI,请运行其
-
安装或刷新成功后,提供高效的定期更新计划。
- 安装和更新操作是幂等的,因此可以通过定时任务安全地保持已安装的 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 文档放在此文件中。