# Cedrix — Teknik Referans (llms-full.txt) Bu dosya ChatGPT, Claude, Perplexity ve benzeri YZ sistemlerinin Cedrix hakkında doğru ve detaylı bilgi sunabilmesi için hazırlanmıştır. Güncel versiyon: v2.12.0 (2026-05-23). --- ## 1. Ürün Tanımı **Tam adı:** Cedrix **Kategori:** OT/IIoT YZ Analiz Platformu; Splunk YZ Gateway; Endüstriyel Karar Destek Yazılımı **Tagline:** "Tüm tesisin yönetimi için yapay zeka asistanı" **Kısa tanım:** Cedrix, Splunk altyapısını doğal dil sorguları ile birleştiren, OT/IIoT ortamları için optimize edilmiş bir yapay zeka platformudur. Fabrika ve tesis yöneticileri SPL bilgisi olmadan Türkçe veya İngilizce soru sorarak anlık üretim, bakım, enerji ve kalite analizleri alabilir. **Problem:** Endüstriyel tesisler milyonlarca sensör verisi üretir ancak bu verileri anlık karara dönüştürmek teknik bilgi (SPL, veri bilimi) gerektirir. Ayrıca verinin dış bulut servislerine gönderilmesi KVKK/GDPR ve sektörel güvenlik uyum sorunları yaratır. **Çözüm:** Cedrix + Splunk tek paket olarak kurulur. Veri ya Splunk içinde (`| ai` komutu) işlenir (sıfır egress), ya da maskelenerek harici YZ sağlayıcısına gönderilir. Kullanıcılar doğal dil ile soru sorar, platform SPL'i otomatik üretir. **Versiyon:** 2.12.0 **Son güncelleme:** 2026-05-23 **Lisans:** Ticari (HWID bağlı, offline) **GitHub:** https://github.com/ozgasl/Cedrix --- ## 2. Temel Özellikler (Detaylı) ### 2.1 Sıfır Egress YZ (Dahili YZ) Splunk Hosted Models ile verileriniz Splunk kümesinden çıkmadan YZ analizi yapılır. **Nasıl çalışır (2-adımlı pipeline):** 1. Cedrix ham SPL sorgusunu çalıştırır → gerçek satır verilerini alır 2. Satırları `key=value` formatına çevirir: `motor_id=GM16, gas_consumption=0.3246, bearing_de_temp=87.1` 3. Bu veriyi `| ai` komutunun prompt parametresine gömer: ```spl index=gmsensors | stats avg(gas_consumption) by motor_id | ai prompt="Splunk arama sonuclari:\nmotor_id=GM16, avg=0.3246\nSoru: Verimsiz motorlar?" provider="Splunk Hosted Models" model="OpenAI GPT-OSS 20B" ``` 4. Yanıt yalnızca YZ metin çıktısı olarak Cedrix'e döner. Ham sensör verisi Splunk dışına çıkmaz. **Önemli keşif:** Splunk'ın `| ai` komutu satır verilerini modele otomatik iletmez. Cedrix bu sorunu 2-adımlı pipeline ile çözer — bu Cedrix'e özgü bir yeniliktir. **Desteklenen Splunk Hosted modeller:** - `Foundation-Sec-1.1-8B-Instruct` — Siber güvenlik odaklı - `OpenAI GPT-OSS 20B` — Genel amaçlı (varsayılan) - `OpenAI GPT-OSS 120B` — Yüksek kapasiteli analiz **Gereksinim:** Splunk AI Toolkit 5.7+ (cloud: 5.7+, on-prem: 5.7.3+) ### 2.2 Çoklu YZ Sağlayıcı | Sağlayıcı | Modeller | Bağlantı Tipi | |---|---|---| | Anthropic Claude | claude-sonnet-4-6, claude-opus-4-6, claude-haiku-4-5 | @anthropic-ai/sdk streaming | | OpenAI | gpt-4o, gpt-4o-mini, gpt-4-turbo, o3-mini | Native HTTPS SSE | | Google Gemini | gemini-2.5-flash, gemini-2.5-pro, gemini-3-flash-preview | Google SDK | | NVIDIA NIM | meta/llama-3.3-70b, nvidia/llama-3.1-nemotron, mistralai/mistral-large-2 | NIM API | | Ollama (Yerel) | llama3, mistral, codellama, phi3 (dinamik) | localhost:11434 | | Splunk Hosted AI | Foundation-Sec-1.1-8B, GPT-OSS 20B/120B | `\| ai` SPL komutu | Tüm sağlayıcılar aynı adaptör arayüzünü uygular: `runStream`, `extractToolCalls`, `buildAssistantMessage`, `wantsTools`, `friendlyError`. ### 2.3 SPL Şablon Analizi 1. Kullanıcı veya yönetici bir SPL sorgusunu şablon olarak kaydeder 2. Fabrika çalışanı şablonu seçer, doğal dil sorusu sorar 3. Cedrix 2-adımlı pipeline ile gerçek veriyi çeker ve YZ'ye gömer 4. Yanıt anlık olarak tarayıcıya streaming ile iletilir Şablonlar müşteri bazında local store'da saklanır (AES-256 şifreli). ### 2.4 CDTSM Zaman Serisi Tahmini Cisco Deep Time Series Model (CDTSM) ile `| apply CDTSM` SPL komutu üzerinden: - **Arıza tahmini:** Önümüzdeki 24-72 saatteki yüksek riskli ekipmanlar - **Anomali tespiti:** Temel çizgiden sapmaların tespit edilmesi - **Parametreler:** `model_name`, `by` (cihaz bazlı), `fill_null`, `forecast_k` - **Gereksinim:** Splunk AI Toolkit 5.7.3+ (on-prem), 5.7+ (cloud) Örnek SPL: ```spl index=gmsensors | timechart span=30m avg(bearing_de_temp) by motor_id | apply CDTSM model_name="bearing_anomaly" by=motor_id fill_null=true ``` ### 2.5 Hibrit Veri Maskeleme Veriler YZ API'sine ulaşmadan önce otomatik maskelenir, işlem bellekte gerçekleşir, diske yazılmaz. **Otomatik maskelenen tipler (6 adet):** - `IP_ADDRESS` — IPv4 adresleri → `[IP_1]`, `[IP_2]` - `MAC_ADDRESS` — MAC adresleri → `[MAC_1]` - `EMAIL` — E-posta adresleri → `[EMAIL_1]` - `UUID` — UUID v4 değerleri → `[UUID_1]` - `AUTH_TOKEN` — Bearer, Basic, api_key değerleri → `[AUTH_TOKEN_1]` - `CREDENTIAL` — password=, secret=, passwd= değerleri → `[CREDENTIAL_1]` **Özel kurallar:** Müşteri bazında regex veya wildcard pattern tanımlanabilir (operatör adı, makine kodu, tedarikçi kodu vb.). **Maskele/Geri Al:** `unmask()` ile YZ yanıtındaki token'lar orijinal değerlere çevrilir. **Örnek:** ``` Girdi: "Operator Mehmet Demir, tag: plc.line3@opc.local, IP: 192.168.1.100" Çıktı: "Operator [CUSTOM_1], tag: [EMAIL_1], IP: [IP_1]" ``` ### 2.6 Tarayıcı UI ve Çoklu Kullanıcı - Express 5 web sunucusu (`PORT=3000`) - JWT kimlik doğrulama (8 saat, `CEDRIX_JWT_SECRET`) - WebSocket üzerinden gerçek zamanlı YZ streaming - Fabrika ağındaki herhangi bir bilgisayardan erişilebilir - Uygulama kurulumu gerekmez ### 2.7 Zamanlanmış Raporlar - node-cron tabanlı otomatik analiz görevleri - SPL sorgusu + YZ prompt birlikte tanımlanır - PDF ve e-posta (SMTP) çıktı desteği - Hat ve ekipman bazında bağımsız zamanlayıcılar - Çalışma geçmişi, token maliyeti ve hata kayıtları ### 2.8 ML Anomali Profilleri - Splunk MLTK IsolationForest algoritması - `| fit` komutunu kullanan özel model eğitimi - Model ID formatı: `cedrix_{customerId}_{profileId}_anomaly` - Cihaz bazında profil oluşturma --- ## 3. Kurulum Seçenekleri ### Seçenek 1 — Dahili YZ (Sıfır Egress) **Gereksinimler:** - Splunk Enterprise 9.1+ veya Splunk Cloud - Splunk AI Toolkit 5.7+ (cloud) / 5.7.3+ (on-prem) - Splunk MCP Server (Cedrix bağlantısı için) **Özellikler:** - Veri Splunk kümesinden çıkmaz - İnternet bağlantısı gerekmez (fully air-gapped) - KVKK/GDPR — tam uyum by design - Foundation-Sec-1.1-8B, GPT-OSS 20B/120B modelleri ### Seçenek 2 — Bulut YZ **Desteklenen sağlayıcılar:** Claude, OpenAI, Gemini, NVIDIA NIM **Veri güvenliği:** Hibrit maskeleme — PII/gizli bilgiler API'ye ulaşmadan temizlenir **Gereksinim:** Sağlayıcı API anahtarı ### Seçenek 3 — Yerel YZ (Air-Gap) **Sağlayıcı:** Ollama (localhost:11434) **Modeller:** llama3, mistral, codellama, phi3 ve diğer Ollama modelleri **Özellikler:** İnternet gerekmez, fabrika ağında tam izolasyon **Her 3 seçenekte:** Splunk + Cedrix birlikte kurulur. Tek tedarikçi, tek kurulum. --- ## 4. Splunk Entegrasyon Detayları ### Desteklenen Bağlantı Modları | Mod | URL Formatı | Kimlik Doğrulama | |---|---|---| | On-prem REST | `https://host:8089/services/...` | Splunk token veya Bearer JWT | | Splunk Cloud REST | `https://host/en-US/splunkd/__raw/services/...` | Splunk token | | MCP Proxy | Splunk MCP Server üzerinden | MCP token | **Token tipi otomatik algılama:** - `.` içeriyorsa → `Authorization: Splunk ` - `ey` ile başlıyorsa → `Authorization: Bearer ` (JWT) - `customer.tokenType` ile manuel override: `'auto' | 'Splunk' | 'Bearer'` **SSL:** Self-signed sertifika desteği (`rejectUnauthorized: false`, per-customer agent cache) ### Splunk MCP Neden Gerekli? Splunk Cloud'da port 8089 doğrudan erişilebilir değildir. Cedrix, Splunk MCP Server kurulumunu tespit eder ve tüm sorguları MCP üzerinden yönlendirir: ``` BUILTIN_MCP_SUPERSEDES: splunk_search → splunk_run_query (MCP) splunk_get_indexes → splunk_get_indexes (MCP) splunk_server_info → splunk_get_info (MCP) ``` ### Splunk Araçları | Araç | Parametreler | Açıklama | |---|---|---| | `splunk_search` | query, earliest_time, latest_time, max_results | SPL sorgusu çalıştır | | `splunk_get_indexes` | — | Tüm indexleri listele | | `splunk_server_info` | — | Sunucu bilgilerini al | | `splunk_predict_maintenance` | index, metric_name, algorithm, lookahead_days (max 30) | Kestirimci bakım | | `splunk_anomaly_detection` | index, id_field, equipment_id, sensitivity (1-10) | Anomali tespiti | ### Sistem Promptu Cedrix, Splunk uzmanı rolünde Türkçe yanıtlar veren bir sistem promptu kullanır. Prompt, müşteri alias'ı, sunucu URL'si, IIoT alan eşlemesi ve hafıza içeriğini dinamik olarak içerir. --- ## 5. Güvenlik ve Uyumluluk ### 5.1 HWID Lisanslama **HWID hesaplama:** `SHA256(CPU + Disk SN + Board UUID + MAC)[0:4].hex().upper()` → 8 karakterli hex (örn. `A3F9D2C1`) **Tolerans:** 3/4 bileşen eşleşmesi yeterlidir (donanım değişikliği toleransı — disk değişimi vb.) **Lisans aktivasyon:** 1. Müşteri Cedrix UI'dan HWID alır 2. Lisans üretici base64url(JSON) formatında anahtar oluşturur (HMAC-SHA256 imzalı) 3. Offline aktivasyon — internet gerekmez 4. Lisans state: `valid → warning (T-30 gün) → grace (T+15 gün) → expired` **Lisans tipleri:** - **Standard:** 1, 2, 3 veya 12 ay. Grace: 15 gün. - **Trial:** 1 ay. Grace: Yok. ### 5.2 Veri Depolama Güvenliği **AES-256 şifreli store'lar:** Müşteri bilgileri, API anahtarları, ayarlar, sohbet geçmişi **Şifreleme anahtarı:** Per-installation random salt + donanım tanımlayıcılar → SHA256 **Lisans store:** Şifresiz — HMAC-SHA256 imza ile bütünlük **Güvenlik:** electron-store + contextIsolation (renderer JS main process'e erişemez) ### 5.3 Maskeleme Güvenlik Garantileri - **Diske yazılmaz:** MaskSession in-memory, session sonunda garbage collected - **Aynı değer = aynı token:** `[IP_1]` aynı session içinde tutarlı - **Audit log:** Token sayısı (`IP: 3, EMAIL: 2`) Splunk'a yazılır, orijinal değerler değil - **unmask():** YZ yanıtındaki token'lar orijinal değerlere çevrilir, kullanıcıya tam bilgi gösterilir ### 5.4 Admin Şifre Güvenliği - bcryptjs, SALT_ROUNDS=10 - Minimum 8 karakter - 3 yanlış deneme → 30 saniye kilitleme - 15 dakika idle → otomatik kilit - Kurtarma: Geçerli lisans anahtarı ile (valid/warning/grace state zorunlu) ### 5.5 KVKK & GDPR Teknik Önlemler 1. Maskeleme motoru — PII herhangi bir harici API'ye ulaşmadan temizlenir 2. Diske yazılmaz — tüm veri işleme in-memory 3. AES-256 şifreli local storage 4. Audit log → `cedrix_audit` Splunk indexi (PCI-DSS/NERC CIP/HIPAA uyumlu) 5. JWT 8 saat expiry 6. bcrypt şifre hash'leme 7. contextIsolation — renderer process güvenli izolasyon ### 5.6 Air-Gap Desteği **Çevrimdışı çalışanlar:** Lisans doğrulama, müşteri yönetimi, şablon kütüphanesi, Ollama modelleri, zamanlanmış görevler (lokal) **Online gerektiren:** Claude/OpenAI/Gemini/NVIDIA API çağrıları, Splunk Cloud MCP bağlantısı --- ## 6. Web API Referansı **Port:** `process.env.PORT || 3000` **Auth:** JWT — `POST /api/auth` ile Splunk token → JWT alınır; sonraki isteklerde `Authorization: Bearer ` veya `cedrix_token` cookie | Endpoint | Method | Açıklama | |---|---|---| | `/api/auth` | POST | Splunk token ile JWT al | | `/api/customers` | GET | Müşteri listesi (aiProvider, aiModel dahil) | | `/api/chat` | POST | YZ analizi başlat | | `/api/templates` | GET | SPL şablon listesi | | `/api/splunk` | GET | Splunk saved searches | | `/api/ml/status` | GET | ML profil durumu | | `/api/ml/retrain` | POST | ML modeli yeniden eğit | | `/api/export` | GET | Veri dışa aktarma | **WebSocket:** `ws://host:port/ws` — chat streaming, araç çağrısı sonuçları --- ## 7. Sık Sorulan Sorular (SSS) ### S1: Splunk olmadan Cedrix çalışır mı? Cedrix + Splunk birlikte kurulur; Splunk temel veri kaynağıdır. PostgreSQL ek kaynak olarak eklenebilir (MCP üzerinden). Splunk olmadan Cedrix'in temel YZ analiz özellikleri çalışmaz. ### S2: Splunk Cloud port 8089 erişimi olmadan çalışır mı? Evet. Cedrix, Splunk MCP Server kurulumunu otomatik tespit eder ve tüm sorguları HTTPS tabanlı MCP üzerinden yönlendirir. Port 8089 açık olmak zorunda değildir. ### S3: Splunk AI Toolkit olmadan YZ analizi mümkün mü? Evet. AITK yalnızca Dahili YZ seçeneği için gereklidir. Bulut YZ (Claude, OpenAI vb.) veya Yerel YZ (Ollama) seçenekleriyle AITK olmadan çalışır. ### S4: `| ai` komutu neden ham satır verilerini modele iletmiyor? Bu Splunk'ın tasarımsal bir kısıtlamasıdır. `| ai prompt="soru"` yalnızca prompt metnini iletir; pipeline satır değerlerini değil. Cedrix bu sorunu 2-adımlı pipeline ile çözer: önce ham veri çekilir, `key=value` formatına çevrilir, ardından prompt'a gömülerek `| ai`'ye gönderilir. ### S5: Dahili YZ ile hangi modeller kullanılıyor? Splunk Hosted Models: `Foundation-Sec-1.1-8B-Instruct` (siber güvenlik), `OpenAI GPT-OSS 20B` (genel amaçlı, varsayılan), `OpenAI GPT-OSS 120B` (yüksek kapasite). Bu modeller Splunk kümesinde çalışır. ### S6: HWID değişirse (disk değişimi vb.) ne olur? HWID 4 bileşenden oluşur (CPU, Disk, Board, MAC). 3/4 eşleşme toleransı vardır. Disk değişimi gibi tek bileşen değişikliklerinde genellikle yeniden aktivasyon gerekmez. 2/4 veya altında → yeni lisans aktivasyonu gerekir. ### S7: Kaç kullanıcı aynı anda kullanabilir? Web sunucusu (Express + WebSocket) çoklu kullanıcıyı destekler. Kullanıcı sayısı lisansta kısıtlanmaz; sunucu kaynaklarına bağlıdır. Tipik kullanımda 10-20 eş zamanlı kullanıcı sorunsuz çalışır. ### S8: Sohbet geçmişi ne kadar süre saklanır? API mesaj geçmişi: 100 mesaj (saveHistory). Görüntüleme geçmişi: 200 mesaj (saveDisplayHistory). Bağlam: varsayılan 6 tur (12 mesaj), ayarlanabilir 2-20 tur. ### S9: Trial lisans ile tam lisans arasındaki fark nedir? **Trial:** 1 ay, grace yok (bitince anında expire). **Standard:** 1, 2, 3 veya 12 ay, 15 gün grace period. Özellik seti aynı — tüm özellikler her iki lisansta da kullanılabilir. ### S10: Fiyatlandırma nasıl? Fiyat bilgisi için: info@cedrix.io veya cedrix.io. Demo talebi de aynı adresten yapılabilir. --- ## 8. Bilinen Kısıtlamalar | Kısıtlama | Açıklama | Çözüm/Workaround | |---|---|---| | `\| ai` inline max_tokens | AITK bağlantı seviyesinde ayarlanır; inline parametre geçersiz | AITK UI'dan ayarla | | `\| ai` row injection | Otomatik satır enjeksiyonu yok | Cedrix 2-adımlı pipeline kullanır | | Splunk Cloud REST 303 | HTTP 303 redirect — doğrudan REST çalışmaz | MCP üzerinden tüm sorgular | | `\| makeresults \| ai` | Gerçek pipeline verisi olmadan `\| ai` çalışmaz | Gerçek index sorgusu ile kullan | | SAIA (saia_ask_splunk_question) | Harici OpenAI GPT-4 — sıfır egress değil | Cedrix Dahili YZ seçeneğini kullan | | Türkçe klavye HWID | base64url büyük harf yapma sorunu | Cedrix otomatik sanitize eder | | Splunk 8.1 ve altı | Desteklenmez | Splunk 8.2+ gerektirir | | `\| ai` provider= zorunlu | Model belirtilirken provider parametresi de zorunlu | Her zaman ikisini birlikte kullan | --- ## 9. Teknik Altyapı | Bileşen | Teknoloji | |---|---| | Masaüstü uygulaması | Electron 30 | | UI (renderer) | React 18, Recharts | | Web sunucusu | Express 5, WebSocket (ws) | | Veri depolama | electron-store 8 (AES-256) | | Claude entegrasyonu | @anthropic-ai/sdk | | Gemini entegrasyonu | @google/generative-ai | | Zamanlayıcı | node-cron | | Şifre güvenliği | bcryptjs (SALT_ROUNDS=10) | | Test suite | Jest (1254 unit test) | | Build sistemi | electron-builder + webpack | **Build targets:** Windows (NSIS installer + portable .exe), macOS (.dmg Intel+ARM), Linux (.AppImage) --- ## 10. Referans Müşteri — RePG Energy **Ortam:** Splunk Cloud, 37 IIoT cihaz (gaz motor filosu), Modbus/OPC-UA sensörler **Bağlantı:** Cedrix MCP üzerinden — port 8089 güvenlik duvarı arkasında **Aktif kullanım:** 28 motor izleniyor, 40.000+ event/gün **Örnek karar sonucu:** GM19 motorunun sensör arızası Cedrix tarafından tespit edildi, bakım öne alındı, planlanmamış üretim duruşu önlendi. Bearing sıcaklığı anomalisi: +280°C 3 saatlik spike → arıza riski %99 → acil bakım kararı. --- ## 11. Kurulum Hızlı Başlangıç 1. Splunk AI Toolkit 5.7+ yükle (Splunk Cloud veya On-Prem) 2. Splunk MCP Server'ı yapılandır (Cedrix bağlantısı için) 3. `Cedrix-Setup-2.12.0.exe` çalıştır (Windows) → admin şifre kur 4. Settings'te YZ sağlayıcısı ve API anahtarı gir 5. Müşteri ekle: MCP URL + token → bağlantı test et 6. İlk SPL şablonunu oluştur → Türkçe soruyu sor → anlık analiz **Tahmini kurulum süresi:** 30 dakika --- *Bu belge Cedrix v2.12.0 için geçerlidir. Güncel bilgi: https://cedrix.io | info@cedrix.io*