Synaplan
기업을 위한 오픈소스 AI 플랫폼
사업을 새 직원에게 설명하듯 말하면 Munshi가 힌디어·영어로 전화를 받고 방문 일정을 잡아주며 회신이 필요한 사람을 알려줍니다
Explain your business like you'd brief a new receptionist. Munshi answers every call in Hindi or English, books visits and tells you who needs a call back.
비즈니스TypeScript · HTMLGitHub @anshvarshney1502온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.