pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Real-time world events control room: 3D globe, live feed, AI briefs and watchlist alerts. Next.js 16 + Supabase + MapLibre, built with Claude Code parallel agents.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A real-time world events dashboard in a green-on-black "control room" style: earthquakes, wildfires, storms, volcanoes and world news, plotted live on a 3D globe, with a daily AI World Brief and personal watchlist alerts.
Inspired by koala73/worldmonitor. Built end to end with Claude Code, using parallel sub-agents in separate git worktrees (see How it was built).查看完整 README ↗A real-time world events dashboard in a green-on-black "control room" style: earthquakes, wildfires, storms, volcanoes and world news, plotted live on a 3D globe, with a daily AI World Brief and personal watchlist alerts.
Inspired by koala73/worldmonitor. Built end to end with Claude Code, using parallel sub-agents in separate git worktrees (see How it was built).
| Layer | Tech |
|---|---|
| App | Next.js 16 (App Router, Server Actions), React 19, TypeScript, Tailwind CSS v4 |
| Data | Supabase — Postgres + Row Level Security, Auth, Realtime, pg_cron |
| Map | MapLibre GL JS v6 + OpenFreeMap vector tiles (no API key) |
| Charts | Recharts |
| Tests | Vitest (unit), Playwright (e2e, desktop + mobile), GitHub Actions CI |
| Hosting | Vercel |
Data sources: USGS Earthquakes · NASA EONET · The GDELT Project (15-minute event exports) · GDACS disaster alerts · WHO Disease Outbreak News (© WHO, CC BY-NC-SA 3.0 IGO) · world news RSS from across the political spectrum (Guardian, HuffPost, Vox, NPR, Al Jazeera, BBC, DW, France 24, Crisis Group, Washington Times, Fox News, New York Post, plus Reuters, AP and Washington Examiner headlines via Google News), with each outlet's lean from AllSides Media Bias Ratings · opt-in sports RSS (BBC Sport, Guardian, Sky Sports, ESPN). Headlines remain © their publishers and always link to the original.
pg_cron (every 10 min) ──POST /api/ingest──▶ ingesters (USGS, EONET, GDELT, RSS)
│ fetchRaw → zod-validated normalize()
▼
Postgres `events` (upsert on source+external_id)
│ │ AFTER INSERT trigger
Supabase Realtime ▼
│ `alerts` for matching watchlists
▼
Browser: globe + live feed + SITREP (filters in URL)
pg_cron (daily) ──POST /api/brief──▶ select top events → LLM (or extractive) → `briefs`
lib/types.ts — the shared NormalizedEvent contract every ingester outputslib/ingest/* — one file per source, pure normalize() tested against saved fixturessupabase/migrations/* — schema, RLS policies, alert trigger, column grantscomponents/map/* — MapLibre globe and the custom green vector stylenpm install
cp .env.example .env.local # fill in your Supabase URL/keys and a random CRON_SECRET
# apply supabase/migrations/*.sql to your Supabase project (SQL editor or `supabase db push`)
npm run dev
# pull data once by hand:
curl -X POST -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/ingest
curl -X POST -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/brief
npm run lint && npm run typecheck && npm test # unit tests
npm run test:e2e # Playwright (builds + starts the app)
The project was built in phases with Claude Code, with independent modules developed in parallel by sub-agents in isolated git worktrees, then reviewed and merged by a lead agent:
Module ownership per agent is documented in CLAUDE.md.