Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗✅ SİSTEM TAMAMEN HAZIR VE ÇALIŞIR DURUMDA!
Bu proje, eğitim kurumlarının dekont doğruluğunu ve güvenilirligini kontrol etmek için tamamen ücretsiz OCR (Optical Character Recognition) ve gelişmiş kural tabanlı AI analiz sistemini içerir.
✅ Tesseract.js ile Türkçe OCR entegrasyonu ✅ Gelişmiş kural tabanlı AI analiz sistemi (OpenAI gerekmez!) ✅ Güvenlik sistemi (rate limiting, dosya doğrulama, audit logging) ✅ Admin panel entegrasyonu (tekil ve toplu analiz) ✅ TypeScript tam uyumluluğu ✅ Next.js 15 production build başarılı ✅ Responsive tasarım (desktop + mobile) ✅ Comprehensive testing ve error handling
src/
├── lib/
│ ├── ocr-service.ts # OCR işleme servisi
│ ├── ai-analysis-service.ts # AI analiz servisi
│ ├── security-validation.ts # Güvenlik doğrulama
│ └── security-config.ts # Güvenlik konfigürasyonu
├── app/
│ ├── api/admin/dekontlar/
│ │ ├── [id]/analyze/ # Tekil analiz endpoint
│ │ └── analyze/batch/ # Toplu analiz endpoint
│ └── admin/dekontlar/
│ └── page.tsx # Admin dekont sayfası
├── middleware/
│ └── security-middleware.ts # Global güvenlik middleware
└── __tests__/
└── security-validation.test.ts # Güvenlik testleri
npm install tesseract.js sharp pdf-to-png-converter
npm install --save-dev jest @types/jest ts-jest @testing-library/jest-dom
Not: OpenAI veya başka bir ücretli API gerekmez! Sistem tamamen kural tabanlı çalışır.
.env dosyasını oluşturun:
# OCR ve AI Analiz Sistemi - Tamamen Ücretsiz!
# Bu sistem kural tabanlı AI kullanır, dış API gerektirmez
# Güvenlik ayarları
ANALYSIS_RATE_LIMIT_PER_HOUR=50
BATCH_ANALYSIS_RATE_LIMIT_PER_HOUR=10
MAX_FILE_SIZE_MB=10
MAX_BATCH_SIZE=20
# OCR ayarları
OCR_MIN_CONFIDENCE=60
OCR_MAX_TEXT_LENGTH=50000
# Kural tabanlı AI ayarları
AI_MIN_RELIABILITY=0.3
AI_MAX_FORGERY_RISK=0.7
# Audit logging
SECURITY_AUDIT_ENABLED=true
SECURITY_LOG_LEVEL=INFO
npm run prisma:migrate
// API Endpoint: POST /api/admin/dekontlar/{id}/analyze
const response = await fetch(`/api/admin/dekontlar/${dekontId}/analyze`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
});
const result = await response.json();
// API Endpoint: POST /api/admin/dekontlar/analyze/batch
const response = await fetch('/api/admin/dekontlar/analyze/batch', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
dekontIds: ['id1', 'id2', 'id3']
})
});
const results = await response.json();
{
"ocrAnalysisResult": {
"extractedText": "Dekont metni...",
"confidence": 85.5,
"language": "tur",
"processingTime": 2.3,
"extractedData": {
"tutar": "150.00",
"tarih": "2024-01-15",
"aciklama": "Yemek masrafı"
}
}
}
{
"aiAnalysisResult": {
"reliabilityScore": 0.85,
"forgeryRisk": 0.15,
"authenticity": "HIGH",
"dataConsistency": 0.92,
"findings": [
"Tarih formatı doğru",
"Tutar sayısal olarak geçerli",
"Açıklama makul görünüyor"
],
"recommendations": [
"Dekont güvenilir görünüyor",
"Ek kontrol gerekmiyor"
]
}
}
| İşlem | Limit | Süre |
|---|---|---|
| Tekil Analiz | 50 | 1 saat |
| Toplu Analiz | 10 | 1 saat |
| Başarısız Deneme | 20 | 1 saat |
npm run test:security
npm test
npm run test:coverage
| Kod | Açıklama |
|---|---|
| 400 | Geçersiz istek |
| 401 | Yetkisiz erişim |
| 403 | Yetersiz izin |
| 429 | Rate limit aşımı |
| 413 | Dosya çok büyük |
| 422 | OCR işleme hatası |
| 500 | Sistem hatası |
{
"timestamp": "2024-01-01T10:00:00.000Z",
"userId": "user-id",
"action": "SUCCESSFUL_DOCUMENT_ANALYSIS",
"details": {
"dekontId": "dekont-id",
"reliabilityScore": 85,
"ip": "192.168.1.1",
"userAgent": "Mozilla/5.0..."
},
"severity": "INFO"
}
Sistem, farklı güvenlik seviyelerine göre konfigüre edilebilir:
// Hızlı işleme için
OCR_MIN_CONFIDENCE=50
OCR_WORKER_POOL_SIZE=3
// Kaliteli sonuç için
OCR_MIN_CONFIDENCE=80
OCR_WORKER_POOL_SIZE=1
/api/admin/dekontlar/{id}/analyzeTekil dekont analizi
Headers:
Authorization: Bearer {token}
Content-Type: application/json
Response:
{
"success": true,
"data": {
"dekontId": "uuid",
"ocrAnalysisResult": {...},
"aiAnalysisResult": {...},
"reliabilityScore": 85,
"isAnalyzed": true,
"analyzedAt": "2024-01-01T10:00:00Z"
}
}
/api/admin/dekontlar/analyze/batchToplu dekont analizi
Body:
{
"dekontIds": ["uuid1", "uuid2", "uuid3"]
}
Response:
{
"success": true,
"data": {
"results": [...],
"summary": {
"total": 3,
"successful": 2,
"failed": 1,
"averageReliability": 78.5
}
}
}
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Bu proje MIT lisansı altında lisanslanmıştır.
Sorunlar veya sorular için:
Son Güncelleme: 2024-01-01
Versiyon: 1.0.0
Yazarlar: Sistem Geliştirici