ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기DeepHaus turns notes/PDFs into Anki flashcards with an FSRS-based study scheduler
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗DeepHaus turns study material (notes, PDFs) into Anki flashcards and exports .apkg files for desktop Anki and AnkiMobile.
Repository: github.com/lkyne7/deephaus
MCP plugins: installation and package · distribution checklist
apps/web Next.js UI + API routes
apps/mobile Expo mobile app
packages/shared Schemas, chunking, deduplication
packages/apkg .apkg builder + sample CLI
packages/llm Card generation prompts + OpenAI client
packages/api-client Typed API client for web + mobile
supabase/ Database migrations
Start with the environment and release plan. Normal pnpm dev:web and mobile commands now use the isolated staging backend through .env.launch-staging.local. The older manual dotenv setup below describes individual integrations; do not copy production credentials into development.
pnpm install
supabase/migrations/20250524000000_init.sqlpdfs.env.example to apps/web/.env.local and fill in keysDeepHaus uses Supabase Auth on web and mobile. Email/password and mobile magic links work without another identity service.
Supabase Dashboard → Authentication → Providers → Email
Supabase Dashboard → Authentication → URL Configuration
http://localhost:3000http://localhost:3000/auth/callbackhttps://www.deephaus.ai/auth/callbackdeephaus://auth/callback for Expo buildsTo enable Google sign-in, create a Google OAuth web client whose redirect URI
is https://<your-project-ref>.supabase.co/auth/v1/callback, then enable and
configure Google in Supabase Authentication → Providers.
To enable Apple sign-in, create an Apple Services ID and Sign in with Apple key. Add the Supabase callback URL to the Services ID, then enter the Services ID, Team ID, Key ID, and private key in Supabase Authentication → Providers.
Google sign-in credentials are separate from the Google Drive credentials below. Supabase automatically links identities when providers return the same verified email address.
Profile affiliations use a six-digit code sent through Resend. Verify a sending domain in Resend, then configure these server-only variables:
RESEND_API_KEY=re_...
UNIVERSITY_VERIFICATION_FROM_EMAIL=DeepHaus <[email protected]>
Recognized institutions come from the bundled JetBrains swot domain registry.
Alumni, abused, and unknown domains are rejected.
Create a Google Cloud project and enable both Google Drive API and Google Picker API. Configure an OAuth 2.0 Web application with:
http://localhost:3000 and the production app originhttp://localhost:3000/api/google-drive/callbackhttps://www.deephaus.ai/api/google-drive/callbackCreate a browser API key restricted to those origins and to Google Picker API.
The app requests the least-privilege drive.file scope, so it can only read
files users explicitly select in Picker.
Set these variables in apps/web/.env.local and in the Vercel web project:
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://localhost:3000/api/google-drive/callback
NEXT_PUBLIC_GOOGLE_API_KEY=
# Numeric Google Cloud project number (used by PickerBuilder.setAppId)
NEXT_PUBLIC_GOOGLE_APP_ID=
Use the production callback URL for GOOGLE_REDIRECT_URI in production.
Drive imports support Google Docs, Slides, and Sheets, plus PDF, DOCX, PPTX,
and XLSX files. Native Google files are exported as Office documents before
text extraction. Website URL imports require no additional configuration.
cp .env.example apps/web/.env.local
# Set DEEPHAUS_USE_MOCK_LLM=true to test without OpenAI
pnpm --filter @deephaus/web dev
cp apps/mobile/.env.example apps/mobile/.env
# Set EXPO_PUBLIC_SUPABASE_URL, EXPO_PUBLIC_SUPABASE_ANON_KEY,
# EXPO_PUBLIC_API_BASE_URL (your machine LAN IP for physical device testing)
pnpm dev:mobile
# or: pnpm mobile:ios / pnpm mobile:android
Supabase Auth for mobile: In Supabase Dashboard → Authentication → URL Configuration, add redirect URL deephaus://auth/callback. The app supports email/password and magic links.
Physical device testing: Run the web API (pnpm dev:web) and set EXPO_PUBLIC_API_BASE_URL to your machine's LAN IP (e.g. http://192.168.1.10:3000), not localhost.
pnpm --filter @deephaus/apkg build
pnpm --filter @deephaus/apkg export-sample
One-shot (recommended):
POST /api/generate/text
Content-Type: application/json
Cookie: <supabase session cookie>
{
"project_id": "uuid",
"text": "Your study notes here…",
"settings": {
"cardMix": "both",
"density": 5,
"focusPrompt": "exam prep"
}
}
Response (201):
{
"source": { "id": "…", "type": "text", "raw_text": "…" },
"job": { "id": "…", "status": "ready", "progress": 100 },
"cards": [ { "type": "basic", "front": "…", "back": "…" } ],
"mock": false
}
Multi-step (also used for PDFs):
POST /api/sources/text — store textPOST /api/generate — generate cards from source_idGET /api/cards?job_id=… — fetch cardsIn apps/web/.env.local:
OPENAI_API_KEY=sk-your-key
DEEPHAUS_USE_MOCK_LLM=false
Without an OpenAI key, the API returns sample mock cards for testing.
.apkg for Anki importMIT