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.