Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證ask-q-live
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Live Q&A for multi-speaker events — one join code, real-time moderation, AI answers, and a presenter teleprompter.
Host control room: live question feed, stage controls, and run-of-show in one surface.
Live events still run Q&A on a fragile stack: Slack threads, sticky notes, random Mic-drop chaos, or tools that force every attendee to create an account before they can ask a question. Organizers lose the signal. Speakers lose confidence. Moderators drown in duplicates.
AskQlive collapses that stack into one purpose-built flow:檢視完整 README ↗Live Q&A for multi-speaker events — one join code, real-time moderation, AI answers, and a presenter teleprompter.
Product: askqlive.com
Host control room: live question feed, stage controls, and run-of-show in one surface.
Live events still run Q&A on a fragile stack: Slack threads, sticky notes, random Mic-drop chaos, or tools that force every attendee to create an account before they can ask a question. Organizers lose the signal. Speakers lose confidence. Moderators drown in duplicates.
AskQlive collapses that stack into one purpose-built flow:
| Pain today | What AskQlive does |
|---|---|
| Audience friction (sign-up walls) | Zero-auth join with a short code / QR |
| Questions scatter across chat apps | One live feed with upvote ranking |
| Multi-speaker events have no “room” | Series + segments with speaker invites |
| Hosts can’t see what to say next | Stage queue + teleprompter for presenters |
| No post-event learning | Analytics and AI-assisted summaries |
| Ops glue across Zoom / Slido / docs | One product for join → moderate → present → measure |
main deploys itself.Join landing — code or QR, no account required for attendees.
Teleprompter — large, stage-readable next question for speakers.
flowchart LR
subgraph Clients
A[Audience browser]
H[Host / organizer]
S[Speaker teleprompter]
end
subgraph Edge
CF[askqlive.com<br/>Cloudflare DNS]
CR[Cloud Run<br/>ask-q-live]
end
subgraph Data_and_AI
FB[Firebase Auth<br/>Firestore]
GM[Gemini API]
SM[Secret Manager]
end
A --> CF --> CR
H --> CF
S --> CF
CR --> FB
CR --> GM
SM -.->|FIREBASE_API_KEY<br/>GEMINI_API_KEY| CR
flowchart TB
Browser[Angular SPA + SSR]
Express[Express on Cloud Run]
Store[QaStore / QaRepository]
FS[(Firestore)]
Mem[(In-memory session cache)]
Gemini[Gemini AI gateway]
Browser -->|HTTP / SSR| Express
Express --> Store
Store --> FS
Store --> Mem
Express --> Gemini
flowchart LR
GH[GitHub<br/>Yash-Kavaiya/ask-q-live] -->|push main| CB[Cloud Build]
CB -->|docker build + push| AR[Artifact Registry<br/>ask-q-live-repo]
CB -->|gcloud run deploy| CR[Cloud Run<br/>us-central1]
CR --> Dom[Custom domain<br/>askqlive.com / www]
askqlive.com does not| Layer | Choice |
|---|---|
| UI | Angular 21, Angular Material, Tailwind-style utility classes |
| Server | Express + Angular SSR |
| Auth / DB | Firebase Auth, Cloud Firestore |
| AI | Google Gemini (@google/genai) |
| Runtime | Docker on Google Cloud Run (us-central1) |
| CI/CD | Cloud Build (cloudbuild.yaml) on push to main |
| DNS | Cloudflare → Cloud Run domain mapping |
| Analytics | Google Analytics (G-V2Q44SS4M9), Microsoft Clarity |
GCP + Firebase project (single): gen-ai-guru-gdg-pune
Service: ask-q-live · Firestore: (default) · Auth: Firebase Auth in the same project
npm install
cp .env.example .env # set GEMINI_API_KEY and FIREBASE_API_KEY
npm run dev # http://localhost:3000
Useful scripts:
| Command | Purpose |
|---|---|
npm run dev | Local UI + API with HMR |
npm run build | Production client + SSR bundle |
npm test | Vitest unit tests |
npm run test:e2e | Playwright suite |
main on GitHub.ask-q-live-main-deploy runs cloudbuild.yaml.Secrets on Cloud Run:
GEMINI_API_KEY ← Secret Manager gemini-api-keyFIREBASE_API_KEY ← Secret Manager firebase-api-keyOne-time GCP bootstrap (reference): setup-gcp.sh.
src/app/ Angular UI (host studio, join, series, teleprompter, …)
src/server/ Express API, QaStore, Gemini gateway, auth helpers
src/server.ts SSR composition root + allowedHosts
cloudbuild.yaml Build → Artifact Registry → Cloud Run
Dockerfile Production image
assets/readme/ README screenshots
docs/ Specs / plans (large pitch & video trees are gitignored)
AskQlive is useful because it treats live Q&A as an event operations problem, not a chat widget:
Private application repository. Product surface: askqlive.com.