#pabal-app-review-miner ๋ฌธ์„œ (ko-KR)

#๊ฐœ์š”

pabal-app-review-miner๋Š” Google Play / App Store ๊ฒฝ์Ÿ ์•ฑ ๋ฆฌ๋ทฐ๋ฅผ raw ๋ฐ์ดํ„ฐ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ , ๋‚ด ์•ฑ ID ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•ด ์ €์žฅํ•˜๋Š” CLI์ž…๋‹ˆ๋‹ค.

#์ฃผ์š” ๊ธฐ๋Šฅ

  • Google Play / App Store ์ตœ์‹  ๋ฆฌ๋ทฐ ์ˆ˜์ง‘
  • ๋‹จ์ผ ๊ฒฝ์Ÿ ์•ฑ, ๋ฉ€ํ‹ฐ ๊ฒฝ์Ÿ ์•ฑ ์ˆ˜์ง‘ ์ง€์›
  • --my-app๋งŒ์œผ๋กœ ์Šคํ† ์–ด๋ณ„ ์ƒ์œ„ ๊ฒฝ์Ÿ ์•ฑ ์ž๋™ ํƒ์ƒ‰ ์ง€์›
  • ๋‚ด ์•ฑ ๊ธฐ์ค€ ์Šค์ฝ”ํ”„๋กœ ๊ฒฝ์Ÿ ์•ฑ๋ณ„ JSON ์ €์žฅ
  • ๋ฆฌ๋ทฐ ํ•ญ๋ชฉ๋ณ„ ์•ˆ์ • reviewId(๋ฐ ๊ฐ€๋Šฅ ์‹œ storeReviewId) ์ž๋™ ๋ถ€์—ฌ
  • ์ˆ˜์ง‘๋œ ๋ฆฌ๋ทฐ๋ฅผ ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญํ•ด reviews-ko/์— ์ €์žฅ
  • ๋ฒˆ์—ญ ๋ฆฌ๋ทฐ ๊ธฐ๋ฐ˜ ๊ฒฝ์Ÿ์•ฑ ์ธ์‚ฌ์ดํŠธ ๋ฆฌํฌํŠธ ์ƒ์„ฑ (reports/)

์ถœ๋ ฅ ๊ตฌ์กฐ:

  • data/{myAppId}/reviews/{competitor}.json

#๋น ๋ฅธ ์‹œ์ž‘

npm install
npm run build
npm run setup:icon
npm run review:collect -- --my-app golden-horizon --apps apps.json --limit 200
npm run review:collect -- --my-app golden-horizon --apps apps.json --limit 200 --append-existing
npm run review:collect -- --my-app golden-horizon --auto-top 5 --limit 200
npm run review:collect -- --my-app golden-horizon --apps apps.json --platform ios --limit 200
npm run review:collect-by-name -- --my-app golden-horizon --name "BJJBuddy"
npm run review:backfill-ids -- --my-app golden-horizon
npm run report:translate -- --my-app golden-horizon
npm run report:analyze -- --my-app golden-horizon
npm run report:render-html -- --my-app golden-horizon
npm run report:preview -- --my-app golden-horizon --port 4173

pabal-store-api-mcp๊ฐ€ ์ด๋ฏธ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด setup:icon์€ ์ˆ˜๋™ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

#์…‹์—…

#1. ์„ค์น˜

๋Ÿฐํƒ€์ž„ ์š”๊ตฌ์‚ฌํ•ญ:

  • Node.js >=20.19.0
npm install
npm run build

#2. registered-apps.json ์ค€๋น„

์ด ํ”„๋กœ์ ํŠธ๋Š” ์•„๋ž˜ ํŒŒ์ผ์—์„œ myAppId๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

  • ~/.config/pabal-mcp/registered-apps.json

๊ถŒ์žฅ: ๊ธฐ์กด pabal-store-api-mcp ์„ค์ • ์žฌ์‚ฌ์šฉ

npm run setup:icon

์•„๋ž˜ ํŒŒ์ผ์ด ์ด๋ฏธ ์กด์žฌํ•˜๊ณ  ์œ ํšจํ•˜๋ฉด, ์ด ๋ช…๋ น์€ ์ˆ˜๋™ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

  • ~/.config/pabal-mcp/config.json
  • ~/.config/pabal-mcp/registered-apps.json

๋Œ€์ฒด ๊ฒฝ๋กœ: ๋กœ์ปฌ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ(๊ธฐ์กด ๋™์ž‘ ์œ ์ง€)

npm run setup:icon

์ด ๋ช…๋ น์ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…:

  • ~/.config/pabal-mcp ํด๋” ์ƒ์„ฑ
  • chmod 700 ์ ์šฉ (ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์‹คํŒจํ•ด๋„ ๊ณ„์† ์ง„ํ–‰)
  • registered-apps.json์ด ์—†์œผ๋ฉด ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ
  • ~/.config/pabal-mcp ํด๋” ๋‚ด ํŒŒ์ผ ๊ถŒํ•œ์„ 600์œผ๋กœ ์ž ๊ธˆ
  • ~/.config/pabal-mcp/config.json์— dataDir๊ฐ€ ์žˆ๊ณ  pabal-web์ด ์กด์žฌํ•˜๋ฉด ์ƒํ’ˆ ์•„์ด์ฝ˜(public/products/*/icons/icon.png, ๋Œ€์ฒด ๊ฒฝ๋กœ public/products/*/icon.png)์„ ์ด ํ”„๋กœ์ ํŠธ์˜ data/{appId}/icon.png๋กœ ๋™๊ธฐํ™”ํ•ด ๋Œ€์‹œ๋ณด๋“œ/๋ฆฌํฌํŠธ ํ™”๋ฉด ์•„์ด์ฝ˜์œผ๋กœ ์‚ฌ์šฉ

๋ฏธ์„ค์ • ์‹œ ์ˆ˜๋™์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ถ”๊ฐ€

mkdir -p ~/.config/pabal-mcp
chmod 700 ~/.config/pabal-mcp
cat > ~/.config/pabal-mcp/registered-apps.json <<'JSON'
{
  "apps": [
    {
      "slug": "golden-horizon",
      "name": "Golden Horizon",
      "appStore": {
        "bundleId": "com.quartz.goldenhorizon",
        "appId": "1234567890",
        "name": "Golden Horizon",
        "supportedLocales": ["en-US", "ko-KR"]
      },
      "googlePlay": {
        "packageName": "com.quartz.goldenhorizon",
        "name": "Golden Horizon",
        "supportedLocales": ["en-US", "ko-KR"]
      }
    }
  ]
}
JSON
open ~/.config/pabal-mcp
chmod 600 ~/.config/pabal-mcp/*

#๐Ÿ” ์ž๊ฒฉ ์ฆ๋ช… ์„ค์ •

pabal-resource-mcp๋Š” pabal-store-api-mcp์˜ ์„ค์ • ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. App Store Connect API ํ‚ค, Google Play ์„œ๋น„์Šค ๊ณ„์ • ๋“ฑ ์ƒ์„ธ ์ž๊ฒฉ ์ฆ๋ช… ์„ค์ •์€ pabal-store-api-mcp README๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

#3. JSON ๊ทœ์น™

  • ์•ฑ ํ•ญ๋ชฉ ์ตœ์†Œ ํ•„์ˆ˜ ํ•„๋“œ๋Š” slug์ž…๋‹ˆ๋‹ค.
  • --my-app์€ slug, name, appStore.bundleId, appStore.appId, googlePlay.packageName ์ค‘ ํ•˜๋‚˜๋กœ ๋งค์นญ๋ฉ๋‹ˆ๋‹ค.
  • ์ถœ๋ ฅ ๊ฒฝ๋กœ์˜ {myAppId}๋กœ slug๊ฐ€ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”.
  • ์ž๋™ ๊ฒฝ์Ÿ์•ฑ ํƒ์ƒ‰(--my-app๋งŒ ์‚ฌ์šฉ)์€ googlePlay.packageName ๋˜๋Š” appStore.appId ์ค‘ ์ตœ์†Œ 1๊ฐœ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

#4. (์„ ํƒ) ๋“ฑ๋ก ํŒŒ์ผ ๊ฒฝ๋กœ ์ปค์Šคํ…€

--registered-apps-path /your/path/registered-apps.json

#5. ๋น ๋ฅธ ๊ฒ€์ฆ

npm run review:collect -- --my-app golden-horizon --apps apps.json --limit 1

#๋ฌธ์„œ ์•ˆ๋‚ด

Getting Started - Pabal App Review Miner | Pabal | Pabal