Busabase
Busabase 是一个开源(MIT)数据库与 AI 智能体工作空间——将数据、文档、技能和应用集成于一体。您可以本地运行、在网络内自托管或使用 Busabase Cloud,从而开启新时代。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Open, non-commercial civic database of visible public surveillance infrastructure.
翻译准备中
正在加载完整 README。
查看完整 README ↗An open, non-commercial civic database of visible public surveillance infrastructure.
OpenSurveillanceDB is an open, non-commercial civic database that documents visible public surveillance infrastructure. It maps where cameras and automated surveillance systems are installed in shared spaces, so the public can understand what observes them.
It is not a tool for watching, tracking or bypassing lawful surveillance: the project publishes data about cameras, not feeds — context, not profiles; transparency, not tracking.
Help people understand the systems around them.
The project maps visible camera infrastructure in shared spaces, so the public can see what is installed nearby. It documents public-facing equipment only. It is not a tool for watching, tracking or bypassing lawful surveillance.
| What we document | What we do not collect | What the data cannot prove |
|---|---|---|
| Visible camera infrastructure, approximate location, type, source and a community status. | Camera feeds, credentials, private-home details, operational weaknesses, faces, licence plates or other personal data. | An absent record does not show that an area is free of surveillance. It only shows that no record is currently published there. |
Five commitments shape every decision in this project, from the data model to the community actions.
The boundaries are as important as the mission. OpenSurveillanceDB will never become any of the following:
/mappa): OpenStreetMap tiles served through a
same-origin proxy, viewport-first rendering, native grid aggregation at
national zoom, camera field-of-view cones/circles above zoom 16, a
keyboard-accessible marker popup with community actions./directory): text equivalent of the map — search,
filters, A–Z index, CSV/GeoJSON exports, ?page= pagination./records/[id]): facts, location (address + coordinates),
community status, a small interactive position map, a public event timeline,
and an owner-only edit page./segnala, /correggi): verified accounts
submit cameras or corrections with map/coordinate location selection,
reverse-geocode address prefill and a server-enforced duplicate gate.
Community actions (useful / confirm / no longer there / problem / privacy)
drive automatic, trust-weighted state transitions (ADR 0021)./api/cameras (JSON/GeoJSON/CSV), search, nearby, per-record
actions and events, tile and geocode proxies — documented on the built-in
/api-docs page, with a fail-open worker cache for public reads.scripts/import/ — per-source adapters, a
fail-closed licence gate, cross-source dedup, idempotency and per-batch
attribution on the /fonti page.Requirements: Node.js 22.13 or newer.
npm install
npm run db:migrate # apply the Drizzle schema migrations to a fresh local DB
npm run dev # vinext dev server on http://localhost:3000
Open http://localhost:3000. The database starts empty — no rows are inserted
at runtime. Two labelled illustrative pins for manual checks:
npm run db:seed
Useful commands:
npm run db:reset # non-destructive local reset (moves state aside, re-migrates)
npm run db:generate # regenerate a migration after changing db/schema.ts
npm run test # build + full test suite
npm run lint
npm run build # production build (dist/)
npm run db:provision # provision real moderator/admin accounts
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗