尚未检测到更新。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 ——都在伺服器端算好、塞進提示詞,並在拿回模型的答案後再強制蓋一次。 模型只負責語氣與內容,判定權不在它手上。單元測試直接驗這些規則。