Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Devir paketi — Kırşehir Su ve Elektrik Tesisleri Envanteri Bu paket, çalışmayı Claude Code tarafında sürdürmek için hazırlandı. Amaç: programı yeniden tasarlamak değil, çalışan bu sürümü gerçek bir kod deposunda sürdürülebilir hâle getirmek. Çalışan sürüm: 2026.09.30-103. Sürüm damgası index.html içindeki const SURUM satırında ve programın Ayarlar > Veri > "Program sürümü" kartında görünür.查看完整 README ↗
Bu paket, çalışmayı Claude Code tarafında sürdürmek için hazırlandı. Amaç: programı yeniden tasarlamak değil, çalışan bu sürümü gerçek bir kod deposunda sürdürülebilir hâle getirmek.
Çalışan sürüm: 2026.09.30-103. Sürüm damgası index.html içindeki
const SURUM satırında ve programın Ayarlar > Veri > "Program sürümü"
kartında görünür.
Depo düzeni bu paketten farklı: bu GitHub deposunda (abert84tv/kirsehir-envanter)
yayına giden dosyalar yayin/ alt klasörü olmadan doğrudan depo kökündedir —
Vercel'in cleanUrls ile kök dizini otomatik sunması buna dayanıyor. Aşağıdaki
tablo ve yollar buna göre güncellenmiştir; masaüstündeki devir paketi hâlâ
yayin/ alt klasörlü orijinal düzeni kullanır.
Kırşehir'deki kırsal su ve elektrik tesislerinin (kuyu, depo, AG panosu, GES) envanteri; saha arıza ve bakım takibi; ambar/zimmet, araç, personel ve nöbet kayıtları; harita üzerinde konum ve hat yönetimi. Telefon ve masaüstü aynı programdan çalışır; çevrimdışı kayıt tutar, bağlantı gelince eşitler.
Kapsamın tamamı, ekran ekran alan listeleri, veri kaynakları ve oturum oturum
değişiklik kaydı DURUM.md dosyasındadır. Claude Code'da ilk okunacak dosya
budur.
| Yol | Ne |
|---|---|
index.html | Ana program: bütün ekranlar, iş kuralları, yetki, eşitleme |
harita.html | Harita penceresi (Leaflet), ana pencereyle postMessage ile konuşur |
profil.html | Hat Kesiti — çok noktalı mesafe/yükseklik profili |
hat.html | Hat güzergâhı (boru) çizim aracı |
harita-ortak.css, harita-ortak.js | Üç harita dosyasının (harita/profil/hat) paylaştığı koyu tema karo kısması ve uzun-basış nokta ekleme mantığı — burada tek yerden değişir |
envanter.js, koyler.js, kuyular.js, kirsehir-data.js | Gömülü gerçek veri: 264 kuyu noktası, 1043 yerleşim, 260 köy-ilçe ataması, nüfus |
isu-katmanlar.js | ISU kurumundan alınan referans nokta katmanları (kaynak, memba, depo) — harita.html'de seçmeli katman |
supabase-baglanti.js | Sunucu katmanı: oturum, kurum_veri, denetim, numara sayacı, sunucu saati |
SQL-*.sql | Veritabanı kurulum betikleri (sırası aşağıda) |
_ds/ | Bağlı tasarım sistemi (Modernist) — token ve bileşen kaynağı |
DURUM.md | Durum raporu + bütün oturum kayıtları (ana referans) |
KURULUM.md | Supabase / R2 / SMS kurulum adımları |
YAYIN.md | Yayınlama (GitHub + Vercel) notları — yayin/ alt klasörünü anlatıyor, bu depoda geçerli değil |
vercel.json | Yayın ayarı — kök dizin cleanUrls ile doğrudan sunulur |
Depodaki HTML dosyaları maket değil, çalışan programdır. Tarayıcıda
index.html açılınca çalışır; derleme adımı yoktur.
Push'tan önce: node duman-testi.js — tarayıcı açmadan, birkaç saniyede
biten hafif bir kontrol: gömülü script'lerin sözdizimi, yerel dosya
referanslarının (src/href) gerçekten var olması, vercel.json rewrite
hedeflerinin var olması, üç harita dosyasının harita-ortak.css'i yüklemesi.
Hiçbir CI/otomatik test yok — bu, en azından "site hiç açılmaz" türünden
hataları push'tan önce eler (bkz. harita.html/profil.html/hat.html
paylaşılan kod tekrarı ve vercel.json 404 hataları, 2026.09.14–15).
src/ klasöründe modüllere ayrılmıştır (src/moduller/<ad>/ — şablon masaüstü+telefon,
yöntemler, görünüm modeli, SQL, edge function). index.html ve supabase-baglanti.js üretilen dosyalardır: node build.js
ile src/'den derlenir (Vercel de yayında çalıştırır; npm bağımlılığı yok, yalnız Node). Ayrıntı ve özellik ekleme/çıkarma kılavuzu:
src/README.md; ilerleme kaydı: MODUL-ILERLEME.md; modül bağımlılıkları: node modul-bilgi.js --bagimlilik.
index.html'i elle düzenlemeyin — değişiklik src/'de yapılır, sonra node build.js && node duman-testi.js.index.html içinde bir bileşen sınıfı + şablon; derleyici/paket yöneticisi yok.var(--*) token'larından
gelir. Ayrı CSS sınıf katmanı yoktur.harita.html) ve postMessage ile yönetilir:
{ks:'theme'|'filter'|'setBase'|'pick'|'hatKatman'|'flyTo'} gönderilir,
haritadan {ks:'route'|'base'|'hatlar'|...} döner.state; kalıcılık localStorage + Supabase.veri_oku, veri_yaz,
veri_hepsi, denetim_ekle, denetim_toplu, denetim_listesi,
ambar_hareket, numara_al, numara_toplu, sunucu_saati). Tablolara
doğrudan erişim RLS ile kapalı, denetim tablosu tetikleyiciyle
değiştirilemez.ks-tema (tema — cihaz düzeyi, tek doğru kaynak), ks-pref-<kullanıcı>
(kullanıcı tercihleri), ks-ekipler, ks-ambar, ks-ambar-kuyruk,
ks-kuyruk (eşitleme kuyruğu), oturum/token anahtarları.
Tema kuralı (son oturumda düzeltildi): tema iki yerde tutuluyordu ve
çakışıyordu. Artık girişte cihazdaki ks-tema her zaman kazanır; kullanıcı
tercih dosyasındaki theme yalnız cihazda kayıt yoksa devreye girer, her
seçimde ikisi eşitlenir. Bu davranış korunmalı — bozulursa "aydınlığa aldım,
tekrar girince koyu açılıyor" sorunu geri gelir.
Üç giriş yolunun hepsi (normal giriş, şifre değişimi sonrası, otomatik oturum)
tab: 'harita' ile başlar: ana sayfa Envanter > Harita. Bırakılan sayfa
geri getirilmez; tema, harita zemini, süzgeçler, katmanlar, koordinat sistemi
ve cihaz modu geri gelir.
Çakışan menü sorunu sabit piksel yerine iki canlı CSS değişkeniyle çözüldü:
--tel-bas (üst çubuğun gerçek alt kenarı) ve --tel-nav (alt menünün gerçek
yüksekliği). Değerler açılışta, boyut ve yön değişiminde ölçülüp yazılır; açılan
bütün paneller bu değişkenlere yaslanır. Yeni panel eklerken sabit top/bottom
piksel yazılmamalı, bu değişkenler kullanılmalı.
Supabase SQL düzenleyicisinde bir kez, bu sırayla:
src/moduller/cekirdek/sql/SQL-yeni-moduller.sqlsrc/moduller/denetim/sql/SQL-cop-kutusu.sqlsrc/moduller/esitleme/sql/SQL-moduller-sunucu.sqlsrc/moduller/esitleme/sql/SQL-veri-butunlugu.sqlsrc/moduller/ambar/sql/SQL-ambar-hurda.sql — ambar hareketine "hurda" türü ekler (2026.09.15)src/moduller/is-emri/sql/SQL-is-emirleri.sql — İş Emri tablosu + RPC seti (2026.09.30)src/moduller/ariza/sql/SQL-kanit-saklama.sql — arıza kanıtı 2 yıl / envanter fotoğrafı ömür
boyu saklama politikası, KVKK (2026.09.30)src/moduller/ambar/sql/SQL-ambar-koy-raporu.sql — ambar hareketine tesis referansı ekler,
köy/ilçe bazlı malzeme raporu için (2026.09.30)Daha önce çalıştırılanlar tekrar edilmez; hepsi create or replace ile
yazıldığı için tekrar çalıştırmak da zarar vermez. 4'ü daha önce
çalıştırdıysanız yalnız 5-6-7'yi çalıştırmanız yeterli.
Depo kökü doğrudan yayındır — git push origin main yeterli, Vercel bu
depoya bağlı, otomatik yayına alır (1-2 dakika). Yükleme sonrası tarayıcıda
bir kez sert yenileme (Ctrl+F5) gerekir — eski kopya önbellekte kalırsa
sürüm damgası 2026.09.30-103 görünmez ve düzeltmeler uygulanmamış gibi durur.
Program içinde Ayarlar > Veri > "Programı tazele" aynı işi yapar.
2026.09.14 listesindeki dört madde (uzun basış, çift tık, koyu tema, yetki
sadeleştirme) 2026.09.15 oturumunda bitti. 2026.09.30'da "büyük güncelleme"
(38 maddelik istek listesi) başladı, fazlara bölündü — plan dosyası:
C:\Users\abert\.claude\plans\glistening-sauteeing-spindle.md, ayrıntılı
kayıt DURUM.md. Şu an en öncelikli, aktif bekleyenler:
nav, goOzet — hiçbir şablonda çağrılmıyordu)
silindi; telefonda Ayarlar > Görünüm'deki "Diğer ekranlar" kısayol
listesi, o an açık olan Ayarlar'a kendine dönen anlamsız bir düğme
gösteriyordu, düzeltildi.Yapı kararı: sayfa kimlikleri (Envanter, İşler, Kaynaklar, Özet, Hat Kesiti, Ayarlar) sabittir — yeni iş bunların üstüne oturur, kapanan modüller sayfa değil süzgeç düşürür. Sol menüdeki grup başlıkları ve etiketler (2026.09.30'da "Saha işleri" / "Envanter" olarak ikiye ayrıldı) buna dahil değil, kullanılabilirlik için değişebilir.
Görsel dil yayin/_ds/ altındaki Modernist sistemine bağlıdır: tek yazı tipi
Archivo, keskin köşe, güçlü ayraç, tek vurgu rengi. Program arayüzü bunun
üzerine Apple benzeri sakin bir katman koyar: ana renk mavi #0071e3, zemin
#f5f5f7, yazı #1d1d1f, saç teli ayraçlar, yuvarlatılmış köşeler; kırmızı
yalnız acil öncelik, hata/uyarı kutuları ve çevrimdışı şeridinde. Yeni ekran
eklerken bu palet ve 42px dokunma yüksekliği kuralı korunmalı.
ks-oturum) ile
çalışıyor — zaten her girişte yazılıyordu (supabase-baglanti.js),
yalnızca açılışta kullanılmıyordu; eksik olan tek şey açılışta bunu
devreye sokmaktı. Anahtar geçersiz/süresi dolmuşsa ya da yoksa kısa bir
yükleniyor ekranından sonra normal giriş ekranına düşülüyor. Çıkış
yapmak hem sunucudaki hem cihazdaki anahtarı siler — yenilemeyle geri
gelmez.hat.html). Araç takip tarafında altyapı tamam
(sonKonum, elle giriş, haritada gösterme) ama canlı Arvento
bağlantısı yazılmadı — API anahtarı/uç nokta bilgisi olmadan
tahmine dayalı bir istemci üretmek yanlış olur, bkz. madde 8.TALEP_KANAL, DB tarafında zaten hazırdı).
Kalan her şey (WhatsApp/Telegram/SMS bot webhook'ları, gerçek talep
alma) sağlayıcı hesabı/anahtarı gerektiriyor — madde 8'de.abert84tv/elektrik-hesaplama,
Next.js/TypeScript, 22.121 satır, test edilmiş hesap motorları). Tam kod
taşıma yerine harita.html deseniyle (iframe+postMessage) gömülü
entegrasyon önerildi — hesap motoruna dokunmadan. Karar bekleniyor.support.js — kökü bulmak gerçek bir hata
ayıklayıcı/breakpoint erişimi ister, şu an elde yok.