尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Application to help me choose which record from my collection I should listen to based on my mood. The choices are synced with my Discogs collection. It also uses AI to determine personality based on my favorite genres and styles.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A Laravel API + Nuxt 4 application to display, explore, and understand your Discogs vinyl record collection — powered by AI.
• 🎵 Sync your Discogs collection by username — no auth required for public collections
• 🎶 Mood search — describe the music you want in plain English and get matched releases from your collection
• 🎭 AI personality insight — your top styles and genres are analysed to generate a personalised personality profile based on your taste
• 💿 Album grid with cover art, filters, and Discogs marketplace pricing
• 🎬 Detail pages with tracklist and YouTube preview embeds查看完整 README ↗A Laravel API + Nuxt 4 application to display, explore, and understand your Discogs vinyl record collection — powered by AI.
Laravel 13 (PHP 8.5) JSON API, Nuxt 4 (TypeScript, Tailwind) SPA in frontend/, MySQL 8.4, Meilisearch (Scout), Discogs API.
Both AI features use Claude (claude-opus-5-5) through the official Anthropic PHP SDK. Mood presets are matched locally against their curated genres and styles, with no AI involved.
| Feature | How it works |
|---|---|
| Vibe search | Claude picks genres and styles from the collection's own tag lists that fit a plain-English prompt. Without a key, or if the call fails, it falls back to local keyword matching |
| Personality insight | Claude writes a short paragraph about the collection from its top styles and genres |
You need Docker Desktop (or another Docker engine). Composer on the host is enough to install PHP dependencies; Sail runs the app inside containers.
composer install
cp .env.example .env
Edit .env with at least the variables in the table below. Defaults already point Sail at the bundled MySQL and Meilisearch (DB_HOST=mysql, MEILISEARCH_HOST=http://meilisearch:7700).
Use the Sail binary (or a sail shell alias):
./vendor/bin/sail up -d
This starts the app (laravel.test), MySQL, Meilisearch, and a queue container that runs php artisan queue:work (currently idle — no background jobs are queued, but the worker is kept running for future use).
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate
Then, in a separate terminal, run the frontend (see frontend/README.md):
cd frontend
npm install
npm run dev
Open http://localhost:3000 (the Nuxt dev server proxies /api to Sail on :80).
Sync from Discogs (username can come from .env or the argument):
./vendor/bin/sail artisan discogs:sync your_discogs_username
Until you sync, grids and AI suggestions have nothing to match against.
| Variable | Required | Notes |
|---|---|---|
DISCOGS_USERNAME | For automated / scheduled sync | Your public Discogs username; you can also pass username to discogs:sync |
DISCOGS_TOKEN | No | Improves Discogs rate limits — discogs.com/settings/developers |
ANTHROPIC_API_KEY | No | Personality insight and Claude-assisted vibe search — platform.claude.com/settings/keys. Without it, vibe search falls back to keyword matching |
docker-compose.ymlNo queue worker is required — mood/vibe search run synchronously, and there are currently no queued background jobs.
Sync runs weekly (Sunday midnight PST). Manually: sail artisan discogs:sync or sail artisan discogs:sync username.
The personality insight is generated automatically after each sync. To generate it manually:
sail artisan personality:generate
Laravel Forge — MySQL via Forge, Meilisearch on server, Nuxt run as a Forge Daemon behind nginx. See DEPLOY.md for the full setup.