Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
MVP for Prince William County, VA. Bloomberg-density terminal + spatial map +
RAG-backed memo generation over a 22-doc policy corpus. Internal review build,
target ship June 1, 2026.
The static data files (parcels_scored.json, the 15 PMTiles, 22 policy JSONs,
climate_baselines.json, policy_index.json, rag_chunks.json) live under
public/data/ and public/tiles/. To rebuild them from the source GeoJSONs:查看完整 README ↗MVP for Prince William County, VA. Bloomberg-density terminal + spatial map + RAG-backed memo generation over a 22-doc policy corpus. Internal review build, target ship June 1, 2026.
| Surface | Backed by |
|---|---|
| Decision Terminal — 156k-row virtualized table sorted by Vira Readiness | parcels_scored.json (147 MB, pre-computed nightly by preprocess_score_parcels.py) |
| Spatial Map — color-coded parcels + 15 toggleable overlay layers | parcels.pmtiles + 14 layer PMTiles (40 MB total), MapLibre + OpenFreeMap |
| Right Panel — 9 sub-scores, P10/P90 timeline projection, Conviction audit, dynamic source citations | synthesizeSubScores.ts + climate_baselines.json + policy_index.json |
| LLM Memo / Counter-Memo / Q&A — streamed Llama 3.3 70B output with BM25-retrieved citations | /api/memo → Groq Cloud + rag_chunks.json (1,523 chunks from 23 policy docs) |
# 1. Get a Groq API key (free, no card) at https://console.groq.com/keys
# 2. Copy the env template and paste your key
cp .env.local.example .env.local
# Edit .env.local — replace PASTE_YOUR_GROQ_KEY_HERE with the key
# 3. Install + run
npm install
npm run dev
# → http://localhost:3000
The static data files (parcels_scored.json, the 15 PMTiles, 22 policy JSONs,
climate_baselines.json, policy_index.json, rag_chunks.json) live under
public/data/ and public/tiles/. To rebuild them from the source GeoJSONs:
# 1. Download the PWC raw data (~8.6 GB) into a sibling directory:
# ../Prince William County/{Data Center Intelligence,Enviro + Permitting Risk,
# Natural and Environmental,Public and Political}/...
# Source: https://gisdata-pwcgov.opendata.arcgis.com/
# Override with PWC_DATA_ROOT env var if your layout differs.
# See docs/Overlay_Specification.md for the full file inventory.
# 2. From the repo root (vira-ui/):
python3 preprocess_score_parcels.py # ~12 min — parcel scoring (159k parcels)
python3 bake_map_layers.py # ~30s — overlay PMTiles
python3 build_rag_index.py # ~5s — RAG BM25 index
gzip -k -f public/data/parcels_scored.json # compress the table-feed JSON
# 3. Bake the parcel PMTiles (after preprocess regenerates the GeoJSON):
cd public
tippecanoe -o tiles/parcels.pmtiles --layer=pwc-parcels \
--minimum-zoom=8 --maximum-zoom=14 \
--drop-densest-as-needed --extend-zooms-if-still-dropping --force \
--include=GPIN --include=readiness --include=conviction \
data/parcels_scored.geojson
The Python pipeline is excluded from Vercel deploys via .vercelignore — it
runs locally before deploy. Documentation (this README + docs/) is included
in the deploy context but not served by the Next.js app.
# From vira-ui/
npm i -g vercel
vercel login
vercel link # link to a project (create new if needed)
# Set the LLM API key as a Vercel env var so it's available in production:
vercel env add GROQ_API_KEY production
# (paste the same key from .env.local when prompted)
# Deploy
vercel --prod
vercel.json configures: function max-duration (60s for /api/memo to cover
slow Groq runs, 15s for /api/tiles/[file]), cache headers for static data,
and pins to iad1 (us-east) to minimize round-trip latency to Groq's
east-coast endpoints.
Static assets larger than serverless body limits (the 147 MB
parcels_scored.json and 18-24 MB PMTiles files) are served by Vercel's CDN
directly, not through serverless functions, so the 4.5 MB function-response
ceiling doesn't apply.
7596-81-5396, Brentsville). Right
panel opens: readiness 65/100, conviction 100/100, sub-score bars with
per-quality badges (Measured / Modeled / Inferred), tag chips for every
spatial flag, a "documented opposition" callout citing 4 speakers from
the September 24 2025 Planning Commission meeting.✓ / strikethrough indicating which produced data for
this specific parcel.[N] citation chip linking back to the actual
policy JSON page that supports it. Click "Generate" in the red
Adversarial Counter-Memo block — same RAG corpus, flipped prompt,
listing the strongest 3-5 reasons NOT to invest.80 of 87 datasets in the source corpus actively contribute to the readiness index. Categories:
policy_mentions count + active_sup flag +
opposition speaker extraction. Also serves as the RAG corpus for memo
generation.The 7 unused datasets are duplicates of HIFLD transmission layers, generic PWC contours covered by Mass Points LiDAR, and minor utility data (culverts, control points) with negligible signal for hyperscale DC siting.
Before any live demo session:
npm run dev is running in a Terminal window the demoer controls
directly (don't rely on a backgrounded process).env.local has GROQ_API_KEY=gsk_…http://localhost:3000During the demo, the 6-step walkthrough above takes ~2 minutes total. If the LLM stream stalls (rare with Groq), say "let's flip to the adversarial view while it warms up" — the counter-memo button works independently and gives you a second LLM call against the same corpus.