尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
一個手機 PWA。按一顆情境鍵、點 0–2 個選項,值星班長下一道不可拒絕的命令, 你回報「完成/店關了/沒做」,完成就登記、沒做就罰則。每道口令自動寫進新兵日記, 週日 20:00 後產出莒光園地週報。 S1–S10 完成。已部署到 Vercel,/api/order、/api/weekly 在正式站可回應。 剩最後兩件事需要你本人:在 Vercel 填 ANTHROPIC_API_KEY(必要)、在 GCP 啟用 Places API (New)(可選)。 見 DEPLOY.md。進度在 state/decide-mvp-build.md。 TZ 不可省:tests/unit/diary.test.ts 有兩條斷言綁台北時區,在 UTC 機器上會紅。 先 npx playwright install webkit。2026-09-14 那輪 36 條全過(exit 0)。 2026-09-11 交付文件裡「WebKit 被 macOS sandbox 擋住、不得標記 E2E PASS」是那一輪的環境問題,已解除。檢視完整 README ↗
一個手機 PWA。按一顆情境鍵、點 0–2 個選項,值星班長下一道不可拒絕的命令, 你回報「完成/店關了/沒做」,完成就登記、沒做就罰則。每道口令自動寫進新兵日記, 週日 20:00 後產出莒光園地週報。
規格:DECIDE-DEV-DOC-v1.md 畫面基準:decide-mock-v5.html
S1–S10 完成。已部署到 Vercel,/api/order、/api/weekly 在正式站可回應。
剩最後兩件事需要你本人:在 Vercel 填 ANTHROPIC_API_KEY(必要)、在 GCP 啟用 Places API (New)(可選)。
見 DEPLOY.md。進度在 state/decide-mvp-build.md。
src/discovery.ts 加權抽樣(品質保底+曝光衰減+連鎖降權+偵察),候選池由 src/lanes.ts 輪替料理細類擴大,模型再也看不到候選清單。src/placeMem.ts 只在手機存 place_id 與時間戳;「換一家」要報原因(店關了/不想吃這類/不要再來),口令卡印「新據點/第 N 次/偵察任務」。src/price.ts)。docs/round3/STORE-LISTING.md、CAPACITOR-READY.md。docs/round3/(R1–R3、STRATEGY、DEV-PLAN-3)。Jev(TypeSafe)選配層:src/typesafe.ts、src/jevJudge.ts、scripts/taste-judge.mjs、scripts/effort-route.mjs,設 TYPESAFE_API_KEY 才會啟用。npm run replay # 離線重播:三方針 × 200 種子 × 14 天,新鮮度/品質門檻
npm run probe:lanes # 需要 GOOGLE_PLACES_KEY:實測每條料理細類 lane 回 200
npm run dev # 本機開發(同時把 api/ 掛成 /api/*,不必 vercel dev)
TZ=Asia/Taipei npm run typecheck && npm run test # STOP A
TZ不可省:tests/unit/diary.test.ts有兩條斷言綁台北時區,在 UTC 機器上會紅。
npm run build # STOP B
npm run e2e # STOP C:36 條 Playwright(WebKit,對齊 iPhone Safari)
先
npx playwright install webkit。2026-09-14 那輪 36 條全過(exit 0)。 2026-09-11 交付文件裡「WebKit 被 macOS sandbox 擋住、不得標記 E2E PASS」是那一輪的環境問題,已解除。
npm run e2e:shots # STOP D:產 shots/ 七張截圖,對照表在 shots/CHECK.md
npm run smoke # 真 curl 打 /api/order,上游用本機假伺服器頂替
npm run check:bundle # 在本機重建 Vercel lambda 版面,確認 api/ 真的載得起來
npm run dev與npm run smoke走 vite 的ssrLoadModule,解析得了.tsspecifier, 所以本機永遠綠燈、抓不到「上線才會爆」的兩類問題(src/沒進 lambda、export default形狀錯)。check:bundle就是補這個缺口的,改api/或vercel.json之後一定要跑。
src/
app.tsx 單頁狀態機 home→intake→cmd→(log|stand);diary;weekly
cards.ts 7 張模組卡(第 6 節)
officers.ts 3 位班長,語料三層各 24 句(第 7 節)
banned.ts 護欄字表:罵行為不罵人
avatar.tsx SVG 角色(第 14 節資產介面,繪師交件當天可換)
meme.tsx 梗圖卡(兩欄 grid,角色不壓字)
diary.ts IndexedDB 讀寫、週統計
api.ts 呼叫 /api/*,錯誤分類
prompt.ts 系統提示詞
rules.ts 算得出來的硬規則(attend/sleep/buy/reply)
orderParse.ts Claude 回傳的四層解析
places.ts Places 過濾與距離
api/
order.ts Places → Claude → Order JSON
weekly.ts 本週日記 → Claude → WeeklyReport JSON
金鑰只存在於 api/,前端永遠不碰。無 DB、無 cron、無推播。
第 6 節那些「算得出來」的規則——attend 的 ★≤2、sleep 的熄燈時間、buy 的 72 小時、reply 永遠 do ——都在伺服器端算好、塞進提示詞,並在拿回模型的答案後再強制蓋一次。 模型只負責語氣與內容,判定權不在它手上。單元測試直接驗這些規則。