DesktopMof
커서를 따라다니거나, 피하거나, 화면 가장자리에서 졸기도 한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗StitchSpeak translates knitting pattern PDFs using localized terminology and includes a Gemini-powered assistant.
npm install.env.example to .env and set VITE_GOOGLE_CLIENT_ID for Google sign-in.npm run devcd server && npm installGEMINI_API_KEY, OPENAI_API_KEY, and GOOGLE_CLIENT_ID (same value as VITE_GOOGLE_CLIENT_ID).npm run devAll assisted features run through the Express server. Translation, chat, glossary lookup, and grading use Gemini; tech editing uses OpenAI. No API keys are exposed to the browser.
Frontend hosting (Vercel or GitHub Pages) needs:
VITE_GOOGLE_CLIENT_IDVITE_API_URL pointing at the public Express server, for example https://your-api.up.railway.appServer hosting needs:
NODE_ENV=productionGEMINI_API_KEYOPENAI_API_KEYGOOGLE_CLIENT_ID matching the frontend client IDAUTH_SESSION_SECRET with a long random value for email-account sessionsAPP_URL with the canonical frontend origin used in verification/reset linksRESEND_API_KEY and AUTH_EMAIL_FROM for verification and password-reset deliveryFRONTEND_URL with every public frontend origin, comma-separatedDATA_DIR on a persistent volumeADMIN_EMAILS with the comma-separated Google accounts allowed to open /adminLEMON_SQUEEZY_API_KEY, LEMON_SQUEEZY_STORE_ID, LEMON_SQUEEZY_VARIANT_ID, and LEMON_SQUEEZY_WEBHOOK_SECRET when payments are liveBefore switching real users on:
order_created to /api/lemon-squeezy/webhook.npm run check in the repo root and npm run build in server/./data and set DATA_DIR=/data./health/deep; it verifies Gemini, OpenAI, OAuth,
payments, webhook configuration, and both persistent stores.credits.db and the pattern store into a non-production environment.Production health GitHub Actions workflow checks /health/deep every 15
minutes. Keep GitHub Actions failure notifications enabled for the repository./health/payments; verified webhook reconciliation
failures trigger alerts for one hour without taking the API offline.CI GitHub Actions workflow must pass before merging to main.StitchSpeak Credits.LEMON_SQUEEZY_STORE_ID and LEMON_SQUEEZY_VARIANT_ID.LEMON_SQUEEZY_API_KEY.https://your-api.example.com/api/lemon-squeezy/webhook.order_created and order_refunded.LEMON_SQUEEZY_WEBHOOK_SECRET.The server creates checkout links on demand using Lemon Squeezy's Checkouts API. It overrides the product price per credit pack and sends the signed-in user ID as checkout custom data. Credits are granted only when the verified order_created webhook arrives.
React 19, TypeScript, Vite, Tailwind CSS v4, Express, Google Gemini, OpenAI, Google Sign-In.