mcpField
P
pp-podscan

pp-podscan

github.com/mvanhorn营销与增长2.1k168 次安装今天更新
代码仓库

关于 pp-podscan

用于访问 Podscan 播客数据的命令行技能,涵盖播客、单集、类别、提醒和导出。它支持按转录文本搜索单集,并提供 MCP 服务安装方式。

主要功能

  1. 01按名称或描述搜索播客
  2. 02按转录文本搜索单集
  3. 03查看播客类别
  4. 04创建和管理提醒
  5. 05列出并下载导出文件
  6. 06提供面向 Agent 的 JSON 输出

适用场景

  1. 01查找讨论特定主题的单集
  2. 02按描述发现播客
  3. 03设置或查看提醒
  4. 04下载播客或单集导出文件

MCP 相关

该技能说明如何安装 `podscan-pp-mcp` 二进制文件,并通过 `claude mcp add` 注册。文档未说明 MCP 服务向客户端提供哪些资源或工具。

安装

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

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

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

详细介绍

Podscan — Printing Press 命令行工具

前提条件:安装 CLI

此技能由 podscan-pp-cli 二进制文件驱动。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:

  1. 通过 Printing Press 安装程序进行安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install podscan --cli-only
    
  2. 验证:podscan-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/podscan/cmd/podscan-pp-cli@latest

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

命令参考

alerts — 管理提醒

  • podscan-pp-cli alerts create — 创建提醒
  • podscan-pp-cli alerts delete — 删除提醒
  • podscan-pp-cli alerts get — 获取提醒
  • podscan-pp-cli alerts list — 列出已配置的提醒

categories — 管理分类

  • podscan-pp-cli categories — 列出所有播客分类

episodes — 管理单集

  • podscan-pp-cli episodes get — 根据 ID 获取单集
  • podscan-pp-cli episodes search — 根据文字稿内容搜索单集

exports — 管理导出文件

  • podscan-pp-cli exports download — 下载导出文件
  • podscan-pp-cli exports list-episode — 列出每日单集导出文件
  • podscan-pp-cli exports list-podcast — 列出播客目录导出文件

podcasts — 管理播客

  • podscan-pp-cli podcasts get — 根据 ID 获取播客
  • podscan-pp-cli podcasts search — 根据名称或描述搜索播客
查找合适的命令

如果你知道要做什么,但不清楚该用哪个命令,可以直接询问 CLI:

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

which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有可靠匹配项——请改用 --help,或使用范围更窄的查询。

身份验证设置

保存访问令牌:

podscan-pp-cli auth set-token YOUR_TOKEN_HERE

或者将 PODSCAN_BEARER_AUTH 设置为环境变量。

运行 podscan-pp-cli doctor 验证设置。

Agent 模式

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

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

  • 可筛选 — --select 保留指定字段的子集。点分路径可逐层访问嵌套结构;数组则会逐元素遍历。对于内容冗长的 API,这有助于控制上下文大小:

    podscan-pp-cli alerts 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 判断数据来自实时 API 还是本地存储。仅当 stdout 连接到终端时,才会将易读的 N results (live) 摘要打印到 stderr;通过管道读取的内容或 Agent 消费者在 stdout 上只会收到纯 JSON。

Agent 反馈

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

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

条目保存在本地 ~/.podscan-pp-cli/feedback.jsonl 中。除非设置了 PODSCAN_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 PODSCAN_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认情况下,反馈仅保存在本地。

记录让你感到意外的事情,而不是提交错误报告。简短、具体,写成一行:这才是能够逐步积累价值的部分。

输出交付

每条命令都接受 --deliver <sink>。输出会发送到指定的接收端,同时输出到 stdout 或取代 stdout,这样 Agent 就能路由命令结果,而无需手动通过管道传递。支持三种接收端:

接收端效果
stdout默认;仅写入 stdout
file:<path>将输出原子写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 application/json;启用 --compact 时使用 application/x-ndjson)

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

命名配置

配置是已保存的一组标志值,可在多次调用中重复使用。如果定时运行的 Agent 每次都使用相同配置调用同一命令,就可以使用配置——这是 HeyGen 的“Beacon”模式。

podscan-pp-cli profile save briefing --json
podscan-pp-cli --profile briefing alerts list
podscan-pp-cli profile list --json
podscan-pp-cli profile show briefing
podscan-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,以便 Agent 在运行时发现它们。

退出码

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

参数解析

解析 $ARGUMENTS:

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

MCP 服务安装

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

claude mcp add podscan-pp-mcp -- podscan-pp-mcp

验证:claude mcp list

直接使用

  1. 检查是否已安装:which podscan-pp-cli 如果未找到,则提供安装选项(参见本技能顶部的先决条件)。
  2. 将用户查询与上方“独特功能”和“命令参考”中的最佳命令匹配。
  3. 使用 --agent 标志执行:
    podscan-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果存在歧义,请深入查看子命令帮助:podscan-pp-cli <command> --help。

评论

支持 Markdown