关于 pp-digg
pp-digg 是面向 Agent 和资深用户的 Digg 只读命令行技能,用于检索 AI 新闻排名、追踪变化并查看排名依据。它还涵盖 X 作者、GitHub 动态及 Digg 与 Hacker News、Techmeme 的交叉引用。
主要功能
- 01搜索主题与关联帖子
- 02查看作者排名及变化
- 03监控摄取事件与状态
- 04查询排名历史和依据
- 05追踪 GitHub 仓库动态
适用场景
- 01研究 AI 新闻话题走势
- 02发现新晋或下滑的作者
- 03核查故事排名及情绪
- 04对照 Digg、Hacker News 与 Techmeme
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-digg安装后在 Claude Code 中输入/pp-digg确认已加载。
详细介绍
Digg — Printing Press CLI
前置条件:安装 CLI
此技能使用 digg-pp-cli 二进制文件。调用此技能中的任何命令之前,必须确认 CLI 已安装。 如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。默认情况下,二进制文件安装到 macOS/Linux 上的
$HOME/.local/bin,以及 Windows 上的%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install digg --cli-only - 验证:
digg-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接 Go 安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/digg/cmd/digg-pp-cli@latest
如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件目录。在验证成功之前,不要继续执行此技能的命令。
何时使用此 CLI
当 Agent 或高级用户需要以结构化方式访问 Digg 的排名、排名变化历史、流水线事件、各集群的透明度记录或 GitHub 订阅源时,使用此 CLI。它适用于追踪 AI 新闻周期的变化、基于 HN+Techmeme+Digg 开展跨聚合器研究、关注被追踪账户加星标时新出现的 AI 仓库,或将 Digg 信号接入更大型的自动化流程。不要将其用于投票、评论或发帖自动化——这些更改明确不在其范围内。
何时不使用此 CLI
如果请求涉及创建、更新、删除、发布、评论、点赞、邀请、下单、发送消息、预订、购买或更改远程状态,请勿启用此 CLI。此 CLI 仅提供用于检查、导出、同步和分析的只读命令。
独特功能
此 API 的其他工具均不具备这些功能。
主题搜索和单帖引用
-
search— 搜索 Digg 完整时间范围内的主题。默认使用实时模式——请求/api/search/stories,也就是为 di.gg/ai 的 Cmd+K 弹窗提供支持的同一服务器端搜索;网络错误时或使用--data-source local时,则回退到本地存储中的 FTS5。返回带有互动元数据(postCount、uniqueAuthors、firstPostAge)的排名集群;这是 last30days 风格研究工作流的核心方法。
digg-pp-cli search "<topic>" --since 30d --agent --select clusterUrlId,title,rank,postCount,uniqueAuthors,firstPostAge--since Nh|Nd|Nw|Nm— 筛选在指定时间范围内首次发布内容的集群(实时模式解析 Digg 自身的firstPostAge;本地模式读取digg_clusters.first_post_at)。
-
posts— 获取关联到某个集群的 X 帖子,包括作者排名、渲染后的正文、媒体 URL、转发上下文,以及用于一键引用的生成式 xUrl。引用方法:找出有关某个话题的 AI 1000 高可信度声音,并可按排名、类型或时间排序。
digg-pp-cli posts <clusterUrlId> --by rank --limit 5 --agent --select author.username,author.rank,post_type,xUrl,body
作者查询和名录浏览
-
authors get— 通过/api/search/users在 Digg 的完整作者范围(1000 名以内及之外)中查找任意 X 用户名。对于排名 1000 以外的用户名,响应会包含subject_peer_follow_count、排名第 1000 名作者的peer_follow_count,以及带正负号的peer_follow_gap——即以 AI 1000 内部互相关注数衡量的距前 1000 名之差(不是 X 原始粉丝数)。可信度查询:Agent 只需读取一条结构化记录,就能判断是否引用某个用户名。
digg-pp-cli authors get <handle> --agent
mvanhorn 的精简排名 1000 以外示例:
{
"username": "mvanhorn",
"current_rank": null,
"subject_peer_follow_count": 19,
"nearest_in_1000": {"rank": 1000, "username": "...", "peer_follow_count": 90},
"peer_follow_gap": 71
}
peer_follow_gap 表示与排名第 1000 名作者的 followed_by_count 之差(来自 AI 1000 内部的互相关注)。不要将其理解为 X 原始粉丝数的差值。
-
authors list— 从/ai/1000获取完整的 AI 1000 排名榜,并持久化丰富字段(排名、类别、简介、vibeDistribution、GitHub URL)。找出某个类别中崭露头角的声音,发现刚进入 1000 名榜单的作者,查看排名快速下滑的作者——支持排序、筛选和脚本调用。
# Biggest movers since the last snapshot digg-pp-cli authors list --by rankChange --limit 20 --agent # Newly listed (first appearance in the 1000) digg-pp-cli authors list --only-new --agent使用
--by rank|rankChange|category|followers排序;使用--category "<name>"、--only-new、--only-fallers筛选。
实时管道可观测性
-
events— 实时跟踪 Digg 的摄取管道,查看刚检测到的聚类、在排行榜上快速攀升的故事及其明确的排名变化、正在处理的 X 帖子,以及批次明细。当 Agent 需要“在故事 X 刚上升 N 名时告诉我”或“过去一小时 Digg 检测到哪些新聚类”时,这是唯一的方法。
digg-pp-cli events --since 1h --type fast_climb --json --select clusterId,label,delta,currentRank,previousRank -
watch— 轮询 /ai,与上次快照进行比较,并在任何聚类上升 N 名或更多时发出提醒。只读的运维监视工具;绝不会向 Digg 写入任何内容。
digg-pp-cli watch --alert 'rank.delta>=10' -
pipeline status— 一屏查看 /api/trending/status:isFetching、nextFetchAt、storiesToday、clustersToday、最近 5 条事件。让运维人员和高级用户了解新批次即将到达的时间,以及过去一小时摄取了哪些内容。
digg-pp-cli pipeline status --watch
会不断积累的本地状态
-
replaced— 显示自上次同步以来被挤出排行榜的故事,以及 Digg 自行发布的替换理由。最佳内容流的变化速度比人们记忆中的更快。此工具让“Digg 删除了什么,为什么”变得可查询。
digg-pp-cli replaced --since 24h --json -
crossref— 当 Digg 检测到 Hacker News 和 Techmeme 也在讨论某个故事时,显示该聚类在这两处的对应内容。从跨聚合平台的研究工作流中省去手动确认“HN 也在讨论这个吗”的步骤。
digg-pp-cli crossref iq7usf9e -
authors top— 列出 Digg 跟踪的热门账号,可按 Digg 的影响力评分、故事数量或覆盖面排序。投资者和 AI 侦察员关注哪些账号能推动新闻周期。现在这些信息可以查询、排序和编写脚本处理。
digg-pp-cli authors top --by influence --limit 50 --json -
history— 查看一个聚类在本地快照历史中的完整轨迹,包括其 currentRank、peakRank 和 delta。“进入时排名第 18,6 小时内升至第 4,24 小时后降至第 22”——这些信息无法从实时网站中获知。
digg-pp-cli history iq7usf9e --json -
author— 列出某个 X 账号参与的所有聚类,并标明帖子类型(原创、转发、引用、回复)。“告诉我这个账号本周发掘的所有故事”是投资者侦察查询。
digg-pp-cli author Scobleizer --since 7d --json
透明度
-
evidence— 输出一个聚类的完整排名透明度记录,包括 scoreComponents、evidence 数组、numeratorLabel 和 percentAboveAverage。当用户询问“为什么这条故事排名第一”时,答案是结构化数据;Agent 可以据此组合信息。
digg-pp-cli evidence iq7usf9e --json -
sentiment— 读取某个聚类在各时间窗口内的正面情绪比例(pos6h、pos12h、pos24h、posLast)。让 Agent 了解围绕某个故事的讨论总体仍然偏正面,还是已经转为负面;引用故事前很有用。
digg-pp-cli sentiment iq7usf9e --window 6h --json
HTTP 传输
此 CLI 对面向浏览器的端点使用兼容 Chrome 的 HTTP 传输。正常调用 API 无需常驻的浏览器进程。
命令参考
feed — 顶层 AI 故事流(HTML 页面;CLI 会解析其中嵌入的 RSC 流)
digg-pp-cli feed raw— 获取原始 /ai HTML 页面。CLI 的 sync 命令会解析此页面;大多数用户应先运行sync,再运行top,而不是……digg-pp-cli feed story_raw— 获取原始 /ai/{clusterUrlId} 故事详情页面(HTML)。CLI 的story命令会解析此页面;用户不应……
github — Digg 展示的 GitHub 订阅源,与 X 账号排行榜并列
digg-pp-cli github stars— 按 Digg 跟踪账号的加星活动排列的热门 AI 仓库。返回 repo_full_name、language、stargazers_count、近期加星者、breakout/novel/ai_related 分数,以及模型用一句话作出的分类。标志:--limit、--min-starrers N(仅保留有 >= N 位不同加星者的仓库——反映聪明资金的趋同;在--limit之前应用)。digg-pp-cli github new— 首次发现时间较近的仓库,以及最先将其带入 Digg 视野的 Digg 跟踪创建者/加星者(event_id、event_created_at、repo_full_name、creator)。标志:--limit。digg-pp-cli github activity— GitHub 贡献者排行榜:在 Digg 跟踪时间范围内,按作者列出排名、贡献数和不同仓库数。标志:--limit。digg-pp-cli github recent— 实时活动流:逐条列出事件,包含 GitHub URL 和执行操作的用户。标志:--limit。
rankings — /ai/x/rankings/companies 快照的子视图
digg-pp-cli rankings emerging— 精选小型 AI 公司列表(“EMERGING STARTUPS — CURATED THIS SNAPSHOT”部分)。每个快照约有 10 行。每行包含isEmergingStartup(AI 评审结果)和emergingReasoning(策展人撰写的说明)。标志:--max-skip-ratio(容忍架构变更;默认值为 0.10)。digg-pp-cli rankings movers— 自上次快照以来关注者数量变化最大的公司。标志:--direction up|down|both(默认值为 both;每行都会标注方向)、--max-skip-ratio。digg-pp-cli rankings list— 完整的公司排名(“Companies followed by the AI 2K”部分)。由服务端分页;返回初始 HTML 中的片段。标志:--limit、--max-skip-ratio。
search — 在完整 Digg 时间范围内搜索主题
digg-pp-cli search "<query>"— 默认实时搜索(/api/search/stories);回退时使用本地存储中的 FTS5。标志:--since Nh|Nd|Nw|Nm、--data-source live|local|auto、--limit。
authors — 查看 Digg 跟踪的 AI 新闻账号(/ai/1000 名单)
digg-pp-cli authors get <handle>— 查询任意 X 账号(1000 名单内及名单外);名单外记录包含subject_peer_follow_count、nearest_in_1000锚点和peer_follow_gap。标志:--limit(模糊匹配回退)。digg-pp-cli authors list—/ai/1000中的完整排名名单,持久化保存并包含丰富字段。标志:--by rank|rankChange|category|followers、--category、--only-new、--only-fallers、--limit。digg-pp-cli authors top— 按影响力、发帖数或覆盖面排列的热门贡献者。标志:--by、--limit。
posts — 与单个集群关联的 X 帖子
digg-pp-cli posts <clusterUrlId>— 原帖、回复、引用、转发,包含作者排名、渲染后的正文、媒体 URL 和生成的 xUrl。标志:--by rank|type|time、--type tweet|reply|quote|retweet、--limit、--no-cache。
story — 完整的集群详情。信封现在包含由 U5 RSC 解析器填充的 posts 和 postsMeta 字段。
trending — 公开的摄取流水线状态和事件流
digg-pp-cli trending— 读取当前流水线状态:storiesToday、clustersToday、isFetching、nextFetchAt 和近期事件流……
查找合适的命令
如果你知道想做什么,但不知道该用哪个命令,可以直接向 CLI 提问:
digg-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有足够可信的匹配项——此时可退回使用 --help,或尝试更具体的查询。
用法示例
用于研究工作流的话题搜索
digg-pp-cli search "<topic>" --since 30d --agent --select clusterUrlId,title,rank,postCount,uniqueAuthors,firstPostAge
通过 /api/search/stories 在服务端搜索 Digg 的完整时间窗口;返回按相关性排序的聚类及互动元数据(postCount、uniqueAuthors、firstPostAge)。这是 last30days 式使用场景的关键配方——搭配 posts 获取引用。
作者可信度查询(是否在 1000 人名单中均可)
digg-pp-cli authors get <handle> --agent
将任意 X 用户名解析为结构化记录。对于 mvanhorn 这类不在 1000 人名单中的用户名,响应会包含 subject_peer_follow_count: 19、nearest_in_1000.peer_follow_count: 90 和 peer_follow_gap: 71。peer_follow_gap 表示与第 1000 名之间的距离,按 AI-1000 同行关注数衡量(这是 Digg 实际用于排名的指标),而非 X 粉丝数的原始差值。
浏览名单:排名上升最多的账号和新上榜账号
# Biggest movers since the last snapshot
digg-pp-cli authors list --by rankChange --limit 20 --agent
# Newly listed (first appearance in the 1000)
digg-pp-cli authors list --only-new --agent
找出某个类别中声望上升的声音,以及刚进入 1000 人名单的作者。使用 --by rank|rankChange|category|followers 排序;使用 --category、--only-new、--only-fallers 筛选。
每篇文章的热门评论(引用)
digg-pp-cli posts <clusterUrlId> --by rank --limit 5 --agent --select author.username,author.rank,post_type,xUrl,body
展示某个故事中可信度最高的 AI 1000 名单成员;生成的 X URL 可一键引用。结合 search,只需两条命令即可从话题 → 聚类 → 可引用的帖子。
过去一小时排名上升 >=10 位的内容
digg-pp-cli events --since 1h --type fast_climb --json --select clusterId,label,delta,currentRank,previousRank
读取公开事件流,仅筛选排名快速上升的事件,并将 JSON 精简为 Agent 实际需要的五个字段。
为什么某个故事是头条
digg-pp-cli evidence 65idu2x5 --json
打印一个聚类的 scoreComponents 和 evidence 数组。使用 digg-pp-cli top --json --select clusterUrlId 获取 clusterUrlId。
显示本周某个 X 账号参与的所有聚类
digg-pp-cli author Scobleizer --since 7d --json --select label,clusterUrlId,activityAt
查询本地存储中包含指定作者的聚类;输出经过精简,便于 Agent 使用。
在 HN 和 Techmeme 上交叉检索某个故事
digg-pp-cli crossref 65idu2x5
使用 Digg 自身的 hackerNews/techmeme 参考字段,无需手动搜索这些网站。传入任意来自 top --json --select clusterUrlId 的 clusterUrlId。
实时监控流水线
digg-pp-cli pipeline status --watch
单屏仪表板,显示 isFetching、nextFetchAt、storiesToday、clustersToday 和最近几条流水线事件。
身份验证设置
无需身份验证。
运行 digg-pp-cli doctor 验证设置。
Agent 模式
为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传输 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select保留部分字段。点分路径可深入嵌套结构;数组会逐元素遍历。对于冗长 API,这是控制上下文大小的关键:digg-pp-cli feed raw --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 有任何不妥之处时,请记录下来:
digg-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
digg-pp-cli feedback --stdin < notes.txt
digg-pp-cli feedback list --json --limit 10
条目会存储在本地的 ~/.digg-pp-cli/feedback.jsonl。除非设置了 DIGG_FEEDBACK_ENDPOINT,且传入 --send 或设置 DIGG_FEEDBACK_AUTO_SEND=true,否则绝不会发送 POST 请求。默认行为仅在本地保存。
记录让你感到意外的事,而不是提交错误报告。简短、具体、每行一条:这正是能不断积累价值的部分。
输出传递
每条命令都接受 --deliver <sink>。输出会写入指定的接收端,且可以同时输出到标准输出,也可以替代标准输出,这样 Agent 无需通过管道手动传递,就能路由命令结果。支持三种接收端:
| 接收端 | 效果 |
|---|---|
stdout | 默认;仅写入标准输出 |
file:<path> | 将输出原子性地写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到该 URL(使用 --compact 时为 application/json 或 application/x-ndjson) |
不支持的方案会被拒绝,并返回结构化错误,列出受支持的方案。Webhook 失败时会返回非零状态码,并在标准错误中记录 URL 和 HTTP 状态码。
命名配置
配置文件是一组已保存的标志值,可在多次调用中重复使用。如果计划任务中的 Agent 每次运行都以相同配置调用同一命令,请使用配置文件——这是 HeyGen 的“Beacon”模式。
digg-pp-cli profile save briefing --json
digg-pp-cli --profile briefing feed raw
digg-pp-cli profile list --json
digg-pp-cli profile show briefing
digg-pp-cli profile delete briefing --yes
显式标志的优先级始终高于配置文件值;配置文件值的优先级高于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,方便具备自省能力的 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 5 | API 错误(上游问题) |
| 7 | 速率受限(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示digg-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 请参阅上文的先决条件 - 其他任何内容 → 直接使用(通过
--agent将其作为 CLI 命令执行)
安装 MCP 服务
从此 CLI 已发布的公共库条目或预构建版本安装 MCP 二进制文件,然后进行注册:
claude mcp add digg-pp-mcp -- digg-pp-mcp
验证:claude mcp list
直接使用
- 检查是否已安装:
which digg-pp-cli如果未找到,请提供安装选项(请参阅本技能顶部的先决条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:digg-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,请查看子命令帮助:
digg-pp-cli <command> --help。