关于 pp-techtwitter
pp-techtwitter 是面向 Tech Twitter 策展内容的 Printing Press CLI 技能,供需要引用证据、离线搜索和趋势变化分析的用户及 Agent 使用。它将内容同步到本地 SQLite,并提供跨时间快照的分析。
主要功能
- 01搜索去重且经过质量评分的推文
- 02查看上次同步后的新增内容
- 03追踪主题热度变化及新兴叙事
- 04按日期离线回看策展推文
- 05生成带引用的 Agent 证据包
- 06汇总推文、文章和作者
适用场景
- 01离线搜索已同步的科技讨论
- 02整理过去一天的科技动态及引用
- 03比较主题热度并发现新兴叙事
- 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 已安装。**如果尚未安装,请先安装:
- 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install techtwitter --cli-only - 验证:
techtwitter-pp-cli --version - 确保报告的安装目录位于将调用此 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 | 未找到资源 |
| 5 | API 错误(上游问题) |
| 7 | 请求受限(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示techtwitter-pp-cli --help的输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并附加
--agent)
安装 MCP 服务
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/techtwitter/cmd/techtwitter-pp-mcp@latest - 注册到 Claude Code:
claude mcp add techtwitter-pp-mcp -- techtwitter-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which techtwitter-pp-cli如果未找到,请提供安装选项(参见本技能顶部的先决条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:techtwitter-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,请查看子命令帮助:
techtwitter-pp-cli <command> --help。