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。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗同人サークルの紹介・作品展示と、日替わりの育成ウマ娘占い。Next.js 15 / React 19 / TypeScript。
npm ci
npm run dev
開発サーバーは http://localhost:3000 。Node.js 22 LTSを推奨。
npm run check # CSV/JSON整合性、型、Lint、占いロジックの回帰テスト
npm run build
npm start
app/page.tsx、components/Site.tsx:トップ。760px以下はcomponents/lab/、761px以上はcomponents/pc/。components/shared/:PC・スマホ共通の部品(art.tsxの画像枠・ロゴ、Crystal.tsxの水晶球、PageViewer.tsxの試し読み)。lib/data.ts:作品、プロフィール、イベント、SNS。PC・スマホ共通。lib/use-site-effects.ts:ローディング・表示アニメーション・スクロール進捗・作品ビューア・背面スクロール固定。use-dialog-focus.ts:ダイアログ内のフォーカス管理。swipe.ts:スワイプ判定。app/styles/base.css:全ページ共通の色・フォント・要素リセット(ルートレイアウトで読み込み)。app/styles/desktop.css:PC、mobile-base.css:スマホ、mobile.css:mobile-base.cssを760px以下に限定して読み込む。app/globals.css:画面切り替え、画像枠、試し読み。crystal.css:共通の水晶球。app/fortune/:占い・共有結果・OG画像。トップとはグローバルCSSが異なるため、ページ間は通常のリンクで移動。lib/fortune-data.ts:抽選、共有コードの復元。fortune-store.ts:ブラウザ保存。public/images/:配信用画像。Images/:Git対象外の元画像。画像加工の自動スクリプトは未整備。同じCSSファイルを、あるページでは@import … screen and (max-width: 760px)、別のページでは条件なしで読み込まないこと。ビルド時に1つにまとめられ、どちらかの条件が失われる(PC表示にスマホ用CSSが効く等)。
character.csvのname / name_en、scenario.csvとitem.csvのname、運勢名CSVのcommentを読み込む。No.とcategoryは抽選に使わない。
npm run data:generate
npm run data:check
dev/build開始前にも生成する。開発中にCSVを編集したら再生成する(CSVの自動監視はない)。ルートのその他のCSVも運勢コメントとして処理するため、無関係なCSVは置かない。
共有コードはYYYYMMDD-rank-item-uma-scenario-message。数字は配列の添字。既存の行の削除・変更・並べ替え・途中挿入を避け、末尾へ追加する。 生成時に既存JSONとの前方一致を検査し、互換性を壊す更新を拒否する。生成JSONを手で書き換えて検査を回避しない。英語名の修正は可能。
古いコメント番号なしのコードと、現在は抽選しない「吉」も維持する。F_RANKSの既存順序も変更しない。訂正で既存候補の意味を変える必要がある場合は、先にデータのバージョン管理と旧コード復元の移行設計を行う。
作品の追加時は注目作品の参照とヒーローの年・仕様表示、統計も確認する。イベントは古い順、頒布実績は売り子参加を含まない固定値。
端末のローカル日付で1日1回、育成ウマ娘のみ5回まで再抽選する。同日中は同じ候補を繰り返さない。localStorageキーlab-fortune:v1と保存形式を維持する。
日付変更、復帰、別タブの保存変更を反映し、日付をまたいだ未完了抽選は取り消す。ブラウザ保存不可の場合はメモリ内で継続する。複数タブの変更は同期するが、localStorageにはトランザクションがないため、別タブの厳密に同時の書き込みをサーバーのようには排他制御しない。回数制限はアカウント単位の保証ではない。
Vercel以外では環境変数SITE_URL=https://公開ドメインを設定する。VercelではVERCEL_PROJECT_PRODUCTION_URLを使用でき、SITE_URLが優先される。どちらも未指定なら開発用http://localhost:3000を使う。
画面のWebフォントと共有OG画像のフォント取得はGoogle Fontsに依存する。OG画像は有効なコードについて長期キャッシュするため、既存候補を変更しない。ネットワーク障害時のOG生成失敗は監視対象。