Survival LLM
A free AI assistant and survival library (1.5 million offline articles) that runs on your own computer, with no internet. Shows the source of every answer. Mac and Windows.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Architecture exploration for a backend-less SPARC'd.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A workspace for building small, focused, mostly-static tools that work
alongside SPARC'd — each one
tuned end-to-end for a single feature.
A shared landing page ties them together at the deploy root. The uploader
and tagger share a connection gate and a saved-login session, so you
authenticate once and move between them; the explorer has its own sign-in.查看完整 README ↗A workspace for building small, focused, mostly-static tools that work alongside SPARC'd — each one tuned end-to-end for a single feature.
A shared landing page ties them together at the deploy root. The uploader and tagger share a connection gate and a saved-login session, so you authenticate once and move between them; the explorer has its own sign-in.
apps/sparcd-explorer — a marimo notebook that
signs in to the SPARC'd MinIO backend, loads a collection's Camtrap-DP
CSVs, and renders a Field Notebook view: a hex-binned map, a species
dashboard, stat cards, and drill-in tabs for images, detections, and
locations. Query filters apply on Search; display options tune presentation
live. Exports to a static Pyodide bundle that runs entirely in the browser
(see Static deploy).apps/sparcd-uploader — a static, browser-based tool for preparing and
uploading camera-trap image batches. Drop a folder; it scans JPEGs and MP4
videos, runs EXIF, SHA-256, and thumbnails in Web Workers, validates the
batch, then writes the canonical Camtrap-DP layout through the s3-safe
boundary. Dry-run by default.apps/sparcd-tagger — a static, browser-based tagging interface for
camera-trap images. It reads the same buckets, renders an upload's images
from presigned URLs, and writes back the canonical Camtrap-DP metadata the
other readers already consume.apps/sparcd-home — the shared landing page and app switcher served at
the deploy root.apps/sparcd-shard-proxy — a reverse proxy that presents one S3
endpoint as several origins, so a browser can upload over several
connections instead of the single one it coalesces onto per origin. It also
supplies the CORS that Ceph RGW has no service-level answer for. A Caddyfile,
a compose file, and a smoke test; recipes for a VM and for a Cloudflare
Worker.Each app's README.md (and plan.md where present) carries its full
design and phase breakdown.
apps/ solves a single concrete user
problem (a specific report, a specific view, a specific export). When a new
need shows up, we add a new app.@sparcd/s3-safe, an append-only boundary with no delete or copy API and
a single reviewed, ETag-gated conditional-replace path
(replaceIfUnchanged).apps/
sparcd-home/ # shared landing page + app switcher (static HTML)
sparcd-explorer/ # marimo notebooks for data exploration (Python, uv)
sparcd-uploader/ # batch prep + upload, BYO-S3 (TS, Vite)
sparcd-tagger/ # tagging interface, BYO-S3 (TS, Vite)
sparcd-shard-proxy/# multi-origin S3 proxy + CORS (Caddy, compose, smoke test)
packages/
auth-ui/ # shared connection gate + saved-login session
camtrap/ # Camtrap-DP data contract (readers, merge, time-shift)
s3-safe/ # S3 client boundary (append-only + reviewed replace)
types/ # shared TypeScript types
pnpm install # installs turbo and JS workspaces
pnpm --filter sparcd-uploader dev # Vite dev server (uploader) :5311
pnpm --filter sparcd-tagger dev # Vite dev server (tagger) :5312
pnpm --filter @sparcd/sparcd-explorer install:py # uv sync for the marimo app
pnpm dev --filter @sparcd/sparcd-explorer # marimo edit --watch
Or run every app's dev task at once:
pnpm dev
Testing features that cross the uploader–tagger boundary (shared IndexedDB,
flip hand-off, etc.) requires both tools on the same browser origin. The
sparcd-dev-proxy app starts a Vite proxy on port 5310 that routes both paths
to their own Vite servers. pnpm dev starts it automatically alongside the
other apps — navigate to either tool through the proxy port:
http://localhost:5310/sparcd-exploration/uploader/
http://localhost:5310/sparcd-exploration/tagger/
Hot-module reload works through the proxy because both routes explicitly forward WebSocket upgrade requests to their Vite server.
The Vite apps prefill the S3 endpoint from a gitignored
apps/<name>/.env (VITE_SPARCD_S3_ENDPOINT). Credentials are never
prefilled — they are entered at runtime.
mkdir apps/<name>package.json with name, private: true, and at least dev /
build scripts. Python apps wrap uv run … in their npm scripts.pnpm install to pick it up via the workspace.turbo.json (dev, build, lint,
start, check, test) will run across whichever apps implement them..github/workflows/pages.yml builds the landing page and each web tool and
publishes them via GitHub Pages on every push that touches an app, a shared
package, or the workflow itself. The
landing page sits at the root, with each tool under its own path
(/explorer, /uploader, /tagger). Live at:
https://culverlab.github.io/sparcd-exploration/
The deployed pages run entirely in the visitor's browser — the explorer runs Python via Pyodide, and the Vite tools talk to S3 directly. SPARC'd credentials are entered in the connection gate; there is no server-side secret. The S3/MinIO endpoint must permit CORS from the Pages origin for data fetches and uploads to succeed.
VOCABULARY.md — glossary of terms used consistently
across the tools and their codeREADME.md (and plan.md where present) — that tool's design,
data contracts, and statusdocs/design-system-field-notebook.md
— the shared visual design systemdocs/archive/ — superseded proposals and point-in-time
reports, kept as decision history; nothing there describes the current
system