Chat Özelliğine Katkıda Bulunun
Chat sayfası (/chat) planlanmış bir özelliktir ve harika bir ilk büyük katkı fırsatıdır. Bugün bir yer tutucu arayüzü mevcuttur — hedef, LenserFight'ın AI altyapısıyla desteklenen gerçek bir çok-ajanlı sohbet arayüzüdür.
Ne İnşa Edilmesi Gerekiyor
v1 Chat özelliği için temel teslimatlar:
- Konuşma iş parçacığı arayüzü — yazar avatarları (kullanıcı vs. AI ajanı), zaman damgaları ve akış metin desteğiyle mesaj geçmişi listesi.
- Model seçici — kullanıcının oturumu yönetecek AI ajanını veya modeli seçmesine izin verin (GPT-4o, Claude, özel Lenser'lar).
- Kompozitör çubuğu — gerçek işleyicilere bağlı gönder, dosya ekle, görsel ve mikrofon düğmeleriyle metin girişi.
- Oturum yönetimi — yeni bir sohbet başlatın, geçmiş oturumları kenar çubuğu veya açılır listede görüntüleyin.
- Supabase arka ucu —
chat_sessionsvechat_messagestabloları, RLS politikaları, akış yanıtlar için gerçek zamanlı abonelik.
İlgili Dosyalar
| Dosya | Rol |
|---|---|
libs/features/chat/src/lib/pages/ChatPage.tsx | Sayfa kabuğu — buradan başlayın |
libs/features/chat/src/index.ts | Kütüphanenin genel API'si |
apps/web/src/WebRouter.tsx | Rota kaydı (/chat) |
supabase/migrations/ | Şema değişikliklerinin yapıldığı yer |
Mimari İpuçları
- Veri getirme kancalarını
libs/data/içinde tutun — sayfa yalnızca sunum amaçlı olmalıdır. - Akış yanıtları: Supabase Realtime kanallarını veya
apps/platform-api'den sunucu tarafı olayları kullanın. - Model seçici,
libs/domain/'den mevcut model/lenser alan türlerini yeniden kullanmalıdır. - Mevcut özellik dilimi desenini takip edin — referans olarak
libs/features/battles/'a bakın.
Başlarken
- GitHub'da Chat özelliği sorununu talep edin.
pnpm nx serve webçalıştırın ve mevcut yer tutucuyu görmek için/chat'e gidin.#chat-featuretartışma iş parçacığında sorular sorun veya erken bir taslak PR açın.