📖 名詞速查(看不懂的詞點這)
- cron / 定時稽核:系統每隔幾小時自動「健檢」一次 app,找問題。
- audit / 稽核:一次健檢報告。
- 急修 P0:最嚴重、要馬上修。次要 P1:重要但不急。P2:小改善。
- 掃到 N:這輪健檢總共找到幾個問題。
- 5 個 AI 稽核:派 5 個 AI 從不同角度(題目品質 / bug / 體驗 / 語音 / 玩家視角)一起檢查。
- 架構建議 (ARCH-REC):要不要改技術做法的建議。
- ROI:投報率(做了划不划算)。effort S/M/L:工作量 小/中/大。
- 快照 snapshot:把目前狀態整理成一份摘要。
- deploy / 部署:把改好的版本推上線。
- 接這條:複製一段指令,貼到新的 Claude 對話就會自動修。
Q&A 對照表 SOURCE OF TRUTH
章節 / 題型 / 搜尋 · 對照遊戲 sentence / question / 答案
Q&A 數據總覽 DECISION
32 章 · 224 單元 · 2,472 題 · 題型佔比 + spec drift 警示
UI/UX 標準
v3.2 童話版
7 題型 + 2-col mobile · 禁 ✓ · 規則對齊修正 · UX 比例參考
🗺 Map
🐱 Profile
⭐ Tasks
📖 ×7 題型
+4
載入中…
🎯 一鍵指令 (複製 → 下次 session 貼)
🔬 架構建議 Architecture · 業界 2026 掃描
每次 cron 掃業界做法 → 分析 Pickup 適配 → 推薦是否改架構. 自動顯示最新一筆 (audit-file 驅動, 不再累積).
載入中…
📌 一次性 Todos
設定一次永久解決,跟「定時稽核」的急修不同性質的基礎建設任務
🔑 永久 token 設定 — 從此 deploy 不卡 infisical login
- infisical dashboard 建
desktop-deployMachine Identity - 配 Universal Auth method, TTL=0 (永久)
- 創 Client Secret, copy Client ID + Secret 到 1Password
- wordwar + cheng.robot project 各 Add Identity
- PowerShell admin 設 2 條 SetEnvironmentVariable
- 新 PowerShell echo $env:INFISICAL_UNIVERSAL_AUTH_CLIENT_ID 驗證
- 跑 deploy 測試一次,跟 Claude 報「永久 token OK」
🗄️ 後端啟用 — 程式碼已 ship (B.308),剩你外部 provision
- P1+P2 (作弊堵死,先做這個):
wrangler d1 create pickup-dbwrangler d1 execute pickup-db --remote --file=migrations/0001_init.sql- CF dashboard → Pages → pickupwords → Settings → Functions → D1 database bindings:Variable name =
DB選 pickup-db(用 dashboard 綁,別寫 wrangler.toml 假 id — 會讓 deploy 掛) - 同頁 Variables and Secrets:設
JWT_SECRET(任意長隨機字串) - 重新部署 → 開 app 自動領匿名帳號 + 上推進度;換裝置驗證同步;改 localStorage 重開被洗掉 = 作弊堵死
- P3 (家長 email,選): 設
RESEND_API_KEY+ 驗證寄信網域 - P4 (金流,上架時): Stripe →
STRIPE_SECRET+STRIPE_WEBHOOK_SECRET+ webhook 指向/api/iap/verify;Apple → IAP 商品 +APPLE_SHARED_SECRET
🔔 站外提醒 (真實 push 通知) — 以後再做
- 目標:app 關著時也能提醒「奶奶今晚的故事在等你」(真站外 push)
- web:PWA Service Worker Push API + VAPID key + 後端排程發送 (接 D1 後)
- iOS:Capacitor 原生 local/push notification (上架後)
- copy framework 舊稿在 git 歷史 (B.311 砍的 src/notifications/copy.ts) 可參考
📱 平板 UI/UX + 橫屏 (landscape) — 以後做
- 偵測 tablet / 寬螢幕 → landscape 版面 (地圖 + lesson 兩欄或置中加寬)
- lesson 橫屏: 圖片槽放左、選項放右 (利用寬度)
- 地圖橫屏: 路徑加寬 / 多欄, 不要只置中一條
- 沿用手機版「完全符合螢幕、不外溢」規則 (B.315) 套到平板尺寸
- 測 iPad Safari + Android 平板 + 橫豎切換不破版
🎧 Capacitor 原生音訊 — 外部音樂混音 + 題目語音不壓 — 上架時做
- 目標:玩家自己耳機的音樂 + app 同時播,且題目語音 (TTS) 絕對不被壓低(鐵則 #5)
- iOS: AVAudioSession category
.ambient+.mixWithOthers→ 不中斷外部音樂 - 但題目語音播放時要全音量蓋過(或短暫 duck 外部音樂),BGM 可降(現有 duckBgm 已只降 BGM)
- web 端現況:設定可關 BGM 讓外部音樂播(已做 B.329);完整混音是原生才有
- Android: AudioManager focus gain transient-may-duck 對應設定
🤖 啟用 cron 自動修(全部安全的都修,剩下分隔報告)
- 已備好:
tools/check-answer-index.cjs(答案位置防竄改護欄)+docs/standards/auto-fix-tiers.md(分級+gate) - 啟用步驟:複製下面 prompt → 貼到 claude.ai/code/routines 的「content cron」routine,取代原本「只寫 audit」的 prompt
- 全部修:Tier A 機械式 + Tier B 內容改寫,只要過 build + 答案不變就自動修+merge
- 剩下分隔出來:Tier C 結構/判斷 + 任何沒過 gate 被還原的 → 不自動改,寫 audit + Telegram 逐條列給你看
- 只動 lessons、碰正解/schema/標準 = 禁;想保守回 Tier-A-only:prompt 第 4 步加「只 Tier A」
🔄 2026-06-09 React Native Pivot
6 個跟 Web/DOM/Phaser/Web Audio 強綁的項目已搬到 📦 archive →。仍適用但實作要換棧的項目加 ⚠️ 標籤。