Remove obsolete scripts and configuration files for self-hosting and database migrations

- Deleted `pnpm-workspace.yaml` as it is no longer needed.
- Removed `apply-migrations.sh` script that handled database migrations.
- Eliminated `generate-full-stack-env.mjs` script for environment variable generation.
- Deleted `selfhost-backup.sh` script for creating backups of the self-hosted environment.
- Removed `selfhost-doctor.sh` script for health checks of the self-hosted services.
- Deleted `selfhost-restore.sh` script for restoring backups in the self-hosted environment.
This commit is contained in:
Poyraz
2026-06-16 09:57:32 +03:00
parent da8c55d1ad
commit 72a0b38f3e
48 changed files with 2463 additions and 13020 deletions
+140
View File
@@ -0,0 +1,140 @@
---
title: AI Asistan
description: Neta'nın AI sohbet ve analiz özelliklerinin nasıl çalıştığı.
order: 10
---
# AI Asistan
Neta'daki AI asistanı, uygulamanın içindeki veriler hakkında hızlıca soru sorabilmek için ekledim. Bu asistanın amacı genel bir chatbot olmak değil; görevler, projeler, finans kayıtları ve günlük notları üzerinden bana bağlama dayalı cevap verebilmesi.
## Chat Ekranı
AI sohbet ekranı şu route altında bulunur:
```txt
/chat
```
Bu ekranda konuşmalar session olarak tutulur.
Kullanılan tablolar:
- `chat_sessions`
- `chat_messages`
Her yeni sohbet için `chat_sessions` içinde bir kayıt açılır. Kullanıcı ve asistan mesajları `chat_messages` tablosunda saklanır.
## API Route
Chat yanıtları şu endpoint üzerinden üretilir:
```txt
/api/chat
```
Bu endpoint önce kullanıcıyı Supabase session üzerinden doğrular. Sonra kullanıcının son verilerinden kısa bir bağlam oluşturur.
Bağlama dahil edilen örnek veriler:
- Son görevler.
- Son projeler.
- Son 30 gün finans kayıtları.
- Son günlük kayıtlar.
Bu bağlam sistem mesajı içine eklenir. Böylece AI model sadece boş sohbet etmiyor, Neta içindeki güncel kayıtları da dikkate alıyor.
## AI Provider Ayarları
AI provider bilgisi `app_settings` tablosunda tutulur.
Desteklenen provider'lar:
- OpenAI
- Google Gemini
- Groq
- Ollama
Web uygulamasındaki ana AI chat akışı cloud provider'lara göre kurgulanmıştır. Ollama seçeneği schema'da ve bazı yardımcı yapılarda geçer, ama local Ollama kullanımının asıl pratiği `main.pyw` gibi masaüstü yardımcı script tarafındadır.
## Ayarlar Ekranı
AI ayarları uygulama içinde şu ekrandan yönetilir:
```txt
/settings
```
Buradan provider ve API key kaydedilir.
Kaydedilen alanlar:
- `ai_provider`
- `ai_model`
- `api_key`
Bu değerler `app_settings` tablosunda saklanır.
## Finans Analizi
Finans analizi için ayrı bir endpoint vardır:
```txt
/api/finance-analysis
```
Bu endpoint son 30 günün finans işlemlerini alır, gelir-gider toplamlarını hesaplar ve AI modelden kısa bir finansal yorum ister.
Bu özellik muhasebe tavsiyesi vermek için değil, freelancer olarak finansal gidişatı hızlıca yorumlamak için eklenmiştir.
## Proje Risk Analizi
Proje risk analizi endpoint'i:
```txt
/api/project-risk
```
Bu endpoint tek bir proje veya aktif projeler üzerinden risk ve durum raporu üretir.
Kullanılan bilgiler:
- Proje adı.
- Müşteri adı.
- Durum.
- Bütçe.
- İlerleme.
- Başlangıç ve bitiş tarihleri.
- Görev sayısı.
- Tamamlanan görev sayısı.
## Embedding ve pgvector
Projede `document_embeddings` tablosu ve `match_documents` function'ı için altyapı bulunur. Bu yapı, ileride daha gelişmiş RAG özellikleri için kullanılabilir.
İlgili yardımcı fonksiyonlar:
- `generateEmbedding`
- `saveDocumentEmbedding`
- `searchSimilarDocuments`
Bu yapı tam ürün akışının merkezinde değil, ama gelecekte döküman, not veya proje içeriği üzerinden daha güçlü arama ve bağlam üretme için hazır tutulur.
## Local Python/Ollama Yardımcısı
Repo içinde `main.pyw` dosyası da bulunur. Bu dosya web uygulamasından bağımsız bir masaüstü metin işleme yardımcısıdır.
Ne yapar?
- Seçili metni kopyalar.
- F8 ile menü açar.
- Ollama API üzerinden metin düzeltme, çeviri, özetleme gibi işler yapar.
Bu dosya Neta web deployment akışının parçası değildir. Vercel, Coolify veya Dokploy deploy'u için gerekli değildir. Ama lokal kullanım için korunur.
## AI İçin Dikkat Edilecekler
- API key'ler doğru provider'a ait olmalıdır.
- Provider seçimi ile model adı uyumlu olmalıdır.
- Kullanıcı verisi AI modele gönderildiği için hangi provider'ın kullanıldığı bilinçli seçilmelidir.
- Finansal, hukuki veya klinik kesin hüküm üretmemesi için sistem prompt'larında sınırlayıcı ifadeler kullanılmalıdır.