尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Shifoxonalarda bemorlarning fikr-mulohaza va shikoyatlarini QR-kod orqali to'liq anonim tarzda yig'ib, sun'iy intellekt yordamida tahlil qiluvchi va tegishli bo'limga yo'naltiruvchi platforma. Umummilliy AI Xakaton (Xorazm, 2026) uchun.檢視完整 README ↗
Shifoxonalarda bemorlarning fikr-mulohaza va shikoyatlarini QR-kod orqali to'liq anonim tarzda yig'ib, sun'iy intellekt yordamida tahlil qiluvchi va tegishli bo'limga yo'naltiruvchi platforma. Umummilliy AI Xakaton (Xorazm, 2026) uchun.
/dashboard); bemor tomonida
hech qanday autentifikatsiya yo'qsrc/lib/ai) — hozircha Gemini
(gemini-3.6-flash) ulangan; AI_PROVIDER=anthropic + ANTHROPIC_API_KEY
qo'yilsa, kod o'zgarishsiz Claude'ga o'tadisrc/lib/conversation),
matn ham, ovoz ham shuni ishlatadi. Gemini (gemini-3.6-flash, structured output) faqat
maydonlarni ajratadi va javob matnini yozadi; bosqichlar, savollar chegarasi (max 3) va
tasdiqlash serverda kod bilan boshqariladisrc/lib/voice) — NeuronAI asosiy (VOICE_PROVIDER),
ishlamasa yoki balansi tugasa VoiceLab'ga avtomatik o'tadi. Ovoz suhbat mantig'iga
qo'shilmaydi: STT matn beradi, motorning matn javobi TTS bilan o'qiladiPushNotificationBanner, Sozlamalar). Telegram bilan parallel ishlaydi
(src/lib/push, public/sw.js)qrcode + @react-pdf/renderersrc/lib/createFeedback.tsdagi bitta pipeline'ni ishlatadinpm install
npm run dev
.env.local allaqachon barcha kalitlar bilan to'ldirilgan (MongoDB, Gemini, Firebase
web config + Admin SDK, VoiceLab). Ixtiyoriy qolgan narsa:
ANTHROPIC_API_KEY — agar Claude'ga o'tmoqchi bo'lsangiz (AI_PROVIDER=anthropic)CONVERSATION_SECRET — suhbat holati tokenini imzolaydi (openssl rand -hex 32)NEXT_PUBLIC_VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, VAPID_SUBJECT — panel bildirishnomalari
uchun (npx web-push generate-vapid-keys); public kalit build vaqtida kerakTo'liq ro'yxat uchun .env.examplega qarang.
# Bitta hospital + 3 ta bo'lim yaratadi, /f/... havolalarini chop etadi
npm run seed
# Firebase Auth foydalanuvchisini (Console orqali yaratilgan) MongoDB Staff bilan bog'laydi
node --env-file=.env.local scripts/create-staff.mjs [email protected] "Ism Familiya"
Login qilish uchun avval Firebase Console > Authentication'da foydalanuvchi (email + parol) yaratish kerak — o'zi ro'yxatdan o'tish yo'q (spetsifikatsiya talabi).
npm run test # Vitest — suhbat motori, holat tokeni, ovoz VAD/failover, retry, tracking code
# Gemini prompt sifati (haqiqiy API, kvota sarflaydi):
LIVE_GEMINI=1 node --env-file=.env.local node_modules/.bin/vitest run src/lib/conversation/live.eval.test.ts
npm run lint # ESLint
npx tsc --noEmit
npm run build # production build
src/app/f/[hospitalId]/[departmentId] — bemor formasi (autentifikatsiyasiz)src/app/dashboard — xodimlar paneli (Firebase Auth talab qilinadi)src/app/(marketing) (/, /narxlar) — bosh sahifa va narxlarsrc/lib/ai — provayderdan mustaqil AI qatlami (Gemini/Anthropic)src/lib/voice — STT/TTS qatlami, VoiceLab → NeuronAI avtomatik fallback bilansrc/lib/conversation — suhbat motori: engine.ts (state machine), model.ts (Gemini),
token.ts (imzolangan holat), finalize.ts (tasdiqlangach yuborish)src/components/patient — ConversationView (matn va ovoz uchun umumiy chat),
TextComposer, VoiceControls (mikrofon/orb, STT/TTS)src/lib/createFeedback.ts — yagona feedback-yaratish pipeline (web forma +
ikkala Telegram bot shu bittasini chaqiradi)src/lib/telegram — ikkala botning grammY logikasi (staffBot.ts,
patientBot.ts, notifyStaff.ts)src/app/api/telegram — webhook route'lar, staff link-token API, digest cronsrc/models — Mongoose sxemalari (Hospital, Department, Staff, Feedback, Lead,
TelegramLinkToken, TelegramNotification)scripts/ — seed va staff-yaratish skriptlariissueTag (masalan dori_vaqtida_berilmadi) beradi; dashboard bir xil tag +
bo'lim bo'yicha 14 kunlik oynada 3+ xabarni "tizimli muammo" deb belgilaydi.
Oddiy, tez va tushunarli — embedding pipeline shart emas.So'rov yuborish /
Aloqaga chiqish) — dizaynga va spetsifikatsiyaga mos, checkout yo'q.withRetry 503/429 kabi vaqtinchalik xatolarni
backoff bilan qayta uradi; agar baribir muvaffaqiyatsiz bo'lsa, xabar "o'rta"
jiddiylik bilan saqlanadi — bemor hech qachon xabarini yo'qotmaydi./api/voice/stt audio baytlarini faqat so'rov davomida
xotirada ushlaydi, diskka yoki DB'ga yozmaydi — javob qaytgach yo'qoladi.