Genel Yazılım Otomasyon Mimarisi
TaskLoop, GM Macro ve FlowPilot Pro gibi araçlar aynı mühendislik ilkelerine dayanır: yapılandırılabilir profiller, gözlemlenebilir yürütme ve kullanıcı kontrolünde başlat/durdur. Bu makale dil bağımsız desenleri özetler.
1. Durum makinesi (FSM)
Otomasyon asla «sonsuz while» ile bırakılmamalıdır. Örnek durumlar: Idle, Watching, Acting, Cooldown, Error. Geçişler olaylarla tetiklenir (MatchFound, ActionDone, Timeout). Hata durumunda güvenli Idle’a dönüş zorunludur.
2. Olay kuyruğu
Vision thread UI’yı bloklamaz; VisionEvent nesneleri kuyruğa yazılır. Action thread tek tüketici olmalıdır — aynı anda iki makro dizisi çakışmaz. Kuyruk boyutu üst sınırlıdır; taşma durumunda en eski olay düşürülür ve log uyarısı üretilir.
3. Profil JSON şeması
{
"version": 2,
"delay_profile": { "mean_ms": 95, "std_ms": 18 },
"scenarios": [
{
"id": "report_export",
"trigger": { "type": "template", "roi": "btn_export", "threshold": 0.9 },
"actions": [
{ "type": "click", "roi": "btn_export" },
{ "type": "wait", "ms": 1200 },
{ "type": "key", "keys": ["Enter"] }
]
}
]
}
Şema sürüm alanı geriye dönük uyumluluk için kritiktir. Migrasyon script’leri eski profilleri yükseltir.
4. Gözlemlenebilirlik
Yapılandırılmış log (JSON satır): zaman damgası, profil id, adım, süre, sonuç. Kullanıcı arayüzünde «son 50 olay» paneli destek maliyetini düşürür. Hassas veri (şifre, kişisel metin) loglanmamalıdır.
5. Fail-safe kuralları
- Kullanıcı Esc veya panik düğmesi ile anında durdurma.
- Maksimum döngü sayısı ve oturum süresi üst sınırı.
- OCR güven skoru düşükse aksiyon yok.
- Ağ Agent’ında TLS veya en azından LAN segmentasyonu.
6. Test piramidi
Alt katman: saf C# birim testleri (karar mantığı). Orta: kayıtlı PNG fixture ile vision regresyonu. Üst: manuel senaryo checklist (kurulum rehberinde). CI’da başlıksız sunucuda yalnızca alt iki katman çalışır.
İlgili: Düşük gecikmeli girdi · Kurulum rehberleri