关于 pp-here-now
pp-here-now 是面向 Agent 的 CLI 技能,可发布网站、管理 here.now Drives,并读取 Site Data 提交记录。它还会在本地追踪匿名发布的认领期限,并支持按文件同步 Drive。
主要功能
- 01发布目录并管理 Sites
- 02追踪匿名发布的认领期限
- 03同步和比较 Drive 文件
- 04读取 Site Data 表单提交
- 05检查用量与过期 Site
适用场景
- 01将生成的网站目录发布为在线 URL
- 02仅将有变化的项目文件同步到 Drive
- 03读取网站集合中的表单提交
- 04在达到计划限制前查找过期 Site
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-here-now安装后在 Claude Code 中输入/pp-here-now确认已加载。
详细介绍
here.now — Printing Press CLI
前置条件:安装 CLI
此技能通过 here-now-pp-cli 二进制文件运行。**在调用此技能中的任何命令之前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install here-now --cli-only - 验证:
here-now-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接的 Go 安装方式(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/cloud/here-now/cmd/here-now-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,请勿继续执行技能命令。
何时使用此 CLI
每当 Agent 需要将生成的内容转换为可访问的网址、管理私有 Drive 文件,或读取 Site Data 表单提交内容时,都可以使用此 CLI。它适用于大量使用免费套餐的工作流:匿名发布并认领、同步 drives,以及在不使用付费分析的情况下遵守套餐限制。发布目录、同步文件或读取网站的 Site Data 记录时,优先使用它,而不是直接调用原始 API。
独特功能
这些功能在此 API 的其他工具中均不可用。
匿名发布生命周期
-
claims— 每次匿名发布都会将其 slug、认领令牌和 24 小时有效期记录到本地保险库中,因此之后可以将临时网站转为永久网站,无需在终端滚动记录中翻找令牌。当 Agent 匿名发布网站并需要保留它时,使用此功能——认领令牌只会保存在这里。
here-now-pp-cli claims --json -
claims expiring— 列出将在指定时间范围内过期的匿名网站,以便在网站消失前认领。在匿名网站于 24 小时后悄然过期之前运行此命令,找出值得保留的网站。
here-now-pp-cli claims expiring --within 6h --json -
publish resume— 检测本地记录中已上传文件但尚未完成最终确认的发布,并完成该发布,而不是从头重新发布。当发布部分失败(文件已上传,但未完成最终确认)时,使用此功能完成发布,避免因重做而消耗发布频率限额。
here-now-pp-cli publish resume my-site --dry-run
将 Drive 作为文件系统
-
drives sync— 采用类似 Rsync 的方式将本地目录同步到 Drive:比较本地 sha256 与已同步文件的校验和,只上传有更改、新增或已删除的内容。使用此功能代替重新上传整个文件夹——它只传输差异,节省频率限额和时间。
here-now-pp-cli drives sync ./assets --drive drv_example --dry-run -
drives diff— 显示与 Drive 不同的本地文件(新增、更改、已删除),但不会上传任何内容。使用此功能预览同步将要进行的确切更改,然后再确认上传。
here-now-pp-cli drives diff ./assets --drive drv_example --json
免费套餐状态
-
usage— 汇总本地的网站数量、drive 字节数和近期发布频率,并与免费套餐上限(500 个网站、10GB、每小时 60 次发布)进行对照。使用此功能,在不付费使用分析功能的情况下遵守免费套餐上限;这是免费用户唯一的主动限额提示。
here-now-pp-cli usage --json -
sites stale— 根据本地镜像列出 N 天内未更新的网站,以便删除不再使用的网站,腾出免费套餐名额。接近免费套餐 500 个网站的上限时运行此命令,找出可以清理的网站。
here-now-pp-cli sites stale --days 30 --json
命令参考
domains — 自定义域名、子域名句柄和链接。
here-now-pp-cli domains create— 添加自定义域名here-now-pp-cli domains delete— 移除自定义域名here-now-pp-cli domains get— 获取自定义域名状态here-now-pp-cli domains list— 列出自定义域名
drives — Agent 文件的私有云存储。
here-now-pp-cli drives create— 创建 Drivehere-now-pp-cli drives delete— 软删除 Drivehere-now-pp-cli drives get— 获取 Drive 详情here-now-pp-cli drives get-default— 获取或创建默认 Drivehere-now-pp-cli drives list— 列出账户的 Drivehere-now-pp-cli drives patch— 更新 Drive 元数据
handle — 管理句柄
here-now-pp-cli handle create— 创建账户子域名句柄here-now-pp-cli handle delete— 删除账户子域名句柄here-now-pp-cli handle get— 获取账户子域名句柄here-now-pp-cli handle update— 更新账户子域名句柄
here-now-analytics — 管理 here.now 分析
here-now-pp-cli here-now-analytics— 返回经过身份验证的付费账户所拥有的所有 Site 的汇总分析数据。
here-now-auth — 管理 here.now 身份验证
here-now-pp-cli here-now-auth request-agent-code— 通过向用户发送一次性验证码邮件,启动 Agent 辅助的 API 密钥流程。here-now-pp-cli here-now-auth verify-agent-code— 完成 Agent 辅助登录。如果该邮箱尚未注册,则会创建账户。
links — 管理链接
here-now-pp-cli links create— 创建从子域名句柄/域名路径到 Site 的链接here-now-pp-cli links delete— 删除链接here-now-pp-cli links get— 获取链接here-now-pp-cli links list— 列出子域名句柄或域名链接here-now-pp-cli links update— 更新链接
me — 管理个人设置
here-now-pp-cli me delete-variable— 删除服务变量here-now-pp-cli me list-variables— 列出服务变量here-now-pp-cli me set-variable— 创建或更新服务变量
profile_resource — 管理个人资料资源
here-now-pp-cli profile-resource add-profile-site— 在经过身份验证的用户的公开个人资料中显示其拥有的活跃 Site。here-now-pp-cli profile-resource get-profile— 返回经过身份验证的用户的公开个人资料设置,以及个人资料中显示的 Site。here-now-pp-cli profile-resource list-profile-sites— 列出当前显示在经过身份验证的用户公开个人资料中的 Site。here-now-pp-cli profile-resource patch-profile— 开启或关闭公开个人资料,并控制是否自动将未来的 Site 添加到个人资料中。here-now-pp-cli profile-resource patch-profile-username— 更改经过身份验证的用户的个人资料用户名和个人资料 URL。here-now-pp-cli profile-resource remove-profile-site— 从经过身份验证的用户的公开个人资料中移除 Site,但不删除该 Site。
publish — 管理发布
here-now-pp-cli publish create-site— 创建待处理的 Site 版本并返回预签名上传 URL。here-now-pp-cli publish delete-site— 删除 Sitehere-now-pp-cli publish from-drive— 将 Drive 版本发布为 Sitehere-now-pp-cli publish get-site— 获取 Site 详情here-now-pp-cli publish update-site— 为现有 Site 创建待处理的替换版本。经过身份验证的 Site 需要 API 密钥所有权。
publishes — 管理发布
here-now-pp-cli publishes list-sites— 列出账户的 Sitehere-now-pp-cli publishes search-sites— 按 slug、URL/域名、查看者元数据和文件路径搜索经过身份验证的用户所拥有的活跃 Site
support — 经过身份验证的支持请求。
here-now-pp-cli support— 发送经过身份验证的支持请求
查找合适的命令
当你知道想做什么,却不知道该用哪个命令时,可以直接询问 CLI:
here-now-pp-cli which "<capability in your own words>"
which 会根据自然语言功能查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有足够确定的匹配项——请改用 --help,或缩小查询范围。
使用示例
发布文件夹并永久保留
here-now-pp-cli publish dir ./site --anon && here-now-pp-cli claims expiring --within 24h
匿名发布以获取实时 URL,然后查看认领期限,以便在过期前运行 sites claim。
将工作文件夹同步到 Drive
here-now-pp-cli drives sync ./project --drive drv_example
只上传自上次同步后发生变化的文件,变化根据本地 sha256 与镜像进行比对。
读取网站集合中的表单提交记录
here-now-pp-cli publishes data list-site-records my-site signups --json --select id,data,createdAt
列出网站的 Site Data 记录并选择字段,以便在处理深度嵌套的记录时保持 Agent 上下文精简。
在达到免费版上限前找出要清理的网站
here-now-pp-cli sites stale --days 30 --json --select slug,url,updatedAt
列出最近最少更新的网站,以便腾出免费版名额。
查看免费版余量
here-now-pp-cli usage --json
汇总网站数量、Drive 字节数和发布频率,并与免费版限制进行比较——无需付费分析服务。
身份验证设置
大多数入门操作无需密钥:匿名发布、公开网站读取和 Site Data 写入都无需任何凭据。如需永久保留网站并使用自己的 Drive,请运行 here-now-pp-cli auth login 进行电子邮件验证码流程(系统会通过电子邮件发送一次性验证码,你将其粘贴回来),API 密钥会保存在本地;也可以在环境中设置 HERENOW_API_KEY。Drive 共享令牌也可用于通过 Drive 范围的读取进行身份验证。
运行 here-now-pp-cli doctor 以验证设置。
Agent 模式
在任何命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select保留一部分字段。带点号的路径可深入嵌套结构;数组会逐项遍历。对于输出冗长的 API,这对保持上下文精简至关重要:here-now-pp-cli domains list --agent --select id,name,status -
可预览 —
--dry-run显示请求内容,但不会发送 -
便于离线使用 — 如果本地 SQLite 存储可用,同步和搜索命令可以使用该存储
-
非交互式 — 绝不显示提示,每项输入都是一个标志
-
明确重试行为 — 只有当已存在的创建操作也应视为成功时才使用
--idempotent;只有当删除目标不存在也应视为成功时才使用--ignore-missing
响应封装
从本地存储或 API 读取的命令会将输出封装在一个来源信息对象中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并查看 .meta.source 以了解数据来自实时来源还是本地来源。只有当 stdout 是终端且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会向 stderr 输出方便人类阅读的 N results (live) 摘要——管道或 Agent 使用者以及明确指定输出格式的运行,会在 stdout 上获得纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:
here-now-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
here-now-pp-cli feedback --stdin < notes.txt
here-now-pp-cli feedback list --json --limit 10
条目会保存在本地的 ~/.local/share/here-now-pp-cli/feedback.jsonl。只有在设置了 HERE_NOW_FEEDBACK_ENDPOINT,且传入 --send 或设置 HERE_NOW_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”模式。
here-now-pp-cli profile save briefing --json
here-now-pp-cli --profile briefing domains list
here-now-pp-cli profile list --json
here-now-pp-cli profile show briefing
here-now-pp-cli profile delete briefing --yes
显式标志的优先级始终高于配置值;配置值的优先级高于默认值。agent-context 会在 available_profiles 下列出所有可用配置,以便 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示here-now-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的先决条件 - 其他任何内容 → 直接使用(作为带
--agent的 CLI 命令执行)
MCP 服务安装
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/cloud/here-now/cmd/here-now-pp-mcp@latest - 在 Claude Code 中注册:
claude mcp add here-now-pp-mcp -- here-now-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which here-now-pp-cli如果未找到,请提供安装选项(参见本技能顶部的先决条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:here-now-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,请查看子命令帮助:
here-now-pp-cli <command> --help。