mcpField
P
pp-here-now

pp-here-now

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

关于 pp-here-now

pp-here-now 是面向 Agent 的 CLI 技能,可发布网站、管理 here.now Drives,并读取 Site Data 提交记录。它还会在本地追踪匿名发布的认领期限,并支持按文件同步 Drive。

主要功能

  1. 01发布目录并管理 Sites
  2. 02追踪匿名发布的认领期限
  3. 03同步和比较 Drive 文件
  4. 04读取 Site Data 表单提交
  5. 05检查用量与过期 Site

适用场景

  1. 01将生成的网站目录发布为在线 URL
  2. 02仅将有变化的项目文件同步到 Drive
  3. 03读取网站集合中的表单提交
  4. 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 已安装。**如果尚未安装,请先安装:

  1. 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install here-now --cli-only
    
  2. 验证:here-now-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 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 — 创建 Drive
  • here-now-pp-cli drives delete — 软删除 Drive
  • here-now-pp-cli drives get — 获取 Drive 详情
  • here-now-pp-cli drives get-default — 获取或创建默认 Drive
  • here-now-pp-cli drives list — 列出账户的 Drive
  • here-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 — 删除 Site
  • here-now-pp-cli publish from-drive — 将 Drive 版本发布为 Site
  • here-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 — 列出账户的 Site
  • here-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需要身份验证
5API 错误(上游问题)
7请求过于频繁(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

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

MCP 服务安装

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

直接使用

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

评论

支持 Markdown