PS Store Enhancer (formerly GameDeals+, then PS Store Insight) — Chrome extension: price history, cross-platform comparison, review scores, trophies, wishlist alerts, live search suggestions. 10 languages.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗| Feature | Description |
|---|---|
| 🔎 Live Search Suggestions | Enriched dropdown (thumbnail + PC price) as you type in the store search box |
| 📉 Price Insight | Real lowest-ever PC price (with date), today's cheapest, "near the all-time low" flag, and a trend from prices your own browser recorded — never an invented chart |
| 🔀 Cross-Platform | Price comparison for the exact game — Steam, Epic, GOG, Humble (CheapShark) — never a DLC, map or sequel; plus usual-sale hints |
| 🎁 Edition Transparency | Flags cross-platform prices that are for a different bundle/edition (Deluxe, GOTY, etc.) than the page you're on |
| 📊 Review Scores | Metacritic (PC) and Steam rating badges next to the game title, via CheapShark |
| 🏆 Trophy Info | Platinum, difficulty, time, completionist effort score, price per hour, "similar difficulty" picks + live PSN progress |
| 🧩 Your page, your cards | Collapse, reorder or hide the cards; share a deal as an image; high-contrast theme; first-run tour |
| 🔗 PSN Sync | Connect PSN account to auto-sync game library & DLCs |
| ✓ Mark as Owned | One-click button on product pages |
| 📈 Library & Wishlist Stats | Dashboard: games owned, wishlist size, total wishlist value, deals ready to buy |
| 🔔 Toolbar Badge | Live count of wishlist deals at/below target price on the extension icon |
| ⭐ Wishlist | Price or % targets, notes, sort/filter, weekly digest, read-only share link, PS Store price seen on the page |
| 🛠 Diagnostics & privacy | Local diagnostics log (no secrets) and a one-click "Erase all my data" |
| 🧹 Smart Filters | Hide add-ons, DLC, currency packs, and owned games |
| 🗣️ 16 Languages | EN, HE, AR, ES, FR, DE, IT, PT-BR, NL, PL, TR, RU, JA, KO, ZH-CN, ZH-TW + manual selector |
| 💾 Smart Cache | TTL-based caching (4h–7d) with cache management UI |
gamedeals-plus/
├── extension/ ← Chrome extension (load this in developer mode — the source of truth)
│ ├── manifest.json Manifest V3
│ ├── background.js Service worker — message router, wishlist, alarms
│ ├── cheapshark.js Exact-game lookup: deals, all-time low, Metacritic/Steam ratings
│ ├── content.js DOM injection — cards, badges, filters, live search
│ ├── content-extras.js Share-deal image, first-run tour, one-time review prompt
│ ├── styles.css PlayStation-themed styles (light, dark, high contrast)
│ ├── psn.js PSN authentication & library API
│ ├── cache.js, diag.js Smart cache with TTL; local diagnostics log
│ ├── match.js, helpers.js Pure helpers (title matching, snapshots, scores, …), unit-tested
│ ├── data/trophies.json Community-maintained trophy / completionist data
│ ├── i18n.js Multi-language support with manual override
│ ├── popup.html / .js Quick controls popup
│ ├── options.html / .js Full settings page + Library & Wishlist stats
│ ├── welcome.html Onboarding page (shown on first install)
│ ├── changelog.html / .js In-extension "what's new" page
│ ├── icons/ Extension icons (16, 48, 128)
│ └── _locales/ 16 language translations (278 keys each)
│
├── assets/ ← Everything for the Chrome Web Store listing, social media & website
│ ├── README.md What's here and why (incl. why docs/assets/ duplicates a few files)
│ ├── EDGE-LISTING.md How to publish the same build to Microsoft Edge Add-ons
│ ├── STORE-LISTING.txt Full description, privacy justifications
│ ├── REVIEWER-NOTES.md Notes for Chrome Web Store reviewers
│ ├── icon.png, store-icon-128.png Logo / store listing icon
│ ├── badges/ One graphic per released version, used in CHANGELOG.md
│ ├── promo/ Promotional tiles (440×280 small, 1400×560 marquee)
│ ├── screenshots/en, /he Store screenshots, per language
│ └── docs/ GitHub Pages site — self-contained (own assets/ subfolder)
│ ├── index.html Landing page (feature tour + screenshots)
│ ├── wishlist.html Read-only viewer for shared wishlist links (list lives in the URL #fragment)
│ ├── privacy-policy.html Privacy policy
│ └── assets/ Website-only image copies (kept separate on purpose, see assets/README.md)
│
├── dist/ ← Latest build output (git-ignored, regenerate with scripts/build.py)
│ ├── ps-store-enhancer-vX.Y.Z.zip Ready to upload to the Chrome Web Store
│ └── extension/ Same thing, unpacked (for quick "Load unpacked" testing)
│
├── archive/ ← Superseded assets kept for reference (old icons, old docs, etc.)
│
├── scripts/
│ ├── build.py Builds dist/ (Chrome; `--target firefox` is experimental/untested)
│ ├── check-apis.py Live check of CheapShark/Frankfurter (nightly in CI)
│ └── check-csp.py MV3 CSP guard (no inline scripts/handlers/eval)
│
├── tests/ Jest suites (matching, helpers, service worker, i18n, trophy data) + fixtures
│ └── harness/ Browser harness: real pages + mocked chrome.* (see its README)
├── .github/
│ ├── workflows/ CI (lint+tests on PR) + Release (build + publish on tag)
│ ├── CONTRIBUTING.md How to contribute
│ ├── TESTING.md Automated + manual test plan
│ └── MESSAGING.md The service-worker message API
├── CHANGELOG.md Full version history, human-readable
├── .gitignore
├── LICENSE
└── README.md This file
chrome://extensionsextension/ folder(Link will be added after publishing)
Connecting your PSN account is optional. When connected:
How to connect:
| Language | Code | RTL |
|---|---|---|
| English | en | No |
| עברית (Hebrew) | he | Yes |
| العربية (Arabic) | ar | Yes |
| Español | es | No |
| Français | fr | No |
| Deutsch | de | No |
| Italiano | it | No |
| Português (BR) | pt_BR | No |
| Nederlands | nl | No |
| Polski | pl | No |
| Türkçe | tr | No |
| Русский | ru | No |
| 日本語 | ja | No |
| 한국어 | ko | No |
| 简体中文 | zh_CN | No |
| 繁體中文 | zh_TW | No |
Language can be set manually in Settings → Extension Language.
| API | Purpose | Auth |
|---|---|---|
| CheapShark | Exact-game lookup, cross-platform prices, all-time low, Metacritic & Steam ratings, live search suggestions | Free, no key (needs a real User-Agent — a browser provides one) |
| Frankfurter | Daily currency exchange rates | Free, no key |
| PSN (Sony) | Library sync, trophies (optional) | NPSSO OAuth |
| PSPrices | Price history link | Link only |
| PSNProfiles | Trophy guide link | Link only |
| HowLongToBeat | Completion-time link | Link only |
assets/docs/privacy-policy.html is already hosted via GitHub Pagespython scripts/build.py → upload dist/ps-store-enhancer-vX.Y.Z.zipassets/STORE-LISTING.txtassets/screenshots/assets/promo/# Install dependencies
pnpm install
# Unit tests (Jest) — matching, helpers, service worker with real API fixtures, i18n
pnpm test
# Lint + JSDoc type check + MV3 CSP guard
pnpm run lint && pnpm run typecheck && pnpm run check:csp
# Live check that CheapShark / Frankfurter still answer as expected
pnpm run check:apis
# Build dist/ (Chrome); `pnpm run build:firefox` is an experimental, untested target
python scripts/build.py
# See the UI without installing: real pages + mocked chrome.* in any browser tab
python tests/harness/server.py
See .github/TESTING.md for the automated + manual test plan before a release. Optional: pnpm run hooks:install runs the fast checks before every commit.
Contributions welcome! See .github/CONTRIBUTING.md.
This extension is not affiliated with, endorsed by, or connected to Sony Interactive Entertainment, PlayStation, or any of their subsidiaries. PlayStation is a registered trademark of Sony Interactive Entertainment. All product names, logos, and brands are property of their respective owners.
MIT License — see LICENSE for details.