ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证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