App Store ReviewReply

Polar Sponsor
爱发电 赞助
.NET 9.0

自动监控 App Store 评论,为 1-3 星差评自动生成温暖、符合品牌调性的回复,让不满意的用户快速得到反馈。连接 App Store...

复写 STELLE.

功能概述

复写 STELLE.是一项面向实际任务的技能,主要用于Automic App Store 复写 显示器、 答覆 起草器和模式检测器;监控 App Store 连接 用于新的复写, 使用 Claud 起草 1–3 的 温暖的 网上复写。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

ReviewReply 技能

自动化 App Store 评论监控、回复草稿生成与问题模式识别工具。通过监控 App Store Connect 获取新评论,针对 1–3 星评论调用 Claude 生成温暖且符合品牌调性的回复草稿;自动识别高频重复投诉并触发 Bug 告警;每日上午 8 点向 Telegram 推送待审批回复队列。

技能目录

skills/review-reply/
├── SKILL.md                          # 本文件 — AI 指令与技能规范
├── README.md                         # 完整使用文档与配置指南
├── scripts/
│   ├── monitor.py                    # 轮询 App Store Connect API 获取新评论
│   ├── draft_reply.py                # 基于 Claude 生成温暖且符合品牌调性的回复草稿
│   ├── pattern_detector.py           # 将高频重复投诉识别为 Bug 告警
│   └── queue_manager.py              # 管理审批队列,推送每日上午 8 点 Telegram 汇总消息
├── references/
│   ├── app-store-connect-api.md      # API 认证配置(JWT、密钥、端点)
│   └── reply-guidelines.md           # 品牌语调、语气、注意事项(Do’s & Don’ts)
├── templates/
│   └── reply-prompts.md              # 按星级划分的 Claude 提示词模板
└── data/
    ├── reviews.json                  # 原始评论存储(自动创建)
    ├── queue.json                    # 待审批队列(自动创建)
    └── metrics.json                  # 回复率、响应时效、评分趋势等指标(自动创建)

1. 监控工作流

脚本: scripts/monitor.py

功能说明

  1. 从配置中读取应用列表
  2. 对每个应用,调用 App Store Connect API → /v1/apps/{id}/customerReviews
  3. 将新评论存入 data/reviews.json(跳过已处理过的 ID)
  4. 对评分为 1–3★ 的评论:自动触发 draft_reply.py
  5. 将所有新评论传递给 pattern_detector.py
  6. 将本次运行时间戳写入 data/metrics.json

执行计划

  • 建议通过 cron / launchd 每 4 小时运行一次
  • 手动运行:python3 scripts/monitor.py

评论数据结构

{
  "id": "string",
  "app_id": "string",
  "app_name": "string",
  "rating": 1,
  "title": "string",
  "body": "string",
  "reviewer": "string",
  "territory": "string",
  "created_date": "ISO8601",
  "fetched_at": "ISO8601",
  "reply_status": "pending|drafting|approved|posted|rejected|skipped",
  "draft_reply": "string|null",
  "approved_reply": "string|null",
  "replied_at": "ISO8601|null"
}

3. 回复草稿工作流

脚本: scripts/draft_reply.py

功能说明

  1. 接收一条评论对象(含评分、标题、正文、应用名)
  2. 根据星级,从 templates/reply-prompts.md 中选取对应提示词模板
  3. 调用 Claude API,并注入品牌指南上下文
  4. 将草稿存入 data/queue.json,状态设为 pending
  5. 不自动发布 — 所有回复均需人工审批后方可发布

仅生成草稿的场景

  • 1★、2★、3★ 评论(负面/中性反馈)
  • 4★ 和 5★ 评论:仅记录,不生成草稿(状态 = skipped)

输出格式

{
  "review_id": "string",
  "app_name": "string",
  "rating": 2,
  "review_title": "string",
  "review_body": "string",
  "draft_reply": "string",
  "drafted_at": "ISO8601",
  "status": "pending",
  "approved_reply": null,
  "posted_at": null
}

4. 模式检测工作流

脚本: scripts/pattern_detector.py

功能说明

  1. 读取 data/reviews.json 中最近 7 天的所有评论
  2. 按应用分组
  3. 使用 Claude 提取投诉关键词/主题(基于语义聚类)
  4. 触发阈值: 同一主题/投诉在 7 天内出现 ≥3 次 → 触发 Bug 告警
  5. 立即发送 Telegram 告警(不等待每日 8 点队列)

告警格式(Telegram)

🚨 *Pattern Alert — FeedFare*

Complaint: "Feed not refreshing / stuck on loading"
Count: 5 reviews in the last 7 days
Rating avg: 1.8★

Recent examples:
• "App is broken, feed never loads" — 1★ (2026-02-18)
• "Stuck on spinning wheel for days" — 2★ (2026-02-17)
• "Used to work great, now broken" — 2★ (2026-02-16)

👉 Likely bug. Recommend investigating feed refresh logic.

模式去重机制

  • 过去 24 小时内已发出的相同模式告警,不再重复发送
  • 每个应用下每种唯一主题,每 24 小时窗口仅发送一次告警
  • 状态记录在 data/metrics.json 的 pattern_alerts 字段中

5. 审批队列工作流

脚本: scripts/queue_manager.py

每日汇总(上午 8 点 Telegram)

每天上午 8:00(本地时区),queue_manager.py 向 Telegram 发送一条消息,汇总当前所有待审批回复:

📱 *ReviewReply Morning Queue — 3 Pending*

━━━━━━━━━━━━━━━━━━━
1️⃣ *FeedFare* — 2★ by @user123 (Feb 18)
   "App crashes every time I open it"

   📝 *Draft Reply:*
   "Hi there! We're so sorry to hear about the crashes — that's definitely not the experience we want for you. Our team just pushed a fix in v2.1.1 that addresses the crash on launch. Please update and let us know if it helps! 🙏"

   ✅ /approve_1  ✏️ /edit_1  ❌ /reject_1
━━━━━━━━━━━━━━━━━━━
2️⃣ *FeedFare* — 1★ by @disappointed_dev (Feb 18)
   ...
━━━━━━━━━━━━━━━━━━━

📊 Stats: 12 reviewed · 8 replied · 67% response rate

回复审批命令

  • /approve_N — 标记为已批准,并发布至 App Store Connect
  • /edit_N — 替换草稿内容为编辑后文本,并标记为已批准
  • /reject_N — 标记为已拒绝(不发送任何回复),并从队列中移除
  • /skip_N — 标记为跳过(永不回复),并从队列中移除

队列状态机

new review
    │
    ▼
[drafting] → draft failed → [error]
    │
    ▼
[pending] ←→ [edited]
    │
    ├─ approve → [approved] → post API → [posted]
    ├─ reject  → [rejected]
    └─ skip    → [skipped]

自动发布流程

当某条回复被批准后:

  1. queue_manager.py 调用 App Store Connect API → POST /v1/customerReviewResponses
  2. 在 data/queue.json 中将该条目状态更新为 posted
  3. 在指标数据中记录 replied_at 时间戳

6. 指标追踪

数据文件: data/metrics.json

追踪指标

指标 说明
total_reviews 各应用历史累计评论总数
reviews_this_week 滚动 7 日评论数
avg_rating 各应用当前平均星级评分
rating_trend 相较前一个 7 日周期的变化趋势
response_rate 已批准/已发布的 1–3★ 评论占比
avg_response_time_hrs 从评论发布到回复发布的平均耗时(小时)
pending_count 当前队列中待审批数量
posted_count 已成功发布的回复数
rejected_count 被主动拒绝(不回复)的数量
pattern_alerts 已发送模式告警的历史记录

按需指标报告

说出 “review metrics” 或 “how are my apps doing?”,AI 将读取 data/metrics.json 并格式化输出摘要。

7. AI 指令 — 对话式命令

AI 支持以下自然语言指令:

用户输入 AI 行动
"check for new reviews" 执行 python3 scripts/monitor.py
"show pending replies" 读取 data/queue.json,列出所有 pending 条目
"approve reply 3" 执行 python3 scripts/queue_manager.py --approve 3
"edit reply 2: " 执行 python3 scripts/queue_manager.py --edit 2,再通过 stdin 或临时文件传入文本 — 绝不将用户输入直接拼接到 shell 字符串中
"reject reply 1" 执行 python3 scripts/queue_manager.py --reject 1
"draft a reply for review X" 执行 python3 scripts/draft_reply.py --review-id X
"how are my apps doing?" 读取 data/metrics.json,格式化输出摘要
"show me recent reviews" 读取 data/reviews.json,展示最近 10 条
"any patterns this week?" 执行 python3 scripts/pattern_detector.py --report
"response rate?" 读取指标数据,显示各应用的 response_rate
"add app MyApp 1234567890" 向 monitor.py 的 APPS 配置中添加应用

8. 必需环境变量

变量 说明
APP_STORE_KEY_ID App Store Connect API 密钥 ID
APP_STORE_ISSUER_ID App Store Connect Issuer ID
APP_STORE_PRIVATE_KEY_PATH .p8 私钥文件路径
ANTHROPIC_API_KEY Claude API 密钥(用于生成回复草稿)
TELEGRAM_BOT_TOKEN Telegram Bot Token(用于通知)
TELEGRAM_CHAT_ID 你的 Telegram 聊天 ID

请将这些变量存入 ~/.openclaw/.env,或在 shell 配置文件中导出。

9. Cron / LaunchAgent 执行计划

# App Store 评论监控 — 每 4 小时执行一次
0 */4 * * * cd /Users/nick/.openclaw/workspace && python3 skills/review-reply/scripts/monitor.py >> /tmp/review-reply.log 2>&1

# 每日审批队列 — 每天上午 8 点执行
0 8 * * * cd /Users/nick/.openclaw/workspace && python3 skills/review-reply/scripts/queue_manager.py --send-digest >> /tmp/review-reply.log 2>&1

LaunchAgent plist 配置详见 README.md。

10. 数据文件参考

所有数据均存放于 data/ 目录下,采用纯 JSON 格式 — 易于查看、备份与迁移。

文件 用途
data/reviews.json 所有已获取评论,每条评论为一个 JSON 对象
data/queue.json 活跃回复队列(含 pending / approved / rejected 条目)
data/metrics.json 聚合指标数据及模式告警历史

备份方式

cp -r skills/review-reply/data/ ~/review-reply-backup/

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

0

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

0

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

0

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习