Skip to content

Repository files navigation

BENAİ

Doğal, samimi Türkçe sohbet eden yapay zekâ asistanı uygulaması (Expo / React Native).

Groq'un llama-3.3-70b-versatile modelini Vercel serverless proxy üzerinden kullanır; böylece API anahtarı istemcide tutulmaz, APK'nın içine gömülmez. İsteğe bağlı olarak kendi Groq/OpenRouter anahtarınla doğrudan da çalışır.

Özellikler

  • Türkçe, doğal ve kısa mesajlarla sohbet (varsayılan model: llama-3.3-70b-versatile)
  • API anahtarını gizleyen Vercel serverless proxy — uygulama anahtarsız çalışır
  • Sohbet geçmişi (AsyncStorage ile kalıcı), yeni sohbet oluşturma ve silme
  • Ayarlar ekranı: sunucu adresi, model ve isteğe bağlı API anahtarı
  • API anahtarı SecureStore ile güvenli saklanır (anahtar girilirse)
  • Karanlık tema

Mimari

[Expo / React Native] --POST /api/chat--> [Vercel Serverless] --Bearer GROQ_API_KEY--> [Groq API]

İstemci doğrudan Groq'a bağlanmaz; anahtar yalnızca Vercel sunucusunda GROQ_API_KEY ortam değişkeninde durur.

Dizin yapısı

.
├── App.tsx                     # Kök bileşen, ekran ve durum yönetimi
├── src/
│   ├── api.ts                  # Mesaj gönderimi (proxy / direkt mod), sağlayıcı tespiti
│   ├── storage.ts              # Ayarlar ve geçmiş saklama (SecureStore + AsyncStorage)
│   ├── theme.ts                # Renk paleti ve boşluklar
│   ├── types.ts                # Ortak TypeScript tipleri
│   ├── components/MessageBubble.tsx
│   └── screens/                # ChatScreen, HistoryScreen, SettingsScreen
├── server/
│   ├── api/chat.js             # Vercel serverless Groq proxy
│   └── package.json
└── plugins/
    └── withAndroidLabel.js     # Android launcher etiketini "BENAİ" yapan config plugin

Kurulum (uygulama)

npm install
npx expo start

Uygulama varsayılan olarak deploy edilmiş proxy sunucusunu kullanır (src/storage.ts içindeki DEFAULT_PROXY_URL). Ayarlar ekranından sunucu adresi değiştirilebilir. Anahtar gerekmez; ancak kendi Groq (gsk_...) veya OpenRouter (sk-or-v1...) anahtarını girersen direkt moda geçer.

Sunucu (Vercel)

server/ klasörünü Vercel'e deploy edin ve ortam değişkeni olarak GROQ_API_KEY tanımlayın.

cd server
vercel --prod
  • Uç nokta: POST /api/chat
  • İstek gövdesi: { "model": "llama-3.3-70b-versatile", "messages": [...] }
  • Yanıt: OpenAI uyumlu choices[0].message.content

APK derleme (EAS Build)

npx eas-cli login
npx eas-cli build -p android --profile preview

Notlar:

  • Bu makinede git kurulu değilse EAS_NO_VCS=1 ortam değişkeniyle çalıştırın.
  • eas init projeyi EAS'e bağlar (app.jsonextra.eas.projectId).
  • APK, build ekranındaki "Artifacts" bölümünden indirilir.

Lisans

MIT — LICENSE

About

No description or website provided.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages