MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기ಎಲ್ಲಿದೆ — where is what I shot? A free, local tool that indexes the photos and videos scattered across your drives and makes them searchable by what is in them. Runs on your machine as an MCP server. Nothing is uploaded.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗You have shot it. You know you have shot it. But where have you kept it?
Yellide indexes the photos, videos and audio scattered across your folders and drives, and makes them searchable by what is in them, not only by what the files are called. It runs entirely on your machine as an MCP server, so you search by talking to Claude.
It has no account, never modifies your files, and sends nothing about you: the one thing it sends is six counts for a figure on the website, which you can stop by asking.
"What media files do I have on this Mac?" → 8,910 files across sixteen places
"Find the cycling event" → by what is in the frame, not the filename
"Where is that clip?" → on KERALA_2023, and that drive is unplugged
Status: working, v0.9.33. Built against a real ~21,000-file archive. Not yet 1.0 because audio is indexed but not yet transcribed, describing pictures needs macOS, Windows and Linux are untested, and the export viewer is unbuilt.
Most people should use the website, download the bundle, drag it onto Claude Desktop, click through the unsigned-extension warning, restart. Two minutes, no terminal.
Any MCP client that speaks stdio works too:
command: node
args: /path/to/yellide/server/index.js
Watch for a leading space when pasting that path into a settings field. The server simply never starts and nothing reports an error. It cost us an hour.
node:sqlite landed in 22.5; older versions crash at startup.
Claude Desktop bundles its own Node, so this only matters for other clients.sips and qlmanage.
Indexing and search work everywhere; only the describing pass needs macOS today.There is nothing to npm install. Yellide has zero dependencies, no native modules,
no build step, no lockfile.
server/ the whole product, no dependencies
index.js MCP server: tool definitions, auto-scan, stdio transport
core.js walking, identity, ISO-BMFF parsing, the two-pass incremental scan
storage.js data dir, migrations, volume markers
exif.js TIFF/IFD parser. JPEG and every raw format
video.js AVI, Matroska/WebM, MPEG programme and transport streams
audio.js ID3, RIFF/WAVE including BWF origination date, FLAC
vision.js stills via sips, video frames via qlmanage
discover.js density-ranked media discovery; needs no path
tools.js the tools' implementations
worker.js scanning off the stdio thread
photos.js the macOS Photos library's own records and album names, read-only
contribute.js the six aggregate counts, and the only network call
test/ node test/exif.test.js
scripts/
pack.sh build the .mcpb; refuses to build without a version bump
site/ hand-written static pages on Cloudflare Pages
edge/ the Cloudflare Worker that receives those counts
CHANGELOG.md version history
node --check server/index.js # syntax
node test/exif.test.js # tests
bash scripts/pack.sh # build the bundle
pack.sh refuses to build if the version in manifest.json is unchanged, because a
sideloaded bundle never auto-updates and Claude Desktop keeps running the old code. You
will otherwise spend an afternoon debugging a bug you already fixed. It also copies the
bundle into site/ and stamps the version into every page.
A sideloaded extension does not reload. To test a change: uninstall, install the new bundle, quit Claude Desktop with Cmd-Q, reopen.
sha256(first 1MiB ‖ last 1MiB ‖ size), so renaming or
moving a file does not lose its captions, and the same footage on two drives is one
asset with two locations.blocks === 0 && size > 0. A
size threshold misses most of them and turns a 7 ms file into a 20-second download.
stat.blocks is POSIX-only, so the check probes at runtime and fails open on Windows.storage.claimRoot moves them when its marker turns up elsewhere: a
renamed drive keeps its entries, and a second card called EOS_DIGITAL parks the first
card's entries instead of overwriting them.(null day, null camera) produced a single 3,194-file shoot that
poisoned the index. A date guessed from a filename or a file's timestamp counts as
undated for this.Markdown does not live in this repo, with two exceptions: this file and CHANGELOG.md.
Design documents, plans and research go in supporting-docs/, and local agent instructions
in CLAUDE.md, both gitignored. This keeps exploratory writing and working notes out of
the diff.
Issues and pull requests are welcome. Two things to know:
version in manifest.json with any change to server/, and add a
CHANGELOG.md entry.MIT. Free forever, and the licence is the only real proof of the privacy claims.