尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证bot
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Trợ lý AI cho dự án nhà phố Ny'ah Phú Định (Quận 8, TP.HCM) của Nhà Đạt: vừa là chatbot tư vấn nhúng vào website, vừa là màn trình chiếu thông minh tại Sale Gallery — nghe cuộc trò chuyện giữa Sale và khách rồi tự động chiếu slide (mặt bằng, hình ảnh, giá, vị trí…) đúng chủ đề đang nói.查看完整 README ↗
Trợ lý AI cho dự án nhà phố Ny'ah Phú Định (Quận 8, TP.HCM) của Nhà Đạt: vừa là chatbot tư vấn nhúng vào website, vừa là màn trình chiếu thông minh tại Sale Gallery — nghe cuộc trò chuyện giữa Sale và khách rồi tự động chiếu slide (mặt bằng, hình ảnh, giá, vị trí…) đúng chủ đề đang nói.
/, /embed)data/ được chia chunk, embed bằng gemini-embedding-001, lưu vào index.json; mỗi câu hỏi chỉ truy hồi vài đoạn liên quan nhất trước khi gửi cho Gemini — nhanh, rẻ, hạn chế bịa.persona.md; ưu tiên trả lời nguyên văn bộ Q&A chuẩn do con người soạn.lib/units.ts).lib/maps.ts).chatbot-logs của GitHub và báo về Telegram.nhadat-chatbot.php gắn widget popup, load trang /embed qua iframe./slide)lib/static_slides.ts), pha 2 LLM tinh chỉnh nội dung (có cache câu trả lời lặp lại).lib/presentation-machine.ts) — unit-test được bằng bun test, tách hẳn khỏi React.?debug=1.hooks/useVoiceAgent.ts).vi-VN-HoaiMyNeural), chỉnh được tốc độ đọc. Trang /voice cho trải nghiệm hội thoại bằng giọng nói./companion)/sale)/slide (tab TV kéo sang màn khách): thấy TV nghe được câu gì, câu đó qua cổng hay bị bỏ qua (lý do, chủ đề, điểm, từ khóa trúng, slide tĩnh khớp), TV đang chiếu gì và từ nguồn nào (slide tĩnh / LLM).BroadcastChannel (lib/sale-monitor.ts) — không cần server showroom, chạy được trên Vercel. Tab TV không bị đè HUD như ?debug=1.server/app/api/*/route.ts) — sửa một nơi, chạy cả Vercel lẫn LAN (slide tĩnh ~14ms trong LAN).lib/ws-protocol.ts) nối TV ↔ Companion ↔ server: đẩy SLIDE_READY/REFINE_READY, prefetch ảnh, heartbeat + auto-reconnect, resume slide khi TV kết nối lại./admin)sync_and_reindex.js đồng bộ dữ liệu từ OneDrive → data/ → rebuild index.json (kèm mô tả ảnh tự động bằng Gemini Vision).| Lớp | Công nghệ |
|---|---|
| Frontend | Next.js 14 (App Router), React 18, TypeScript, Tailwind CSS |
| LLM | Google Gemini (gemini-flash-latest), embedding gemini-embedding-001 |
| RAG | Index tự xây (lib/rag.ts): chunk + overlap, lọc chunk rác, cosine trên vector đã chuẩn hóa, lưu index.json trên nhánh GitHub riêng |
| STT | Deepgram Nova → Gemini → Whisper (Groq), Web Speech API |
| TTS | Edge TTS (edge-tts-universal) |
| Realtime | WebSocket (Bun), giao thức riêng trong lib/ws-protocol.ts |
| Server LAN | Bun + ElysiaJS (server/) |
| Deploy | Vercel (cloud) + mini-PC showroom (LAN/kiosk) |
| Lưu trữ log/index | GitHub API, nhánh chatbot-logs (không trigger deploy) |
| Khác | Google Maps Directions, Telegram Bot (báo lead), sharp (ảnh blur nền), Playwright |
app/
page.tsx # Chatbot chính
embed/ # Bản nhúng iframe cho WordPress
slide/ # Live Slide cho TV showroom
companion/ # Điều khiển từ điện thoại Sale
sale/ # Tab Sale Monitor: soi TV nghe gì/hiểu gì + gợi ý nói tiếp
voice/ # Hội thoại bằng giọng nói
admin/ # Trang quản trị dữ liệu
api/ # chat, slide, transcribe, tts, config, log-session, admin/*
components/ # ChatPanel, SlideStage, SlideBody, AttractScreen, DebugHud
hooks/ # useVoiceAgent, usePresentationMachine
lib/ # rag, intent, units, maps, presentation-machine, ws-protocol...
server/ # Server LAN Bun + ElysiaJS
data/ # Dữ liệu dự án (nguồn RAG)
docs/ # Tech spec, kịch bản câu hỏi, yêu cầu
scripts/ # gen-blur-bg, pull-index, dump-slides...
tests/ # test state machine, harness đánh giá RAG/retrieval
persona.md # Persona tư vấn viên
index.json # Chỉ mục embedding RAG
nhadat-chatbot.php# Plugin WordPress
npm install
npm run dev # Next.js dev tại http://localhost:3000
npm run server # Server LAN showroom (cần bun >= 1.1)
npm run test:machine # Unit test state machine trình chiếu
npm run test:harness # Harness đánh giá chất lượng trả lời RAG
npm run test:retrieval # Harness đánh giá truy hồi
Biến môi trường cần thiết (.env.local / .env):
| Biến | Dùng cho |
|---|---|
GEMINI_API_KEY | LLM trả lời + embedding + STT fallback |
DEEPGRAM_API_KEY | STT chính (tùy chọn nhưng nên có) |
GROQ_API_KEY | STT fallback Whisper (tùy chọn) |
GITHUB_TOKEN | Ghi log phiên + tải/lưu index.json |
TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID | Báo lead về Telegram |
GOOGLE_MAPS_API_KEY | Tính tuyến đường thật |
| Đường dẫn | Mô tả |
|---|---|
/ | Chatbot tư vấn |
/embed | Bản nhúng iframe (WordPress) |
/slide | Live Slide TV showroom (?debug=1 bật HUD, ?ws=... nối server LAN) |
/companion | Điều khiển cho Sale |
/voice | Hội thoại giọng nói |
/admin | Quản trị dữ liệu & log |