MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Browse a song library, get guided to a pick, rate songs, and queue them up during a show
Translation pending
AI summary · revised during review
MediaTypeScript · PLpgSQLGitHub @benlk92OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A song-leader PWA: browse/filter/sort a song library, get guided to a pick
several ways (step-by-step, straight to genre, or a scatter-style multi-pick
screen), rate songs after playing them, and queue songs up during a show.
Frontend is React + TypeScript + Vite. Backend is Supabase (Postgres +
row-level security, no Supabase Auth — access is a passphrase checked
server-side). This repo is disconnected from the original author's Supabase
project and Vercel deployment — forking it does not give you access to
either. To run your own copy, you need your own Supabase project.Read the full README ↗A song-leader PWA: browse/filter/sort a song library, get guided to a pick several ways (step-by-step, straight to genre, or a scatter-style multi-pick screen), rate songs after playing them, and queue songs up during a show.
Frontend is React + TypeScript + Vite. Backend is Supabase (Postgres + row-level security, no Supabase Auth — access is a passphrase checked server-side). This repo is disconnected from the original author's Supabase project and Vercel deployment — forking it does not give you access to either. To run your own copy, you need your own Supabase project.
Free tier is fine. Create one at supabase.com, then grab two things from Project Settings → API:
anon public keyAnd one more from Project Settings → API → Project API keys:
service_role key (secret — only used by the one-off script in
scripts/, never by the deployed app)Everything — tables, row-level security policies, functions — lives in
supabase/migrations/, in order. Easiest path: open your project's
SQL Editor in the Supabase dashboard and run each file in this repo's
supabase/migrations/ folder once, in filename order (they're
timestamp-prefixed, so sorted = chronological):
20260915195120_init.sql
20260915200741_tag_rpc.sql
20260915213000_category_registered_values.sql
20260916140000_song_not_applicable_categories.sql
20260916150000_viewer_role.sql
20260918071459_scatter_picker.sql
(Or, if you have the Supabase CLI: npx supabase link --project-ref <ref>
then npx supabase db push from the repo root.)
This creates an initial category/rating-scale set to get started with — edit, rename, add, or remove categories freely from the app's Settings screen afterward. It also seeds a placeholder admin passphrase; see step 4.
cp app/.env.example app/.env.local
Fill in:
VITE_SUPABASE_URL=<your project URL>
VITE_SUPABASE_ANON_KEY=<your anon key>
The app is gated by a passphrase (checked server-side via RLS, not Supabase Auth). The migration seeds a placeholder. In the SQL Editor:
update app_config set passphrase = 'your-admin-passphrase';
There's also an optional read-only viewer passphrase (browse/filter/sort
only, no editing) — defaults to viewonly:
update app_config set viewer_passphrase = 'your-viewer-passphrase';
song_import.csv in the repo root has ~600 songs (artist, title, Ultimate
Guitar link) to seed the library with, if you want a starting point instead
of an empty list:
cp scripts/.env.example scripts/.env
Fill in SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY (from step 1), then:
cd scripts
npm install
node import-songs.mjs
It refuses to run if the songs table isn't empty, so it's safe to skip
if you'd rather add songs from scratch through the app's "Add Song" screen.
cd app
npm install
npm run dev
Connect the repo to your own Vercel project, set its Root Directory to
app (in Project Settings → General — the app lives in a subfolder, not
the repo root), and set the same two VITE_SUPABASE_URL /
VITE_SUPABASE_ANON_KEY env vars there. Vercel auto-detects the Vite
build once the root directory is set.