Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Aangan Studio — 24x7 "Never-Miss" phone enquiry voice agent. Next.js + Supabase + Vaani voice + Gemini extraction + deterministic rules engine + email handoff + Calendly booking. Live: aangan-voice-agent-amber.vercel.app
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Answers every studio phone call 24×7, qualifies the caller against Nikhil's rubric, books a consultation, and sends the assigned designer a complete handoff note by email within minutes — so no enquiry is ever missed and no designer re-asks what was already asked. The agent never quotes a price.
DECISIONS.md) · email for designer
handoff (founder's choice) · Vaani for the voice layer (Phase 4).Call → Vaani agent (24×7) ──call.ended──▶ /api/voice/webhook (P1 store)
│ enqueue job
pg_cron every minute ▼
/api/cron/process-jobs
P2 extract (Gemini→JSON, Zod, retry once)
P3 rules engine (qualified.md) → outcome + flags + rule_trace
P4 guardrails (pricing-leak scan)
P5 cost ledger (tokens + minutes → ₹)
└─▶ route: QUALIFIED → email handoff (one-tap Claim/Booked/No-answer/Not-a-fit)
NURTURE → follow-up task · ESCALATION → senior alert
CALLBACK_NEEDED → outbound/task · DECLINED/NOT_A_LEAD → logged
SLA crons re-ping unclaimed leads → escalate to front desk + Nikhil.
Dashboard (founder/front desk): Overview · Cost · Inbox · Lead detail · Guardrails · Settings. Designers don't use the dashboard — they act from the email links.
VoiceProvider;
needs Vaani account + docs to finish.npm install.env.example → .env.local and fill it (Supabase keys are set by the
provisioning scripts; add GEMINI_API_KEY, RESEND_API_KEY, alert emails,
and Vaani keys as you reach each phase).SUPABASE_ACCESS_TOKEN=… SUPABASE_PROJECT_REF=… npm run db:migrate
(applies supabase/migrations/* + supabase/seed.sql via the Management API).npm run dev · Tests: npm test · Eval: npm run eval
(cached; npm run eval -- --fresh re-extracts via the LLM).vercel deploy --prod. After the first deploy, set the app URL +
cron secret in Supabase: update cron_config set base_url='https://…', cron_secret='…' where id=1;/api/voice/webhook 5xx): Vaani keeps running on its
own prompt; the reconcile cron (/api/cron/reconcile, every 5 min) re-pulls
settled calls and re-enqueues processing once we're back. No data lost.NEEDS_REVIEW with a front-desk
task, and a dead-lettered job emails Nikhil.pricing.md is never sent to the agent.cron_config (base_url/cron_secret/enabled) and
select * from cron.job. Routes require the x-cron-secret header.cron_config.cron_secret, redeploy.Rates live in the editable rates table — these are the seeded placeholders;
confirm Vaani's real per-minute rate.
| Item | Maths | ₹/month |
|---|---|---|
| Vaani minutes | ~4 min × 200 = 800 min × ₹6/min | ₹4,800 |
| Gemini input | ~2,000 tok × 200 = 400k × $0.30/1M × ₹88 | ₹11 |
| Gemini output | ~440 tok × 200 = 88k × $2.50/1M × ₹88 | ₹19 |
| Email (Resend free ≤3k/mo) | — | ₹0 |
| Supabase + Vercel (free/hobby) | — | ₹0 |
| Total | ≈ ₹4,830 |
/api/dev/simulate-call).See DECISIONS.md for why each non-obvious choice was made.