尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Live air quality and outdoor comfort for 62,000 cities. Fourteen environmental signals, not one index. Community sensors corrected against the model where they disagree.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Live air quality and outdoor comfort for 62,000 cities, at airsignal.app.
Most air quality sites print one index number. A person does not go outside for PM2.5 — they go out into a combination of heat, wind, UV, pollen, sea state and daylight, and one number cannot say "the air is clean but the UV will burn you in twenty minutes", which is the actually useful sentence. So this scores fourteen environmental signals and says which one is costing the points.
The part no other air map does: community sensors cost about fifty euros and read several times high in humidity or beside a road. Where they disagree with the atmospheric model, this site says by how much and resolves it rather than averaging. In Moscow the model said 130 µg/m³, ten devices agreed on 6.7, and the answer is 6.2 — the average would have been 68, and 68 was never true anywhere.
airsignal.app/crew is Crew Air: an hour-by-hour shift plan for an outdoor crew under California's wildfire-smoke rule (Cal/OSHA §5141.1) and heat rule (§3395). It recomputes the EPA NowCast from hourly PM2.5, checks it against the nearest AirNow monitor and NASA VIIRS fires, takes crew reports and sky photos, and prints the record an inspector asks for. Built at the Stanford Cleantech Hackathon, October 2026.
output: "server", on Cloudflare Workerscli/ writes the city and sensor data; the worker writes only what people
send it: crew and air reportswasm_crew_plan)Everything a search engine or an agent needs is in the HTML before any script runs. Every page also answers with Markdown if you ask for it, and there is an OpenAPI document and an A2A endpoint.
cli/main.ts the CLI: seed, expand-cities, ingest, backfill, cpf, integration
cli/upstreams.ts every network call, with the response shape narrowed here and nowhere deeper
db/schema.sql the data model
src/lib/site.ts origin, brand, the 14 signals, bands, URL shapes
src/lib/db.ts the only module that knows D1 exists
src/lib/signals.ts readings → scores, shared by the ETL and the browser
make help lists the commands. CLAUDE.md is the map of the rest, including the mistakes that
shaped it — the ones worth knowing before changing anything are in "Gotchas found the hard way".
AGPL-3.0. Use it, study it, change it, run it, charge for it. If you run a modified version somewhere other people can reach it over a network, section 13 says those people are entitled to the source — which is why the footer of this site links to this repository, and why yours would have to link to yours.
That obligation is the whole reason for the licence. The scoring curves and the merge were derived from measurements volunteers give away for free, and taking that, improving it and keeping the improvements private is the one use this is meant to prevent. Commercial use is not.
The data is not covered by the code licence and carries its own terms — Sensor.Community and OpenStreetMap are ODbL, which is share-alike on derived databases. See NOTICE.