cli-anything-mailchimp 是做什么的?
身份
一个面向 AI Agent 的 CLI 工具,用于 Mailchimp 营销 API v3.0,基于 CLI-Anything 框架构建。
此 CLI 的功能
- 管理受众(列表) — 创建、更新、删除列表;添加/更新/归档成员;管理合并字段、细分、标签和 Webhook。
- 运行活动 — 创建、安排、发送、暂停、复制和分析邮件活动。
- 读取报告 — 打开率、点击率、退弹统计、退订、邮件活动、地理数据。
- 控制自动化 — 创建和管理自动邮件工作流。
- 管理电商 — 商店、订单、客户、产品、购物车和促销代码。
- 使用模板、文件管理器、落地页、短信活动、调查以及所有其他营销 API 资源。
先决条件
- Python 3.10+
- 将
MAILCHIMP_API_KEY 环境变量设置为您的 API 密钥(包括数据中心后缀,例如 abc123-us8)
安装
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=mailchimp/agent-harness
cd mailchimp/agent-harness && pip install -e .
命令参考
根命令
| 命令 | 描述 |
|---|
cli-anything-mailchimp ping | 健康检查 — 确认 API 连接 |
cli-anything-mailchimp root list | 获取账户信息 |
cli-anything-mailchimp --json <cmd> | 以 JSON 格式输出任何命令 |
cli-anything-mailchimp | 启动交互式 REPL |
列表(受众)
| 命令 | 描述 |
|---|
lists list | 列出所有受众 |
lists get <LIST_ID> | 获取受众信息 |
lists create --data '<json>' | 创建受众 |
lists update <LIST_ID> --data '<json>' | 更新受众 |
lists delete <LIST_ID> | 删除受众 |
lists list-lists-id-members <LIST_ID> | 列出成员 |
lists get-lists-id-members-id <LIST_ID> <SUBSCRIBER_HASH> | 通过 MD5 哈希获取成员 |
lists create-lists-id-members <LIST_ID> --data '<json>' | 添加成员 |
lists list-lists-id-merge-fields <LIST_ID> | 列出合并字段 |
lists create-lists-id-merge-fields <LIST_ID> --data '<json>' | 添加合并字段 |
lists list-lists-id-segments <LIST_ID> | 列出细分 |
lists list-list-member-tags <LIST_ID> <SUBSCRIBER_HASH> | 列出成员标签 |
lists create-list-member-tags <LIST_ID> <SUBSCRIBER_HASH> --data '<json>' | 添加/移除成员标签 |
lists list-lists-id-webhooks <LIST_ID> | 列出 Webhook |
lists create-lists-id-webhooks <LIST_ID> --data '<json>' | 添加 Webhook |
活动
| 命令 | 描述 |
|---|
campaigns list | 列出活动 |
campaigns get <CAMPAIGN_ID> | 获取活动信息 |
campaigns create --data '<json>' | 创建活动 |
campaigns update <CAMPAIGN_ID> --data '<json>' | 更新活动设置 |
campaigns delete <CAMPAIGN_ID> | 删除活动 |
campaigns send <CAMPAIGN_ID> | 立即发送活动 |
campaigns schedule <CAMPAIGN_ID> --data '<json>' | 安排活动 |
campaigns cancel-send <CAMPAIGN_ID> | 取消预定发送 |
campaigns pause <CAMPAIGN_ID> | 暂停 RSS 活动 |
campaigns resume <CAMPAIGN_ID> | 恢复 RSS 活动 |
campaigns replicate <CAMPAIGN_ID> | 复制活动 |
campaigns list-content <CAMPAIGN_ID> | 获取活动内容 |
campaigns list-send-checklist <CAMPAIGN_ID> | 发送前检查清单 |
报告
| 命令 | 描述 |
|---|
reports list | 列出所有活动报告 |
reports get <CAMPAIGN_ID> | 获取活动摘要报告 |
reports list-email-activity <CAMPAIGN_ID> | 每个订阅者的打开/点击活动 |
reports list-click-details <CAMPAIGN_ID> | 链接点击细分 |
reports list-open-details <CAMPAIGN_ID> | 每个订阅者的打开情况 |
reports list-unsubscribed <CAMPAIGN_ID> | 退订者 |
reports list-locations <CAMPAIGN_ID> | 地理细分 |
reports list-domain-performance <CAMPAIGN_ID> | 按域统计 |
自动化
| 命令 | 描述 |
|---|
automations list | 列出自动化 |
automations get <WORKFLOW_ID> | 获取自动化信息 |
automations create --data '<json>' | 创建自动化 |
automations pause <WORKFLOW_ID> | 暂停自动化 |
automations start <WORKFLOW_ID> | 启动自动化 |
automations archive <WORKFLOW_ID> | 归档自动化 |
automations list-emails <WORKFLOW_ID> | 列出自动化邮件 |
电商
| 命令 | 描述 |
|---|
ecommerce list-ecommerce-stores | 列出商店 |
ecommerce get <STORE_ID> | 获取商店信息 |
ecommerce create --data '<json>' | 添加商店 |
ecommerce list-ecommerce-stores-id-orders <STORE_ID> | 列出订单 |
ecommerce list-ecommerce-stores-id-products <STORE_ID> | 列出产品 |
ecommerce list-ecommerce-stores-id-customers <STORE_ID> | 列出客户 |
ecommerce list-ecommerce-stores-id-carts <STORE_ID> | 列出购物车 |
ecommerce list-ecommerce-stores-id-promocodes <PROMO_RULE_ID> <STORE_ID> | 列出促销代码 |
其他资源
| 组 | 描述 |
|---|
templates | 邮件模板(列出、获取、创建、更新、删除) |
template-folders | 模板文件夹 |
campaign-folders | 活动文件夹 |
file-manager | 文件管理器中的文件和文件夹 |
landing-pages | 落地页(列出、创建、发布、取消发布) |
sms-campaigns | 短信活动(10 个操作) |
surveys | 调查(列出、获取、发布) |
reporting | Facebook 广告和落地页报告 |
search-campaigns | 按查询搜索活动 |
search-members | 跨所有受众搜索成员 |
batches | 批处理 API 操作 |
batch-webhooks | 批处理操作 Webhook |
verified-domains | 邮箱域名验证 |
authorized-apps | OAuth 连接的应用程序 |
connected-sites | 已连接的站点集成 |
conversations | 收件箱对话 |
activity-feed | 账户活动源 |
account-exports | 账户数据导出 |
JSON 输出
所有命令都在根级别支持 --json 参数:
cli-anything-mailchimp --json lists list
cli-anything-mailchimp --json reports get abc123def
cli-anything-mailchimp --json lists list | jq '.lists[].name'
cli-anything-mailchimp --json campaigns list | jq '.campaigns[].id'
响应结构(原生 Mailchimp API 响应 — 使用资源特定的键):
{"lists": [...], "total_items": 42, "_links": [...]}
{"campaigns": [...], "total_items": 10, "_links": [...]}
{"id": "abc123", "name": "My List", ...}
{"ok": true, "message": "Deleted."}
{"ok": false, "message": "Resource Not Found: ...", "data": {...}}
常见 Agent 模式
cli-anything-mailchimp --json ping | jq '.health_status'
cli-anything-mailchimp --json lists list | jq '.lists[] | {id, name}'
cli-anything-mailchimp --json lists list-lists-id-members <list_id> --status subscribed | jq '.members[].email_address'
cli-anything-mailchimp --json campaigns create --data '{"type":"regular","settings":{"subject_line":"Hello","from_name":"Me","reply_to":"[email protected]"}}' | jq '.id'
cli-anything-mailchimp --json campaigns list-send-checklist <campaign_id> | jq '.items[] | select(.result == false)'
cli-anything-mailchimp --json reports list-unsubscribed <campaign_id> | jq '.unsubscribes[].email_address'
cli-anything-mailchimp --json lists create-members <list_id> --data '{"email_address":"[email protected]","status":"subscribed"}'
cli-anything-mailchimp --json search-members list --query "[email protected]" | jq '.exact_matches.members[]'
交互式 REPL
运行 cli-anything-mailchimp(不带参数)即可进入 REPL:
◆ cli-anything · Mailchimp
v0.1.0
输入 help 查看命令,quit 退出
◆ mailchimp ❯ ping
✓ {"health_status": "Everything's Chimpy!"}
◆ mailchimp ❯ --json lists list
{"lists": [...], "total_items": 3, "_links": [...]}
◆ mailchimp ❯ quit
备注
- 订阅者哈希:Mailchimp 通过小写邮箱的 MD5 哈希值来识别成员。计算方法:
python -c "import hashlib; email='[email protected]'; print(hashlib.md5(email.strip().lower().encode()).hexdigest())"。
- 请求体负载:所有 POST/PATCH/PUT 命令都接受
--data '<json>' 参数。每个端点的模式请参阅 Mailchimp API 文档。
- 数据中心:您的 API 密钥以
-us8、-eu2 等结尾。CLI 会自动提取此信息 — 请将其包含在 MAILCHIMP_API_KEY 中。
- 速率限制:营销 API 限制为 10 个并发连接和每个账户的滚动限制。对于批量操作,请使用
batches 组。