尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Spanish conversation practice for Hebrew speakers, with two virtual teachers (Lucía and Vale) and real-time voice. Invite-only beta, 18+.
Stack: Next.js 16 on Vercel, Supabase (Auth + Postgres), OpenAI Realtime API over WebRTC.
/api/realtime/session to start a call (Supabase session cookie).start_session), and reserves the worst-case cost./api/realtime/end bills the real time (capped by the server clock), books the cost, and stores the transcript encrypted with AES-256-GCM.| Limit | Default | Where |
|---|---|---|
| Talk time per user per day (Israel time) | 15 min | DAILY_LIMIT_MINUTES |
| Longest single call | 10 min | MAX_SESSION_MINUTES |
| Monthly API budget | $50 | MONTHLY_BUDGET_USD |
| New calls blocked at | 90% of budget ($45) | BUDGET_BLOCK_RATIO |
| Cost booked per minute (at least) | $0.10 | RESERVE_USD_PER_MINUTE |
| Transcript retention | 30 days | pg_cron job in the migration |
The booked cost per call is the larger of the client-reported token cost and the per-minute estimate, so the cap holds even if a client lies. As a second safety net, set a budget limit on the OpenAI project that owns the key.
supabase/migrations (SQL editor, or npx supabase db push).
<APP_URL>/** to Redirect URLs./auth/callback handles Supabase's default links..env.example to .env.local and fill it in. On Vercel, add the same variables and mark secrets as Sensitive.node --env-file=.env.local scripts/create-invite.mjs [email protected] "beta wave 1".PERSONA_TEST_KEY (24+ random characters, Sensitive, Preview only), then open <PREVIEW_URL>/api/admin/persona-test?key=.... A second model plays a learner through each scenario in src/lib/persona-test.ts and the endpoint returns the transcripts. Add &persona=vale or &scenario=injection to run one.npm run dev # local dev server
npm test # unit tests (crypto, cost)
npm run lint
npm run typecheck
npm run build