mcpField
P
pp-techtwitter

pp-techtwitter

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

关于 pp-techtwitter

pp-techtwitter 是面向 Tech Twitter 策展内容的 Printing Press CLI 技能,供需要引用证据、离线搜索和趋势变化分析的用户及 Agent 使用。它将内容同步到本地 SQLite,并提供跨时间快照的分析。

主要功能

  1. 01搜索去重且经过质量评分的推文
  2. 02查看上次同步后的新增内容
  3. 03追踪主题热度变化及新兴叙事
  4. 04按日期离线回看策展推文
  5. 05生成带引用的 Agent 证据包
  6. 06汇总推文、文章和作者

适用场景

  1. 01离线搜索已同步的科技讨论
  2. 02整理过去一天的科技动态及引用
  3. 03比较主题热度并发现新兴叙事
  4. 04回看指定日期的策展推文

MCP 相关

README 提到可安装 MCP 服务器,并在参数解析中将以 install 开头且以 mcp 结尾的请求作为 MCP 安装处理;所给内容未说明服务器具体暴露的能力。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-techtwitter

安装后在 Claude Code 中输入/pp-techtwitter确认已加载。

详细介绍

Tech Twitter — Printing Press CLI

前提条件:安装 CLI

此 skill 通过 techtwitter-pp-cli 二进制文件运行。**调用此 skill 中的任何命令之前,必须确认 CLI 已安装。**如果尚未安装,请先安装:

  1. 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install techtwitter --cli-only
    
  2. 验证:techtwitter-pp-cli --version
  3. 确保报告的安装目录位于将调用此 skill 的 Agent/运行时的 $PATH 中。

如果通过 npx 安装失败(没有 Node、处于离线状态等),则改用 Go 直接安装(需要 Go 1.26.6 或更新版本)。此方式会将其安装到 $GOPATH/bin(默认是 $HOME/go/bin),因此请将该目录添加到 $PATH:

go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/techtwitter/cmd/techtwitter-pp-cli@latest

如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件所在目录。验证成功之前,请勿执行此 skill 中的命令。

Tech Twitter 精选、去重、总结并对高信号的科技 X 内容进行质量评分。此 CLI 会将这些内容转换为本地 SQLite 镜像,供你离线全文搜索;还提供只有不断积累数据的存储才能回答的查询:自上次同步以来有哪些变化、话题热度如何随时间变化、新兴叙事是什么、回溯到任意过去日期,以及供 Agent 使用的离线引用证据包。

何时使用此 CLI

当 Agent 或用户需要 Tech Twitter 精选科技讨论语料中带引用的结构化证据时,当你想对去重且经过质量评分的信息流进行离线全文搜索,而不是搜索原始 X 信息流时,或者当问题涉及随时间变化的趋势(有什么新内容、什么正在升温、什么叙事正在形成),而单次无状态 API 调用无法回答时,请使用此 CLI。

不适用场景

以下情况请勿使用此 CLI:

  • 在 X/Twitter 上发布、点赞、收藏或执行其他写入操作——此 CLI 只能读取 Tech Twitter 精选的语料,并非 X 客户端。
  • 直接从 X 获取任意推文——这里只提供 Tech Twitter 精选的推文。
  • 在 techtwitter.com 上进行账号、账单、赞助或投稿操作——这些操作需要通过身份验证,不在适用范围内。

独特功能

这些功能是此 API 的其他工具所不具备的。

不断积累的本地状态
  • since — 仅查看自上次同步以来精选或新近走红的推文,而不必重新读取整个信息流。

    当你想回答“我错过了什么”而不必重新获取或扫描整个语料时,可使用此功能。

    techtwitter-pp-cli since 24h --agent
    
  • momentum — 根据每次同步时存储的热度图快照,显示哪些话题正在升温、降温或新近出现。

    当问题涉及随时间变化的趋势,且单次 API 调用无法回答时,请使用此功能。

    techtwitter-pp-cli momentum --window 7d --json
    
  • narrative — 找出相较于先前快照新近出现或加速升温的关键词,并以存储的相关推文为依据。

    如果你想了解新近形成的趋势,而不只是当前热度较高的内容,请优先使用此功能,而不是一次性获取叙事信息。

    techtwitter-pp-cli narrative --json
    
  • author-rank — 在指定时间范围内,根据累计存储的互动量为作者排名,并为每位作者提供其表现最佳的精选推文。

    当你需要一个随着同步不断积累数据的排行榜,而不是 API 提供的一次性每日榜首时,请使用此功能。

    techtwitter-pp-cli author-rank --window 7d --limit 10 --json
    
  • time-travel — 显示指定日期(YYYY-MM-DD、today、yesterday 或 latest)的精选推文,可实时获取,也可完全离线从本地存储读取。

    同步后,无需实时调用即可获取科技 Twitter 在指定日期的讨论快照。

    techtwitter-pp-cli time-travel 2026-06-07 --limit 10 --json
    
Agent 原生证据,离线可用
  • digest — 从本地存储中为某个时间窗口汇总一份阅读清单:热门推文、近期文章和热门作者。

    当你需要给 Agent 提供一份带引用的一次性「科技圈正在发生什么」汇总,且不想产生任何额外调用时,就用它。

    techtwitter-pp-cli digest --window 24h --agent
    
  • evidence — 从本地 SQLite 构建一份证据包,对应各类 Agent 上下文类型,附带规范 URL 引用,且不访问网络。

    当 Agent 需要带引用的证据,但你希望它以本地镜像为依据、不发起上游调用时,就用它。

    techtwitter-pp-cli evidence read-list --agent --select evidence.title,evidence.canonicalUrl
    

命令参考

agent — 机器 Agent 证据包

  • techtwitter-pp-cli agent — 针对 Agent 问题的带引用证据包

articles — 以推文溯源为支撑的长文

  • techtwitter-pp-cli articles — 列出长文

command — 指挥中心信号(热点观点、主角、热力图、统计、按日期)

  • techtwitter-pp-cli command heatmap — 话题热度热力图(关键词、数量、互动量)
  • techtwitter-pp-cli command hot-takes — 高回复、争议密集的精选推文
  • techtwitter-pp-cli command main-character — 当日互动量最高的作者(主角)
  • techtwitter-pp-cli command stats — 语料索引健康统计
  • techtwitter-pp-cli command tweets-by-date — 某日期的精选推文(today、yesterday、latest 或 YYYY-MM-DD)

newsletters — 应用内 newsletter(Threads)

  • techtwitter-pp-cli newsletters — 列出已发布的应用内 newsletter

profiles — 精选作者资料

  • techtwitter-pp-cli profiles — 按姓名、handle 或简介搜索作者资料

tweets — 搜索和浏览精选推文流

  • techtwitter-pp-cli tweets author — 特定作者 handle 的精选推文
  • techtwitter-pp-cli tweets get — 按 UUID 获取单条精选推文(含 prev/next 相邻项)
  • techtwitter-pp-cli tweets latest — 获取最近一条精选推文(含 nextTweetId)
  • techtwitter-pp-cli tweets monthly — 给定月份的精选推文
  • techtwitter-pp-cli tweets search — 按文本搜索精选推文(按相关性排序)
  • techtwitter-pp-cli tweets topic — 特定话题 slug 的精选推文
  • techtwitter-pp-cli tweets trending — 最近 7 天排名靠前的热门精选推文
找到正确的命令

当你知道想做什么、但不知道哪个命令能做时,直接问 CLI:

techtwitter-pp-cli which "<capability in your own words>"

which 会把自然语言表达的能力查询解析为本 CLI 精选功能索引中最匹配的命令。退出码 0 表示至少有一个匹配;退出码 2 表示没有把握的匹配——请改用 --help 或使用更精确的查询。

用法示例

为 Agent 提供带引用的变更证据
techtwitter-pp-cli agent --kind what-changed --agent --select evidence.title,evidence.canonicalUrl,evidence.qualityScore

拉取一份带引用的证据包,并将深层嵌套的响应缩减为仅保留标题、引用 URL 和质量评分,避免 Agent 被媒体和指标字段淹没。

每日科技站会,离线进行
techtwitter-pp-cli digest --window 24h --agent

从本地镜像为过去一天汇总一份阅读清单,包含热门推文、近期文章和热门作者,并以 Agent 格式附带引用。

有什么新出现
techtwitter-pp-cli narrative --json

对比已存储的热力图快照,找出刚刚出现或加速上升的关键词,每个关键词都有对应的已存储推文作为依据。

离线搜索精选语料
techtwitter-pp-cli search "agentic coding" --json --limit 10

对已同步的本地存储进行全文搜索,不发起网络调用,以 JSON 返回带质量评分的精选推文。

追踪某个话题的热度
techtwitter-pp-cli momentum --window 7d --json

展示在过去一周同步所存储的快照中,哪些话题正在上升、下降或新出现。

认证设置

无需认证。

运行 techtwitter-pp-cli doctor 以验证设置。

Agent 模式

在任何命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可管道传递 — JSON 输出到 stdout,错误输出到 stderr

  • 可筛选 — --select 保留一部分字段。点分路径可深入嵌套结构;数组会逐项遍历。对于内容冗长的 API,这对于控制上下文大小至关重要:

    techtwitter-pp-cli articles --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不发送

  • 适合离线使用 — 有本地 SQLite 存储时,同步/搜索命令可使用该存储

  • 非交互式 — 绝不提示输入;所有输入都必须通过标志提供

  • 只读 — 请勿使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、下单、发送或其他会修改数据的请求

响应封装

从本地存储或 API 读取数据的命令会将输出封装在一个来源信息对象中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

使用 .results 解析数据,并查看 .meta.source 以判断数据来自实时 API 还是本地存储。只有当 stdout 连接到终端,且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将人类可读的 N results (live) 摘要输出到 stderr;对于管道/Agent 使用者以及显式指定格式的运行,stdout 只会输出纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有任何不妥之处时,请记录下来:

techtwitter-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
techtwitter-pp-cli feedback --stdin < notes.txt
techtwitter-pp-cli feedback list --json --limit 10

记录会保存在本地 ~/.local/share/techtwitter-pp-cli/feedback.jsonl。除非设置了 TECHTWITTER_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 TECHTWITTER_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认行为仅保存在本地。

写下让你感到意外的事,而不是提交错误报告。简短、具体、单行即可:这类反馈会不断累积。

输出交付

每条命令都接受 --deliver <sink>。输出会发送到指定的目标,同时输出到 stdout,或取代 stdout 输出,因此 Agent 无需手动通过管道传递命令结果。支持三个目标:

目标效果
stdout默认;仅写入 stdout
file:<path>以原子方式将输出写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到 URL(当使用 --compact 时,内容类型为 application/json 或 application/x-ndjson)

不支持的协议会被拒绝,并返回结构化错误,列出支持的协议。Webhook 请求失败时会返回非零退出码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置文件是保存的一组标志值,可在多次调用之间重复使用。当定时运行的 Agent 每次都以相同配置调用相同命令时,可使用配置文件——即 HeyGen 的“Beacon”模式。

techtwitter-pp-cli profile save briefing --json
techtwitter-pp-cli --profile briefing articles
techtwitter-pp-cli profile list --json
techtwitter-pp-cli profile show briefing
techtwitter-pp-cli profile delete briefing --yes

显式标志的优先级始终高于配置文件中的值;配置文件中的值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,方便进行自省的 Agent 在运行时发现它们。

退出码

代码含义
0成功
2用法错误(参数不正确)
3未找到资源
5API 错误(上游问题)
7请求受限(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

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

安装 MCP 服务

  1. 安装 MCP 服务:
    go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/techtwitter/cmd/techtwitter-pp-mcp@latest
    
  2. 注册到 Claude Code:
    claude mcp add techtwitter-pp-mcp -- techtwitter-pp-mcp
    
  3. 验证:claude mcp list

直接使用

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

评论

支持 Markdown