agent-postmark 是用于 Postmark 邮件服务的命令行排障工具,主要解决投递事故、退信与抑制、邮件状态、发件人与域名配置、消息流和 webhook 相关的问题。
用途
它面向需要处理 Postmark 邮件投递问题的运维与支持场景,可跨外发和入站消息进行排查,并覆盖发件域名与签名、消息流(message streams)以及 webhook 的检查。
主要能力
- 提供调查类命令,优先于低层资源命令使用:investigate delivery --email(按邮箱调查投递)、investigate bounce <bounce-id>(按退信 ID 调查)、investigate domain-health(域名健康)、investigate stream-health --stream(消息流健康)、investigate webhook-health(webhook 健康)。
- 支持浏览抑制记录:使用 agent-postmark suppressions list,而不使用原始全量导出(dump 端点可能返回非常大的完整导出,未作为面向 agent 的命令暴露)。
- 支持查看邮件内容:使用 agent-postmark messages content <message-id> 获取实际正文、头部或附件细节,列表输出默认省略体积较大的正文、头部与附件。
- 提供 get <id>... 命令,接受一个或多个 ID 并按输入顺序返回结果,默认 NDJSON(每条 ID 一行),--format json|yaml 可合并为 {"data":[…], "@unresolved":[…]} 信封格式。
- 调查命令输出证据记录,类型包括 entity、finding(含 severity 与 summary)、next_command(建议的下一条命令及原因)。
使用方式
入门命令包括:agent-postmark usage、agent-postmark profiles list、agent-postmark profiles check、agent-postmark config show。
配置与令牌管理:
- 初始设置(含多个服务器令牌):agent-postmark profiles setup <profile> --form --account-token --server app:<id>:outbound --server billing:<id>:outbound
- 添加账户令牌:agent-postmark profiles add <profile> --form --account-token
- 添加服务器令牌:agent-postmark profiles servers add <profile> <server> --form --server-token --server-id <id>
- 更新账户令牌:agent-postmark profiles update <profile> --form --account-token
- 更新服务器令牌:agent-postmark profiles servers update <profile> <server> --form --server-token
- 移除服务器上下文及其存储令牌:agent-postmark profiles servers remove <profile> <server>
- 选择已存服务器上下文使用 --server <alias>;需要数字 Postmark server ID 覆盖时使用 --server-id <id>。
本地测试:运行 mockpostmark 并设置 AGENT_POSTMARK_BASE_URL。
输出格式:列表与调查默认 NDJSON;get 默认也输出 NDJSON(每条 ID 一行,单个 get 为单元素情形),--format json 返回单个 beautified 对象,--format yaml 返回 YAML。错误以 JSON 输出到 stderr,包含 error、fixable_by,通常还有 hint。项级未命中保持在 stdout 且退出码为 0;仅命令级失败(认证、网络)输出到 stderr、退出码 1 且 stdout 为空。
增量参考文档:按需加载 references/scenarios.md(支持式问题与命令序列)、references/investigations.md(选择或解释调查命令)、references/commands.md(精确命令语法与标志)、references/output.md(解析 NDJSON、错误、脱敏、变更守卫)。
安全与限制
- 绝不要求工具显示账户或服务器令牌。
- 绝不接受在聊天中粘贴 Postmark 令牌;应让用户在本地运行带 --form 的命令,使令牌直接进入操作系统对话框。
- 令牌范围区分:account-token 命令处理服务器、域名和签名;server-token 命令处理消息流、邮件、退信、统计、抑制和 webhook。
- 优先使用只读命令。
- 除非用户明确要求该状态变更,否则不要为变更命令添加 --yes。
- 主题与地址字段在排障时可见;应先使用列表/搜索输出,仅当用户需要实际正文、头部或附件细节时才请求邮件内容。
- 令牌、密钥、URL 凭据和原始邮件大对象会以 "[REDACTED]" 及顶层 @redacted 路径进行脱敏(在可能时)。
- 非密钥的 profile/config 元数据存放于 XDG 配置;令牌存放于 Keychain;profiles list 与 profiles check 仅显示令牌是否存在,从不显示令牌值。
具体收费、价格与平台支持信息暂未提供。