mcpField
P
pp-digg

pp-digg

github.com/mvanhorn生产力2.1k380 次安装今天更新
代码仓库

关于 pp-digg

pp-digg 是面向 Agent 和资深用户的 Digg 只读命令行技能,用于检索 AI 新闻排名、追踪变化并查看排名依据。它还涵盖 X 作者、GitHub 动态及 Digg 与 Hacker News、Techmeme 的交叉引用。

主要功能

  1. 01搜索主题与关联帖子
  2. 02查看作者排名及变化
  3. 03监控摄取事件与状态
  4. 04查询排名历史和依据
  5. 05追踪 GitHub 仓库动态

适用场景

  1. 01研究 AI 新闻话题走势
  2. 02发现新晋或下滑的作者
  3. 03核查故事排名及情绪
  4. 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 已安装。 如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。默认情况下,二进制文件安装到 macOS/Linux 上的 $HOME/.local/bin,以及 Windows 上的 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install digg --cli-only
    
  2. 验证:digg-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 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未找到资源
5API 错误(上游问题)
7速率受限(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

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

安装 MCP 服务

从此 CLI 已发布的公共库条目或预构建版本安装 MCP 二进制文件,然后进行注册:

claude mcp add digg-pp-mcp -- digg-pp-mcp

验证:claude mcp list

直接使用

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

评论

支持 Markdown