pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
An MLB odds line-shopping tool: pick a price range with a slider and see every US-legal sportsbook currently quoting a line in that range, alongside each team/side's rolling historical hit rate and two side-by-side EV estimates (de-vigged market consensus vs. historical hit rate).
Research/discovery tool only in v1 — no bet placement or tracking.
See /home/codespace/.claude/plans/sequential-moseying-treehouse.md (or ask Claude) for the full design rationale and milestone plan.檢視完整 README ↗A multi-sport odds and props app: every price at every book next to ARCHR's own model, for NBA, NFL, UFC, MLB, soccer, tennis and F1.
/models.It's a research tool: it doesn't place bets.
| Path | What |
|---|---|
/ | Home: today across every sport |
/slate | The odds Slate: every game, every market, best price vs ARCHR |
/nba, /nfl, /mlb, /ufc, /f1 | Sport pages (boards, game/bout pages) |
/nba/props, /nfl/props, /mlb/props, /ufc/props | Player and fighter props |
/sports, /sports/<sport>, /sports/<sport>/props | The all-sports engine: soccer, tennis and every other league the feeds carry, with soccer and tennis props |
/models | Model report cards |
/api/cron/* | Background jobs (bearer CRON_SECRET) |
/api/health, /api/status | DB connectivity; job freshness and compute budget |
Design notes live in docs/architecture/. Start with operations.md (schedule, compute budget), MODEL-FRAMEWORK.md, and the per-sport props docs (nba-props.md, NFL-ADVANCED.md, MLB-PROPS.md, SOCCER-PROPS.md, TENNIS-PROPS.md, UFC-PROPS.md).
src/generated/prisma; import it from @/generated/prisma/client.Data sources:
Requires Docker (for local Postgres). Odds keys are optional: without one, the app still runs on ESPN's free lines, and ARCHR's own prices still show.
cp .env.example .env # every variable, with what it does; fill in what you need
docker compose up -d # local Postgres on :5432
npx prisma migrate dev # apply the schema
npm run dev # http://localhost:3000
npm run lint # eslint
npm run typecheck # tsc --noEmit
npm test # vitest
npm run build # production build
npx prisma studio # browse the local DB
Run any job locally with curl -H "Authorization: Bearer $CRON_SECRET" localhost:3000/api/cron/<job>.
Vercel Cron runs one route, /api/cron/tick, about 20 times a day. Each tick wakes the database once and runs every job that's due, by its own cadence or at fixed hours: odds, fixtures, results, box scores, history imports, grading and the Discord posts. The schedule lives in src/lib/ops/schedule.ts.
Pages also refresh the data behind them when it's stale. Viewing a page wakes the database anyway, so this costs nothing extra.
Why it's built this way: the production database is billed by the hours it's awake. See docs/architecture/operations.md.
GitHub Actions call the same /api/cron/* routes. They're manual, except the weekly Model Lab:
model-lab.yml: weekly (Monday), plus manual. Runs the backtests and fits against production, and saves the report cards behind /models.sync-free.yml: health check plus a one-off refresh.backfill-history.yml, all-sports-fill.yml: one-time history fills.poll-odds*.yml, poll-player-props.yml: on-demand odds polls. These spend credits.fire-card.yml, results-tick.yml: post the Discord card or recap now.reset-ledger.yml: wipes the results ledger. Destructive.ops-status.yml: read-only status.ci.yml: lint, typecheck, tests, build.The workflows need two repo secrets (Settings → Secrets and variables → Actions): APP_URL (the deployed base URL) and CRON_SECRET (the same value as the deployment's). Model Lab also needs DATABASE_URL.