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,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A growing collection of single-page, themed, interactable webpages used as in-game props during D&D sessions. Players touch them on an iPad at the table.
Hosted on GitHub Pages. Live at https://spourshalchi.github.io/campaign/ (rename pending).
The story lives in the brainstorm doc — that's the only place canon is made.
Props and the codex have generated a lot of connective tissue on their own, so CANON.md
tracks every claim as either 📗 in doc (with the session it came from) or 🟡 not canon (invented here).
The codex renders the same statuses as badges and has a Not Canon Yet tab.查看完整 README ↗A growing collection of single-page, themed, interactable webpages used as in-game props during D&D sessions. Players touch them on an iPad at the table.
Hosted on GitHub Pages. Live at https://spourshalchi.github.io/campaign/ (rename pending).
.
├── index.html ← landing page (Programs menu)
├── aim/ ← Haunted AOL Instant Messenger prop
│ ├── index.html
│ └── sounds/
├── puzzle/ ← Torn newspaper page prop
│ ├── index.html
│ ├── README.md
│ └── assets/
├── settlement/ ← The 1931 Articles of Settlement (the deed)
│ └── index.html
├── photo/ ← The party-room photograph (Bix's beat)
│ └── index.html
├── codex/ ← DM-facing campaign codex (not linked from the landing page)
├── run/ ← DM-facing "Run of Show" — the day-of prompt book (not linked either)
├── CANON.md ← canon ledger: what came from the brainstorm doc vs. what an AI made up
├── PROPOSALS.md ← parked work-in-progress, agreed to by nobody
├── AGENTS.md ← agent guide for adding new props (CLAUDE.md imports it)
├── README.md ← this file
└── split_sounds.py ← utility for splitting WAV dumps into clips
The story lives in the brainstorm doc — that's the only place canon is made. Props and the codex have generated a lot of connective tissue on their own, so CANON.md tracks every claim as either 📗 in doc (with the session it came from) or 🟡 not canon (invented here). The codex renders the same statuses as badges and has a Not Canon Yet tab.
| Prop | Path | Vibe |
|---|---|---|
| AIM | aim/ | Haunted 2000s AOL Instant Messenger. The buddy is the kid Poe Boy soul-caged into the machine — the branching tree pulls the whole confession out of him, and ends with him sending the party a file: the recording of his own death, over AIM's file-transfer window. That USB is what wins the finale. |
| Torn Page | puzzle/ | 1937 newspaper front page, cut up in front of them by a trap in the binding. Reassemble, flip for the page-2 lore, and check the pocket card for who borrowed it last — including V. Soprano, 1938, which is where Gnomey's tie to the house gets hinted. Springing the trap is what summons the developer to the house that night. See puzzle/README.md |
| Invite | invite/ | The haunted-house invitation, ~7PM, homemade and clip-arty. |
| Settlement | settlement/ | The 1931 contract from the strongbox in the study. Opens folded; tap to unfold. Two drunk men signed away a mansion over $11.40, and the only paragraph on the page with no corrections in it is the one that makes Gnomey the owner. |
| Photograph | photo/ | A flash snapshot from the party room — two vampires mugging, a pregnant goblin laughing, and a fae with no fangs. Tap to turn it over for the writing on the back. Bix's beat: hand Will the iPad and say nothing. |
| Codex | codex/ | DM-facing campaign reference — to-do list, relationship web, backstory, story flow, cast, weekend plan, and combat encounters with the XP budgets. Not a player prop, and deliberately not tiled on the landing page so it can't be opened at the table by accident. |
| Run of Show | run/ | DM-facing day-of view — the codex's story flow turned into an arrow-key prompt book. Each cue carries read-aloud text, beats, skill checks, combat stat blocks, NPC voicing, hand-out reminders, and a synthesized soundboard (ambience + stings, no files), plus an initiative tracker, d20 roller, hand-out checklist and session timer. Also DM-only and not tiled. See run/README.md. |
| Thing | Why it matters |
|---|---|
scream_test_03_GOOD.wav | The recording that plays over the PA in the finale. The single biggest table moment in the campaign, and it's a file you hit play on. |
| A real USB stick | Handed to the players when the Spirit uploads. Put the .wav on it, and set its volume label to the dead kid's name — Sesh 8 makes the mount the moment the table learns who he is. |
| A blue poker chip | A physical chip to hand Julia at session one, never explained. The set in the study is exactly one short, and the mark on it matches the seal on the settlement. |
| The wishing willow | The second thing in the backpack — the love-spell token Simone sold the dead kid, with I want Angelique to notice me on the slip. |
| DJ show flyer | 3AM, Dood Mansion, bills Poe Boy / Lil Stinky / Angelique. |
| Food-stash puzzle | The mansion's own puzzle — the one that clears the vampires. |
See AGENTS.md for the full pattern + iPad/iOS gotchas. Short version:
mkdir <prop-name>/<prop-name>/index.html (single self-contained file — HTML + CSS + JS + assets folder beside it)index.html linking to /<prop-name>/main. GitHub Pages redeploys in ~30–60 seconds.file:// doesn't work — fetch() and audio are blocked. Always serve via HTTP:
python -m http.server 8000
# Open http://localhost:8000 in any browser
# Or http://<your-LAN-ip>:8000 from the iPad on the same Wi-Fi
?v=<n> to the URL or delete + re-add the iconIf a sound source comes as one big WAV with multiple clips:
python split_sounds.py
Detects silent gaps and chops the file into numbered clips. Tweak the constants at the top of the script if it splits poorly. Update INPUT_PATH to point at the dump file for your new prop first.