Doop
Doop: 오픈소스 멀티플레이어 디자인 캔버스 및 AI 에이전트용 MCP
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A searchable, AI-tagged gallery of every image in the Pluck Google Drive.
tagger/, runs hourly on GitHub Actions): walks the Drive folders, makes a thumbnail of each new or changed image, asks Claude what's in it (shaker, sachet, food, people, flavour, old/new packaging, render vs photo…) and saves the result to Supabase.web/, hosted on Vercel): team members sign in with Google, filter by tag, flavour and type, search, see what's new since their last visit, and fix wrong tags. Fixes are saved for everyone and never overwritten by re-tagging.Nothing is ever written to Drive. The tagger has read-only access.
/folders/.supabase/schema.sql → Run.insert into allowed_emails (email) values ('[email protected]'), ('[email protected]');
-- or everyone with a company address:
insert into allowed_domains (domain) values ('yourcompany.com');
https://<your-project>.supabase.co/auth/v1/callback. Copy the client ID and secret.Put this code in a private repository.
Settings → Secrets and variables → Actions → New repository secret, one for each:
| Secret | Value |
|---|---|
GOOGLE_SERVICE_ACCOUNT_JSON | the entire contents of the JSON key file from step 1 |
DRIVE_FOLDER_IDS | folder ID(s) from step 1, comma-separated |
SUPABASE_URL | Project URL |
SUPABASE_SERVICE_ROLE_KEY | service_role key |
ANTHROPIC_API_KEY | key from step 2 |
Optional Variables (same page, Variables tab): TAG_MODEL (default claude-sonnet-5-5; claude-haiku-5-5 is cheaper) and MAX_IMAGES_PER_RUN (default 400).
Actions → Tag new Drive images → Run workflow with mode count. This is free: it checks access and reports how many images there are.
Optional: run it with mode compare (needs only the Anthropic key, costs under US$1). It tags 50 random images with both Sonnet and Haiku and shows where they disagree, so you can choose a model. Set TAG_MODEL to claude-haiku-5-5 if Haiku is good enough.
Run it again with mode tag. After that it runs by itself every hour. The first backlog is worked through 400 images per run.
SUPABASE_URL and SUPABASE_ANON_KEY (the anon public key). Deploy.https://pluck-image-library.vercel.app). In Supabase → Authentication → URL Configuration, set it as Site URL and add it under Redirect URLs.tagger/config.yaml and raise version by one. Every image is then re-tagged under the new rules, 400 per hourly run (or set the run's limit to do them all at once). This costs about the same as the first full run.config.yaml; flavour_aliases merges other spellings (e.g. "Pure" → Pure Organs).tagger/reference/ and list them under reference_images in config.yaml.tag_error column. Formats Pillow can't read (RAW, PSD) fall back to Drive's own preview.Optional. Uses Amazon Rekognition to label images with named people, e.g. "James".
pluck-faces with the AmazonRekognitionFullAccess policy → Create access key (application running outside AWS).AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. Optional variable AWS_REGION (default ap-southeast-2, Sydney).tagger/people/ (they should be the largest face in each) and list them under people in tagger/config.yaml.Each image is scanned once (about US$0.001, and the first 1,000 a month are free for an AWS account's first year). Matching only runs when there are new images or new reference photos. Faces are stored in a private Rekognition collection in your AWS account; get the agreement of anyone you add.
To add a person later: add their photos and a people entry, then run rematch mode (no rescanning needed).
Open web/index.html through any static server, without config.js, and it runs in demo mode if web/demo-data.js exists.