mcpField
P
pp-twilio

pp-twilio

github.com/mvanhorn其他2.1k141 次安装今天更新
代码仓库

关于 pp-twilio

pp-twilio 是供 Agent 和运营人员使用的 Printing Press Twilio 命令行技能,用于调查消息与语音活动。它整合跨子账户分析、通话关联记录、合规检查和本地数据工作流。

主要功能

  1. 01跨子账户支出与投递分析
  2. 02关联通话、录音和转录
  3. 03审计退订与 Webhook URL
  4. 04查找闲置电话号码
  5. 05按状态实时接收消息

适用场景

  1. 01调查近期消息投递失败
  2. 02通过 CallSid 查看通话录音和转录
  3. 03审计退订后的消息以检查合规
  4. 04找出闲置号码及其月度费用

安装

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

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

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

详细介绍

Twilio — Printing Press 命令行工具

前置条件:安装命令行工具

此技能使用 twilio-pp-cli 二进制文件。**调用此技能中的任何命令前,必须确认已安装此命令行工具。**如果尚未安装,请先安装:

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

如果 npx 安装失败(未安装 Node、处于离线状态等),则改用 Go 直接安装(需要 Go 1.26.6 或更高版本):

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

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

何时使用此命令行工具

当 Agent 或操作人员需要获取无法通过一次 API 调用取得的 Twilio 数据时,请使用此命令行工具:跨子账户汇总、发送失败分析、TCPA 退订审计、闲置号码清理,或任何“上周情况如何”的问题。当需要在一条命令中完整串联 Call、Recording 和 Transcription 时,它也适用于按 CallSid 进行事件分诊。如果你已配置 twilio-cli,且只是要单次发送消息,则无需使用它;但对于任何分析或调查工作流,它都更快、可离线使用,并且原生适用于 Agent。

独特功能

这些功能在此 API 的其他工具中均不可用。

可累积的本地状态
  • delivery-failures — 查看上周消息失败的原因,按错误代码和目的地国家/地区分组,并汇总这些失败造成的美元成本。

    排查发送问题时,Agent 需要的是失败分布,而不是 4000 条单独记录。此命令通过一次查询回答“发送为何降级”。

    twilio-pp-cli delivery-failures --since 7d --json
    
  • subaccount-spend — 输出一份 CSV,列出所有子账户上个月的支出,并按 SMS、MMS、语音和录音类别进行透视——这是其他工具都不提供的代理机构账单报告。

    对于代理机构运营人员,这条命令即可生成完整的月度账单报告。Agent 可以使用 --period thisMonth 生成实时预测。

    twilio-pp-cli subaccount-spend --period last-month --csv > march-billing.csv
    
  • message-status-funnel — 统计消息最终状态(delivered、failed、undelivered、sent)的分布,包含发送成功率百分比和发送至送达的中位耗时。

    运营仪表板需要的是漏斗,而非原始记录。一次查询即可完整回答“当前发送是否正常”。

    twilio-pp-cli message-status-funnel --since 24h --json
    
  • call-disposition — 按 AnsweredBy(human、machine_start、fax)交叉统计通话状态(completed、busy、no-answer、failed、canceled),并列出每个类别的美元成本。

    优化外呼活动需要了解真人接听率与语音信箱接听率。Agent 无需翻阅数千条通话记录即可得出答案。

    twilio-pp-cli call-disposition --since 7d --json
    
跨实体串联
  • call-trace — 给定一个 CallSid,在一份结构化输出中返回该通话期间发生的所有情况:元数据、录音、转录文本、会议参与情况。

    接到掉线通话告警的值班工程师需要在几秒内掌握完整情况,而不是在客户等待时连续调用三次 API。

    twilio-pp-cli call-trace CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --json
    
  • idle-numbers — 找出你付费使用、但在 N 天内未用于发送或接收的电话号码,并计算每月浪费的金额。

    每个号码每月 1 美元,运营 100 个以上子账户号码的代理机构每年可节省数百美元。Agent 可以将其作为每月清理任务运行。

    twilio-pp-cli idle-numbers --since 30d --json
    
  • webhook-audit — 按 Voice/SMS webhook URL 对 IncomingPhoneNumbers 分组,以找出可能指向已删除端点的孤立单次使用 URL。添加 --probe 可执行实时 HEAD 检查。

    孤立 webhook 会导致来电和 SMS 静默失败。每季度审计一次,就能低成本防止流量悄然丢失。

    twilio-pp-cli webhook-audit --probe --json
    
  • conversation — 将与一个电话号码有关的所有消息和通话合并为一份带时间戳的时间线,其中包含收发方向箭头、正文和时长。

    调查客户投诉或欺诈索赔时,一次查询即可查看完整的往来记录。Agent 无需搜索四次,就能回答“我们对这个号码说过什么”。

    twilio-pp-cli conversation +14155551234 --json
    
合规与审计
  • opt-out-violations — 查找发送过 STOP/UNSUBSCRIBE/END/QUIT 的号码,以及你的账户之后向其发送的任何消息——这是 Twilio API 未提供对应资源的 TCPA 风险检查。

    TCPA 违规罚款为每次 500–1,500 美元。合规团队每季度都会审计;Agent 也可以随时抽查。

    twilio-pp-cli opt-out-violations --since 90d --json --select to,opt_out_at,subsequent_send_at,message_sid
    
  • error-code-explain — 查看近期消息和通话中的常见错误代码,以及针对最常见 Twilio 错误精选的一句话说明和修复方法。

    每个 Twilio 用户都会搜索错误代码。将说明与次数统计放在一起,可避免频繁切换上下文。

    twilio-pp-cli error-code-explain --since 7d --json
    
面向 Agent 的底层功能
  • sync-status — 查看本地存储中每种资源的上次同步时间戳和行数,从而了解其他分析命令的数据有多新。

    如果没有数据新鲜度提示,每个分析命令都值得怀疑。读取一次即可让 Agent 知道是否应先调用 sync。

    twilio-pp-cli sync-status --json
    
  • tail-messages — 按状态筛选并实时流式查看新消息——这是 twilio-cli 未提供的 twilio-pp-cli --follow 功能。

    事故排查和 on-call 响应需要实时失败信息流,而不是轮询式 shell 循环。一个命令,无需守护进程。

    twilio-pp-cli tail-messages --status failed --follow
    

命令参考

2010-04-01 — 管理 2010 04 01

  • twilio-pp-cli 2010-04-01 create-account — 从发起请求的账户创建新的 Twilio Subaccount
  • twilio-pp-cli 2010-04-01 fetch-account — 获取指定 Account Sid 的账户
  • twilio-pp-cli 2010-04-01 list-account — 获取属于发起请求账户的一组账户
  • twilio-pp-cli 2010-04-01 update-account — 修改指定账户的属性

addresses — 管理地址

  • twilio-pp-cli addresses delete-address — 删除地址
  • twilio-pp-cli addresses fetch-address — 获取地址
  • twilio-pp-cli addresses update-address — 更新地址

addresses-json — 管理地址 JSON

  • twilio-pp-cli addresses-json create-address — 创建地址
  • twilio-pp-cli addresses-json list-address — 列出地址

applications — 管理应用程序

  • twilio-pp-cli applications delete — 删除指定 application sid 的应用程序
  • twilio-pp-cli applications fetch — 获取指定 sid 的应用程序
  • twilio-pp-cli applications update — 更新应用程序的属性

applications-json — 管理应用程序 JSON

  • twilio-pp-cli applications-json create-application — 在你的账户中创建一个新应用
  • twilio-pp-cli applications-json list-application — 检索代表请求账户中应用的应用列表

authorized-connect-apps — 管理已授权的连接应用

  • twilio-pp-cli authorized-connect-apps <AccountSid> <ConnectAppSid> — 获取已授权连接应用的实例

authorized-connect-apps-json — 管理已授权连接应用 JSON

  • twilio-pp-cli authorized-connect-apps-json <AccountSid> — 检索用于发出请求的账户所拥有的已授权连接应用列表

available-phone-numbers — 管理可用电话号码

  • twilio-pp-cli available-phone-numbers <AccountSid> <CountryCode> — 获取国家/地区

available-phone-numbers-json — 管理可用电话号码 JSON

  • twilio-pp-cli available-phone-numbers-json <AccountSid> — 列出可用电话号码的国家/地区

balance-json — 管理余额 JSON

  • twilio-pp-cli balance-json <AccountSid> — 根据账户 SID 获取账户余额。余额变更可能不会立即反映。子账户……

calls — 管理通话

  • twilio-pp-cli calls delete — 从你的账户中删除通话记录。删除记录后,它将不再显示在 API 和账户……
  • twilio-pp-cli calls fetch — 获取指定通话 SID 的通话
  • twilio-pp-cli calls update — 发起通话重定向或终止通话

calls-json — 管理通话 JSON

  • twilio-pp-cli calls-json create-call — 创建新的外呼,可拨打电话、SIP 启用的终端或 Twilio Client 连接
  • twilio-pp-cli calls-json list-call — 检索与账户相关的呼入和呼出通话集合

conferences — 管理会议

  • twilio-pp-cli conferences fetch — 获取会议实例
  • twilio-pp-cli conferences update — 更新

conferences-json — 管理会议 JSON

  • twilio-pp-cli conferences-json <AccountSid> — 检索用于发出请求的账户所拥有的会议列表

connect-apps — 管理连接应用

  • twilio-pp-cli connect-apps delete — 删除连接应用实例
  • twilio-pp-cli connect-apps fetch — 获取连接应用实例
  • twilio-pp-cli connect-apps update — 使用指定参数更新连接应用

connect-apps-json — 管理连接应用 JSON

  • twilio-pp-cli connect-apps-json <AccountSid> — 检索用于发出请求的账户所拥有的连接应用列表

incoming-phone-numbers — 管理呼入电话号码

  • twilio-pp-cli incoming-phone-numbers create-local — 创建本地号码
  • twilio-pp-cli incoming-phone-numbers create-mobile — 创建移动号码
  • twilio-pp-cli incoming-phone-numbers create-toll-free — 创建免费电话号码
  • twilio-pp-cli incoming-phone-numbers delete — 删除用于发出请求的账户所拥有的电话号码。
  • twilio-pp-cli incoming-phone-numbers fetch — 获取用于发出请求的账户所拥有的呼入电话号码。
  • twilio-pp-cli incoming-phone-numbers list-local — 列出本地号码
  • twilio-pp-cli incoming-phone-numbers list-mobile — 列出移动号码
  • twilio-pp-cli incoming-phone-numbers list-toll-free — 列出免费电话号码
  • twilio-pp-cli incoming-phone-numbers update — 更新呼入电话号码实例。

incoming-phone-numbers-json — 管理呼入电话号码 JSON

  • twilio-pp-cli incoming-phone-numbers-json create-incoming-phone-number — 为账户购买电话号码。
  • twilio-pp-cli incoming-phone-numbers-json list-incoming-phone-number — 检索用于发出请求的账户所拥有的呼入电话号码列表。

keys — 管理密钥

  • twilio-pp-cli keys delete — 删除
  • twilio-pp-cli keys fetch — 获取
  • twilio-pp-cli keys update — 更新

keys-json — 管理密钥 JSON

  • twilio-pp-cli keys-json create-new-key — 创建新密钥
  • twilio-pp-cli keys-json list-key — 列出密钥

messages — 管理消息

  • twilio-pp-cli messages delete — 从你的账户中删除一个 Message 资源
  • twilio-pp-cli messages fetch — 获取指定的 Message
  • twilio-pp-cli messages update — 更新 Message 资源(用于编辑 Message 的 body 文本,以及取消尚未发送的消息)

messages-json — 管理消息 JSON

  • twilio-pp-cli messages-json create-message — 发送消息
  • twilio-pp-cli messages-json list-message — 检索与 Twilio 账户关联的 Message 资源列表

notifications — 管理通知

  • twilio-pp-cli notifications <AccountSid> <Sid> — 获取属于发起请求时所用账户的通知

notifications-json — 管理通知 JSON

  • twilio-pp-cli notifications-json <AccountSid> — 检索属于发起请求时所用账户的通知列表

outgoing-caller-ids — 管理外拨来电显示号码

  • twilio-pp-cli outgoing-caller-ids delete — 从账户中删除指定的来电显示号码
  • twilio-pp-cli outgoing-caller-ids fetch — 获取属于发起请求时所用账户的外拨来电显示号码
  • twilio-pp-cli outgoing-caller-ids update — 更新来电显示号码

outgoing-caller-ids-json — 管理外拨来电显示号码 JSON

  • twilio-pp-cli outgoing-caller-ids-json create-validation-request — 创建验证请求
  • twilio-pp-cli outgoing-caller-ids-json list-outgoing-caller-id — 检索属于发起请求时所用账户的外拨来电显示号码列表

queues — 管理队列

  • twilio-pp-cli queues delete — 删除空队列
  • twilio-pp-cli queues fetch — 获取由 QueueSid 标识的队列实例
  • twilio-pp-cli queues update — 使用新参数更新队列

queues-json — 管理队列 JSON

  • twilio-pp-cli queues-json create-queue — 创建队列
  • twilio-pp-cli queues-json list-queue — 检索属于发起请求时所用账户的队列列表

recordings — 管理录音

  • twilio-pp-cli recordings delete — 从你的账户中删除录音
  • twilio-pp-cli recordings fetch — 获取录音实例

recordings-json — 管理录音 JSON

  • twilio-pp-cli recordings-json <AccountSid> — 检索属于发起请求时所用账户的录音列表

signing-keys — 管理签名密钥

  • twilio-pp-cli signing-keys delete — 删除
  • twilio-pp-cli signing-keys fetch — 获取
  • twilio-pp-cli signing-keys update — 更新

signing-keys-json — 管理签名密钥 JSON

  • twilio-pp-cli signing-keys-json create-new-signing-key — 为发起请求的账户创建新的签名密钥。
  • twilio-pp-cli signing-keys-json list-signing-key — 列出签名密钥

sip — 管理 SIP

  • twilio-pp-cli sip create-auth-calls-credential-list-mapping — 创建新的凭证列表映射资源

  • twilio-pp-cli sip create-auth-calls-ip-access-control-list-mapping — 创建新的 IP 访问控制列表映射

  • twilio-pp-cli sip create-auth-registrations-credential-list-mapping — 创建新的凭证列表映射资源

  • twilio-pp-cli sip create-credential — 创建新的凭证资源。

  • twilio-pp-cli sip create-credential-list — 创建凭证列表

  • twilio-pp-cli sip create-credential-list-mapping — 为账户创建 CredentialListMapping 资源。

  • twilio-pp-cli sip create-domain — 创建新的域

  • twilio-pp-cli sip create-ip-access-control-list — 创建新的 IpAccessControlList 资源

  • twilio-pp-cli sip create-ip-access-control-list-mapping — 创建新的 IpAccessControlListMapping 资源。

  • twilio-pp-cli sip create-ip-address — 创建新的 IpAddress 资源。

  • twilio-pp-cli sip delete-auth-calls-credential-list-mapping — 从请求的域中删除凭证列表映射

  • twilio-pp-cli sip delete-auth-calls-ip-access-control-list-mapping — 从请求的域中删除 IP 访问控制列表映射

  • twilio-pp-cli sip delete-auth-registrations-credential-list-mapping — 从请求的域中删除凭证列表映射

  • twilio-pp-cli sip delete-credential — 删除凭证资源。

  • twilio-pp-cli sip delete-credential-list — 删除凭证列表

  • twilio-pp-cli sip delete-credential-list-mapping — 从账户中删除 CredentialListMapping 资源。

  • twilio-pp-cli sip delete-domain — 删除一个 Domain 实例

  • twilio-pp-cli sip delete-ip-access-control-list — 从请求的账户中删除 IpAccessControlList

  • twilio-pp-cli sip delete-ip-access-control-list-mapping — 删除 IpAccessControlListMapping 资源。

  • twilio-pp-cli sip delete-ip-address — 删除 IpAddress 资源。

  • twilio-pp-cli sip fetch-auth-calls-credential-list-mapping — 获取指定的凭证列表映射实例

  • twilio-pp-cli sip fetch-auth-calls-ip-access-control-list-mapping — 获取指定的 IP 访问控制列表映射实例

  • twilio-pp-cli sip fetch-auth-registrations-credential-list-mapping — 获取指定的凭证列表映射实例

  • twilio-pp-cli sip fetch-credential — 获取单个凭证。

  • twilio-pp-cli sip fetch-credential-list — 获取凭证列表

  • twilio-pp-cli sip fetch-credential-list-mapping — 从账户中获取单个 CredentialListMapping 资源。

  • twilio-pp-cli sip fetch-domain — 获取一个 Domain 实例

  • twilio-pp-cli sip fetch-ip-access-control-list — 获取指定的 IpAccessControlList 实例

  • twilio-pp-cli sip fetch-ip-access-control-list-mapping — 获取 IpAccessControlListMapping 资源。

  • twilio-pp-cli sip fetch-ip-address — 读取一个 IpAddress 资源。

  • twilio-pp-cli sip list-auth-calls-credential-list-mapping — 获取请求所用域的凭证列表映射

  • twilio-pp-cli sip list-auth-calls-ip-access-control-list-mapping — 获取请求所用域的 IP 访问控制列表映射

  • twilio-pp-cli sip list-auth-registrations-credential-list-mapping — 获取请求所用域的凭证列表映射

  • twilio-pp-cli sip list-credential — 获取凭证列表。

  • twilio-pp-cli sip list-credential-list — 获取所有凭证列表

  • twilio-pp-cli sip list-credential-list-mapping — 从账户中读取多个 CredentialListMapping 资源。

  • twilio-pp-cli sip list-domain — 获取发出请求的账户所属域列表

  • twilio-pp-cli sip list-ip-access-control-list — 获取发出请求的账户所属 IpAccessControlList 列表

  • twilio-pp-cli sip list-ip-access-control-list-mapping — 获取 IpAccessControlListMapping 资源列表。

  • twilio-pp-cli sip list-ip-address — 读取多个 IpAddress 资源。

  • twilio-pp-cli sip update-credential — 更新凭证资源。

  • twilio-pp-cli sip update-credential-list — 更新凭证列表

  • twilio-pp-cli sip update-domain — 更新域的属性

  • twilio-pp-cli sip update-ip-access-control-list — 重命名 IpAccessControlList

  • twilio-pp-cli sip update-ip-address — 更新 IpAddress 资源。 sms — 管理短信

  • twilio-pp-cli sms fetch-short-code — 获取一个短代码实例

  • twilio-pp-cli sms list-short-code — 获取发出请求所用账户所属的短代码列表

  • twilio-pp-cli sms update-short-code — 使用以下参数更新短代码

tokens-json — 管理 tokens json

  • twilio-pp-cli tokens-json <AccountSid> — 创建用于 ICE 服务器的新令牌

transcriptions — 管理转录

  • twilio-pp-cli transcriptions delete — 从发出请求所用的账户中删除一条转录
  • twilio-pp-cli transcriptions fetch — 获取一个转录实例

transcriptions-json — 管理 transcriptions json

  • twilio-pp-cli transcriptions-json <AccountSid> — 获取发出请求所用账户所属的转录列表

usage — 管理用量

  • twilio-pp-cli usage create-trigger — 创建新的 UsageTrigger
  • twilio-pp-cli usage delete-trigger — 删除触发器
  • twilio-pp-cli usage fetch-trigger — 获取一个用量触发器实例
  • twilio-pp-cli usage list-record — 获取发出请求所用账户所属的用量记录列表
  • twilio-pp-cli usage list-record-all-time — 列出所有时间的记录
  • twilio-pp-cli usage list-record-daily — 列出每日记录
  • twilio-pp-cli usage list-record-last-month — 列出上个月的记录
  • twilio-pp-cli usage list-record-monthly — 列出每月记录
  • twilio-pp-cli usage list-record-this-month — 列出本月记录
  • twilio-pp-cli usage list-record-today — 列出今天的记录
  • twilio-pp-cli usage list-record-yearly — 列出每年记录
  • twilio-pp-cli usage list-record-yesterday — 列出昨天的记录
  • twilio-pp-cli usage list-trigger — 获取发出请求所用账户所属的用量触发器列表
  • twilio-pp-cli usage update-trigger — 更新一个用量触发器实例
查找合适的命令

当你知道想做什么,但不知道该用哪个命令时,可以直接询问 CLI:

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

which 会将自然语言功能查询映射到此 CLI 精选功能索引中最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有足够可信的匹配项——请改用 --help,或缩小查询范围。

示例

每周投递失败报告
twilio-pp-cli delivery-failures --since 7d --json --select error_code,to_country,count,cost_total

在本地存储中运行失败聚合,并将响应精简为最重要的四个字段,让 Agent 无需解析 4000 行原始数据即可进行总结。

上月代理商账单 CSV
twilio-pp-cli subaccount-spend --period last-month --csv > march-billing.csv

遍历每个子账户,分别调用各子账户的用量记录,将类别透视为列,并生成一份宽表 CSV,供财务团队直接粘贴到电子表格中。

Slack 呼叫通知中的值班通话追踪
twilio-pp-cli call-trace CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --json --select call.status,call.duration,recordings,transcriptions.text

一条命令即可完成 Call → Recording → Transcription 全链路。使用 --select 和点分隔路径缩小响应,让 Agent 能在 Slack 回复中进行总结。

季度 TCPA 退订审计
twilio-pp-cli opt-out-violations --since 90d --csv > q1-opt-out-audit.csv

本地时序联接可查找入站 STOP/UNSUBSCRIBE 消息,以及之后发往同一号码的任何出站消息——合规团队如今需要付费请法务团队手动编制的就是这类报告。

查找闲置且造成浪费的号码
twilio-pp-cli idle-numbers --since 30d --json --select phone_number,friendly_name,monthly_cost,last_activity

通过对 IncomingPhoneNumbers / Messages / Calls 执行 LEFT JOIN,标记 30 天内没有活动的号码。输出中每个号码占一行,并列出每月浪费的金额。

身份验证设置

Twilio 使用 HTTP Basic 身份验证。你可以使用 Account SID(AC...)和 Auth Token 进行身份验证,也可以使用范围限定的 API Key SID(SK...)及其 Secret 进行身份验证。Account SID 始终为必填项,因为它属于 URL 路径的一部分。运行 twilio-pp-cli doctor 可验证凭据、检测密钥是主密钥还是范围限定密钥,并在父账户与子账户不匹配时发出警告。

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

Agent 模式

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

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

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

    twilio-pp-cli 2010-04-01 create-account --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不发送

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

  • 非交互式 — 绝不提示输入,所有输入都通过标志传入

  • 明确重试行为 — 仅当已存在的资源应视为创建成功时才使用 --idempotent;仅当缺失的删除目标应视为删除成功时才使用 --ignore-missing

响应封装

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

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

解析 .results 获取数据,并查看 .meta.source 判断数据来自实时来源还是本地。只有当 stdout 是终端时,才会将便于人类阅读的 N results (live) 摘要输出到 stderr;通过管道传递的消费者/Agent 会在 stdout 上获得纯 JSON。

Agent 反馈

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

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

条目会存储在本地的 ~/.twilio-pp-cli/feedback.jsonl。除非设置了 TWILIO_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 TWILIO_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” 模式。

twilio-pp-cli profile save briefing --json
twilio-pp-cli --profile briefing 2010-04-01 create-account
twilio-pp-cli profile list --json
twilio-pp-cli profile show briefing
twilio-pp-cli profile delete briefing --yes

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

退出码

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

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 twilio-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/twilio/cmd/twilio-pp-mcp@latest
    
  2. 在 Claude Code 中注册:
    claude mcp add twilio-pp-mcp -- twilio-pp-mcp
    
  3. 验证:claude mcp list

直接使用

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

评论

支持 Markdown