尚未检测到更新。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.