ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Interview Coach Project
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Real-time AI commentary on interview answers. Listens to your mic, detects
the interviewer's questions, streams per-question commentary from DeepSeek,
and lets you replay the whole session afterwards with timestamped notes.
Current version uses the browser's built-in Web Speech API for transcription
(free, no extra API key needed). For a production deployment with longer
sessions and better multi-language accuracy, swap lib/audioSession.ts for
a Deepgram streaming implementation.查看完整 README ↗Real-time AI commentary on interview answers. Listens to your mic, detects the interviewer's questions, streams per-question commentary from GPT-6 Luna, and lets you replay the whole session afterwards with timestamped notes.
Current version uses the browser's built-in Web Speech API for transcription
(free, no extra API key needed). For a production deployment with longer
sessions and better multi-language accuracy, swap lib/audioSession.ts for
a Deepgram streaming implementation.
📘 Setting this up for the first time? See DEPLOY.md for step-by-step instructions on running locally, pushing to GitHub, and deploying to Vercel.
Browser mic
│
├─► MediaRecorder ─────────► Blob (saved for playback)
│
└─► Web Speech API ────► transcript stream
│
▼
┌─────────────────────────────┐
│ Orchestrator │
│ │
│ every final utterance → │
│ POST /api/detect-question │──► gpt-6-luna (is this a Q?)
│ │
│ every ~220 chars of answer →│
│ POST /api/commentary (SSE) │──► gpt-6-luna (streamed comment)
└─────────────────────────────┘
│
▼
Zustand store
│
▼
React UI
npm install
https://platform.openai.com/api-keys → Create new API key
cp .env.local.example .env.local
# Edit .env.local and paste your key
npm run dev
Open http://localhost:3000 in Chrome or Edge (Safari's Web Speech API is unreliable). Click Start, paste a JD, and start talking. First time, the browser will ask for microphone permission.
/api/detect-question.
GPT-6 Luna decides if it's a new question. If yes → a new Question
block appears at the top. If no → the utterance is added to the current
Question's running answer buffer./api/commentary. This
streams a one-sentence observation back via SSE; the frontend appends
deltas as they arrive.Click any past session in the sidebar. You get:
None. Sessions live in Zustand + memory only. Refresh the page and it's gone. This was a deliberate choice to ship faster — add IndexedDB or a backend DB later.
In lib/orchestrator.ts:
COMMENT_TRIGGER_CHARS (default 220) — how much new answer text
triggers a comment. Lower = more frequent, chattier.COMMENT_MIN_GAP_MS (default 8000) — minimum time between comments on
the same question, to prevent over-commenting during a long answer.Replace lib/audioSession.ts with a streaming version (it needs to:
open a wss://api.deepgram.com/v1/listen socket, pipe MediaRecorder
chunks into it, and call the same four callbacks). Add a
/api/deepgram-token route that mints short-lived project keys so the
browser never sees your main Deepgram key. Everything else stays the same.