尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證The live status of every AI, as weather.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗The live status of every AI, as weather. aiweather reads the official status pages of 48 AI companies (the model labs, the clouds that serve their models, coding tools and creative tools) and draws them as one live sky: clear when everything works, clouds, rain and storms as things break.
Live at https://aiweather.synteq.app
Grok is read in each visitor's browser: xAI's official status JSON (data.x.ai/status/*.json) is open to browsers
(CORS) but turns servers away, so web/src/browser-sources.js fetches it client-side, the same way status.x.ai does.
If a browser can't reach it, the card falls back to the server's reading of xAI's official incident feed.
See source coverage and news sources for every company.
Node 22+ and npm workspaces; no API keys or paid services.
npm install
npm run dev # server in watch mode, http://localhost:8787
npm test # offline tests: adapters, state, uptime, news, HTTP and WebSocket
npm run build # compiles server/ and builds web/ into web/dist
npm start # the compiled production server
npm run demo # a scripted storm from recorded data; never polls live sources
PORT defaults to 8787; the listener binds 0.0.0.0. Demo mode is only on with DEMO=1, never implicitly.
The site is plain ES modules with no bundler: web/build.mjs copies web/public and puts the modules (and the
weather icons) under a content-hashed /s-<hash>/ path, keeping the last few builds so a page left open across a
deploy still finds its files. The server serves web/dist with SPA fallback, no-cache HTML, ETags and immutable
hashed assets, and sends JSON and text brotli/gzip-compressed (each compressed body is made once per version).
npm i -g synteq
synteq login # once, in your own terminal
scripts/release.sh --create aiweather --plan free # first deploy, from the repo root
scripts/release.sh --app aiweather # every deploy after that
scripts/release.sh ships only the committed app (server/src, web, shared and the root package files), about
9 MB. The server answers on PORT, builds with npm run build and starts with npm start (about 160 MB resident).
Live state is in memory, so a redeploy starts with an empty "Latest changes" list.
GET /api/snapshot: every company's current state (the Snapshot type in shared/types.ts).GET /api/uptime, GET /api/uptime/:id: official daily history and uptime figures.GET /api/news, GET /api/news/:id: each company's latest official news.GET /api/health: readiness, uptime, and each source's last success, error and latency. ok: true does not
mean every upstream is healthy.GET /ws (upgrade): a snapshot on connect, then event and company changes; a JSON ping every 25 s, carrying each
company's last good read (fetched, by id) and answered with {"t":"pong"}. Unresponsive or backlogged clients are
disconnected.unknown; known incidents are never
silently resolved.ws, fast-xml-parser, cheerio (official news pages) and undici; tsx and TypeScript are
development tooling.npm -w server run record # refresh the recorded responses the tests use
npm run build
PORT=8788 node server/scripts/live-check.mjs # five minutes of real polling with a memory and health report
The code is MIT. Fonts, company logos, sky footage and recorded test responses keep their own licenses: see THIRD_PARTY_NOTICES.md.