OpenSakura
MekaHime's first AI companion, now open source. 26 emotions, her real voice, real-time replies and memory, running on your own PC. Discord mode coming soon.
翻譯準備中
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A cross-platform music taste blending app built with Next.js, TypeScript, Tailwind CSS, Anime.js, and Supabase.
Use Vercel + Supabase for the full app. Vercel's free tier runs the Next.js pages, server actions, and API routes; Supabase's free tier provides authentication and PostgreSQL.
Install the current LTS release from https://nodejs.org/ . Then restart VS Code and confirm:
node --version
npm --version
From this folder:
npm install
npm run typecheck
npm run build
supabase/migrations/20261020000000_initial.sql, and click Run.profiles, friendships, groups, group_members, blends, tracks, blend_tracks, provider_connections, listening_signals, and refresh_jobs tables exist.The migration enables Row Level Security and creates the required policies. It also:
For local development, copy .env.example to .env.local and fill in the two public Supabase values. Add SUPABASE_SERVICE_ROLE_KEY only if a server-side feature explicitly needs an administrative client.
npx vercel
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
LASTFM_API_KEY
vercel.app URL.Netlify Drop, Cloudflare Pages' direct upload, and similar drag-and-drop hosts are suitable for a static HTML export only. They cannot run this full sinq app's server actions, Supabase session handling, or Last.fm refresh route by simply uploading the source files.
For the full application, the closest easy process is:
After the first deployment, pushing changes to GitHub redeploys automatically.
Without Supabase environment variables, sinq shows clearly labelled sample data so the UI can still be explored. Authentication, persistence, provider refresh, and server actions require the Supabase variables.
With Supabase variables configured, the home, blends, groups, friends, services, and settings screens use live database data. Users can update their profile, send friend requests by username, create groups, save a Last.fm username, and sync recent Last.fm listening signals. The generated blend calculations and playlist exports remain follow-up product work; the current sync stores provider signals and refresh metadata for those features.
npm run dev
Open http://localhost:3000 .