Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
🎙️ Munshi (मुंशी) Hire a voice receptionist by explaining the job. Not by writing prompts. Build Arena Hackathon · Problem Statement 2: No-Code Voice AI Agent Builder (ElevenLabs) Team: DOT DOT COM (Ansh Varshney) Live Production: https://munshi-hackathon-prototype.vercel.app Out of every 100 incoming calls to small clinics, salons, and repair shops, 46 go unanswered. Dr. Mira Sharma runs a two-chair dental clinic in Indirapuram. When her hands are busy treating patients, the phone rings off the hook.檢視完整 README ↗
Build Arena Hackathon · Problem Statement 2: No-Code Voice AI Agent Builder (ElevenLabs)
Team: DOT DOT COM (Ansh Varshney)
Live Production: https://munshi-hackathon-prototype.vercel.app
Out of every 100 incoming calls to small clinics, salons, and repair shops, 46 go unanswered. Dr. Mira Sharma runs a two-chair dental clinic in Indirapuram. When her hands are busy treating patients, the phone rings off the hook.
She knows her front-desk operations inside and out, but she cannot code, and current voice agent builders demand complex system prompts, JSON schemas, API keys, and webhook pipelines.
Munshi solves this entirely. Instead of writing prompts or configuring nodes, the business owner explains the job out loud—exactly like briefing a new human employee. Munshi listens, compiles a structured rule card, runs the receptionist through a rigorous 24-run probabilistic Trial Day, allows her to coach mistakes in one plain sentence, and safeguards all tool calls through ArmorIQ intent-aware runtime governance before going live.
🗣️ EXPLAIN 📋 CHECK 🧪 TEST
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Voice Interview / │ ─────▶ │ Structured Job Card │ ──▶ │ Trial Day: 8 Tests │
│ Plain-Text Starter │ │ (Zod Validated) │ │ × 3 Probabilistic │
└──────────────────────┘ └──────────────────────┘ └──────────┬───────────┘
│
▼
🚀 GO LIVE 🛡️ SECURE 🔧 COACH
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Verified Merge │ ◀───── │ ArmorIQ Runtime │ ◀── │ Spoken One-Sentence │
│ 3/3 Pass Gate Only │ │ Sentry & Guardrails │ │ Fix + Auto-Test Gen │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
A warm, human interface designed with a tailored palette (warm paper #FBF8F3, deep teal #0D7377, saffron #E8833A). Includes a real-time interactive phone simulator and a 60-second bilingual explainer video with synchronized English and Hindi narration tracks that preserve timestamp on switch.
| English Landing Experience | Native Hindi Experience (633 Translated Strings) |
|---|---|
| 60-Second Video Player (Dual Audio Stream) | Mobile-First Responsive Experience |
|---|---|
The owner taps the microphone and speaks naturally. Munshi's conversational interviewer asks 8 everyday questions (business name, hours, services, prices, booking rules, emergency hand-offs, what to never do, and what to say when unsure).
Gemini distills the voice transcript into a clear, structured Job Card. The owner can inspect approved prices, edit hours, or select a voice from the ElevenLabs library with one-click audio previews. No technical jargon, no raw prompts.
Before a single real customer calls, Munshi subjects the receptionist to Trial Day: 8 edge-case calls evaluated 3 times each (24 total runs) using the ElevenLabs Agent Testing API. In version 1, a caller asks for teeth whitening; since it wasn't on the price list, the receptionist hallucinates a price of ₹3,000. Trial Day catches it immediately.
The owner doesn't edit a 2,000-word prompt. She simply speaks or types one corrective sentence:
"If a price is not on the list, never guess. Say you will confirm and take a callback number."
Gemini analyzes the correction, updates the Job Card, and automatically synthesizes a permanent regression test. Munshi branches the ElevenLabs agent into Version 2.
Trial Day re-runs all tests against Version 2. All 8 situations pass 3 out of 3 (24/24 passed). The Go-Live gate unlocks, merging the branch to production and generating:
/talk/[clinicId])<elevenlabs-convai> web widget snippet| Version 2: 24/24 Tests Passed | Gated Go-Live Dashboard |
|---|---|
Munshi leverages the full depth of the ElevenLabs platform:
@elevenlabs/react, @elevenlabs/elevenlabs-js): Orchestrates conversational state machines with low-latency WebSockets.check-slots, book-slot, log-callback).POST /v1/convai/agent-testing/create and POST /v1/convai/agents/{id}/run-tests with repeat_count: 3 to evaluate next-reply accuracy, tool calls, and simulation mocks./branches) and atomic merges (/merge) guarantee that untested prompt changes never reach patients.Integrating ArmorIQ provides enterprise-grade safety and intent verification for our autonomous voice receptionist:
┌──────────────────────────────────────────────┐
│ ElevenLabs Voice Receptionist │
└──────────────────────┬───────────────────────┘
│ Tool Call: book_slot
▼
┌──────────────────────────────────────────────┐
│ 🛡️ ArmorIQ Runtime Sentry Layer │
├──────────────────────────────────────────────┤
│ 1. Intent Verification: Authorized action? │
│ 2. Parameter Sanitization: Valid datetime? │
│ 3. Guardrails: No hallucinated discounts │
│ 4. Prompt Injection & Jailbreak Defense │
└──────────────────────┬───────────────────────┘
│ Evaluated: ALLOW
▼
┌──────────────────────────────────────────────┐
│ MongoDB Atlas Verified Slot Booking │
└──────────────────────────────────────────────┘
book-slot, check-slots, log-callback) is executed on our database, ArmorIQ validates the agent's intent against the clinic's declared policy rules.book_slot returns a verified bk_ ID generated by MongoDB with atomic slot reservation.clinicId + start) stops race conditions across simultaneous callers.GET /v1/convai/conversation/get-signed-url).@react-three/fiber visualizer with real-time frequency analysis during active voice calls.src/lib/i18n.tsx) supporting 633 English and Hindi terms with zero external runtime overhead. ┌───────────────────────────────────────────┐
│ Client Browser / Mobile / Widget │
│ (Next.js 15, React 19, Three.js Orb) │
└─────────────────────┬─────────────────────┘
│ 1. Ephemeral Signed URL Request
▼
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ Munshi Core Engine │
├────────────────────────────────────────────────────────────────────────────────────────┤
│ • Interview Coordinator • Rule & Prompt Compiler (compile.ts) │
│ • Zod Card Validator (jobcard.ts) • Test Pack Orchestrator (testpack.ts) │
│ • Speech-to-Text Pipeline (STT) • Versioning & Branch Manager (workflow.ts) │
└───────────────┬─────────────────────────┬───────────────────────────────┬──────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────┐ ┌──────────────────────┐ ┌────────────────────────────────┐
│ ElevenLabs Platform │ │ Google Gemini 2.5 │ │ 🛡️ ArmorIQ Security Sentry │
├──────────────────────┤ ├──────────────────────┤ ├────────────────────────────────┤
│ • Conversational AI │ │ • Job Card Analyzer │ │ • Intent-Aware Guardrails │
│ • Agent Testing Suite│ │ • Rule Synthesis │ │ • Tool Call Interception │
│ • Flash v2.5 TTS │ │ • Test Generation │ │ • Prompt Injection Defense │
│ • Scribe v2 STT │ │ • Sentiment Scoring │ │ • Audit Log & Provenance │
└───────────┬──────────┘ └──────────────────────┘ └───────────────┬────────────────┘
│ │
└─────────────────────────┬─────────────────────────────┘
▼ Verified Action
┌──────────────────────┐
│ MongoDB Atlas │
│ • Atomic Calendars │
│ • Call Logs │
│ • Booking Integrity │
└──────────────────────┘
Clone the repository:
git clone [email protected]:anshvarshney1502/prototype.git munshi
cd munshi
Install dependencies:
npm install
Configure Environment Variables:
Create a .env.local file in the root directory:
# Database
MONGODB_URI=mongodb+srv://<user>:<password>@cluster.mongodb.net/munshi?retryWrites=true&w=majority
# AI Providers
ELEVENLABS_API_KEY=your_elevenlabs_api_key
ELEVENLABS_WEBHOOK_SECRET=your_webhook_signing_secret
GEMINI_API_KEY=your_gemini_api_key
# Tool Security
TOOL_SECRET=your_internal_shared_secret_min_32_chars
# Public Base URL (for webhooks & tools)
PUBLIC_BASE_URL=https://your-deployment-domain.com
Run the Development Server:
npm run dev
Open http://localhost:3000 in your browser.
Run Production Build & Verification:
npm run build
npm run start
munshi/
├── docs/
│ └── images/ # High-resolution screenshots of the entire product flow
├── public/
│ ├── explainer/ # 60s English & Hindi MP4 explainer videos + poster
│ └── favicon.svg # Munshi brand icon
├── scripts/
│ ├── live-booking.ts # Live end-to-end booking verification test
│ ├── smoke-elevenlabs.ts # ElevenLabs Agent & Testing API connectivity test
│ ├── test-access.sh # Multi-tenant isolation and security test suite
│ ├── test-calendar.ts # MongoDB double-booking prevention test
│ └── test-rollback.ts # Instant branch rollback verification test
├── src/
│ ├── app/
│ │ ├── api/ # Next.js route handlers (clinics, versions, tools, runs, voices)
│ │ ├── c/[id]/ # Main workspace: Explain, Card, Practice, Fix, Go Live, Calls
│ │ ├── talk/[id]/ # Public customer-facing voice receptionist interface
│ │ ├── layout.tsx # Root layout with font optimization & i18n provider
│ │ └── page.tsx # Redesigned bilingual landing page
│ ├── components/
│ │ ├── landing/ # Landing hero, 60s dual-audio explainer player, practice demo
│ │ ├── workspace/ # Interview, JobCardStep, TrialDay, Coach, GoLive, Calls
│ │ ├── Builder.tsx # Start-from-scratch or starter selector
│ │ ├── Icons.tsx # Tailored SVG icon system
│ │ ├── Logo.tsx # Brand mark and wordmark
│ │ └── Orb.tsx # Three.js 3D audio-reactive orb visualizer
│ └── lib/
│ ├── calendar.ts # Slot calculation & atomic booking engine
│ ├── compile.ts # Job card to prompt compiler
│ ├── db.ts # MongoDB Atlas connection manager & schemas
│ ├── elevenlabs.ts # ElevenLabs SDK wrapper (Agents, Tests, Branches, Scribe)
│ ├── gemini.ts # Google Gemini extraction & synthesis pipeline
│ ├── i18n.tsx # Zero-overhead English & Hindi localization engine
│ └── jobcard.ts # Strict Zod schema for receptionist rule cards
└── vercel.json # Vercel deployment configuration
/explainer/munshi-en.mp4, /explainer/munshi-hi.mp4)Made with ❤️ for small business owners who deserve a receptionist that never sleeps.