AI katmanını OpenRouter tek kapısına geçir ve rapor üretimini hızlandır
All checks were successful
Deploy / deploy (push) Successful in 9m30s

- Tüm AI akışı OpenRouter üzerinden (openai SDK, varsayılan model
  deepseek/deepseek-v4-flash, OPENROUTER_MODEL ile değiştirilebilir);
  Anthropic/Gemini/lokal sağlayıcı seçimi ve SDK'ları kaldırıldı.
- Rapor: aday havuzu dilim başına 20 (60 program, ~8k token prompt);
  AI şeması sabit uzunluklu üç liste (hayal 5 / dengeli 13 / garanti 6 —
  dağılım şema düzeyinde zorlanır), sıra + dilim + riskNotu + trendOzeti
  gerçek sıra geçmişinden deterministik üretilir; 184 sn → ~12 sn.
- Sohbet: akış ortası zaman aşımı artık sessizce yutulmaz (kesik cevap
  tam cevap gibi kaydedilmiyordu, kredi iadesi çalışmıyordu); istemci
  hata anında durumu sunucudan senkronlar, boş balon bırakmaz.
- aiHataMesaji, openai SDK'nın .name'i "Error" kalan abort/timeout
  hatalarını da yakalar; meraklisina şeması yeni akışla senkronlandı.
- CI: OPENROUTER_API_KEY / OPENROUTER_MODEL secret'ları; eski AI
  secret'ları kaldırıldı. next.config serverExternalPackages sadeleşti.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-08-07 00:37:54 +03:00
parent 4c618781f6
commit 18d5b42136
15 changed files with 366 additions and 540 deletions

View File

@@ -1,8 +1,8 @@
#!/bin/sh
# Next standalone çıktısında eksik kök node_modules linklerini tamamlar.
#
# Neden: Turbopack, serverExternalPackages'taki ESM paketleri (@google/genai,
# @anthropic-ai/sdk, resend) çalışma anında bare import ile yükler ama nft
# Neden: Turbopack, serverExternalPackages'taki ESM paketleri (openai,
# resend) çalışma anında bare import ile yükler ama nft
# trace'ine yalnızca .pnpm gerçek yollarını yazar — kök symlink standalone'a
# kopyalanmaz ve import MODULE_NOT_FOUND ile düşer. (CJS external'larda —
# better-sqlite3, iyzipay — symlink trace'e giriyor, sorun yalnızca ESM'de.)

View File

@@ -10,8 +10,8 @@
* pnpm tadimlik --bekleme=13000 # LLM çağrıları arası bekleme (ms)
*
* AI anahtarı yoksa (dev) mock metin üretir — akış uçtan uca test edilebilir.
* Gemini ücretsiz katmanı dakikada ~5 istek kabul eder; gerçek üretimde
* --bekleme=13000 gibi bir tempo kullan.
* OpenRouter'da katı bir dakikalık limit yok; --bekleme varsayılanı (500 ms)
* genelde yeterli, 429 görürsen tempoyu artır.
* Anonim trafik LLM'e asla istek atmaz; tek maliyet bu script'in koşusudur.
*/
import { randomUUID } from "node:crypto";
@@ -128,8 +128,6 @@ async function metinUret(
.filter(Boolean)
.join("\n\n");
// Not: Gemini'de thinking bütçesi de bu sınırdan düşer; dar tutulursa
// çıktı kırpılıp şema doğrulaması boşa düşüyor.
return yapilandirilmisUret({
system: SISTEM,
kullanici,