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 .