NetSendo v2.0.12: Autonomia Brain AI, Scoring Wydajności i Nowe Webhooki

🚀 Najinteligentniejszy NetSendo w historii — oto v2.0.12
Co odróżnia dobrą platformę marketing automation od świetnej? Zdolność do uczenia się na podstawie przeszłości i automatycznego działania w oparciu o tę wiedzę. NetSendo v2.0.12 robi dokładnie to — wprowadza wymiar scoringu oparty na wydajności do silnika Brain AI, nadaje każdemu agentowi własny poziom autonomii i podłącza potok wykonywania oparty na kalendarzu, który zamienia Twoją tygodniową strategię w bezobsługowe dostarczanie kampanii.
Oprócz ulepszeń AI, ta wersja zawiera kompleksową naprawę niezawodności webhooków: per-listowy webhook wreszcie wyzwala się dla wszystkich zdarzeń cyklu życia subskrybenta, picker zdarzeń udostępnia teraz pełny kanoniczny słownik, a dwa długotrwałe błędy (brak domyślnej wartości sekretu i ciche błędy dostarczania) zostały w pełni rozwiązane.
🧠 Nowości w Brain AI
1 — Scoring oparty na wydajności: 5. wymiar
TaskScorer Brainu poprzednio oceniał zadania w czterech wymiarach z maksymalnym wynikiem 100. v2.0.12 dodaje piąty: performance_affinity, skala 0–25 punktów, która nagradza zadania bliskie Twoim historycznie udanym wzorcom — zwycięskie dni tygodnia, szczytowe godziny wysyłki, skuteczne typy kampanii i efektywne wzorce linii tematycznych.
Zakres wyników: 0–125
Wyniki zadań obejmują teraz 0–125 (poprzednio 0–100), a nowy wymiar performance_affinity wnosi do 25 punktów.
Rozpoznawanie wzorców
Nagradza zadania zgodne ze zwycięskimi dniami, godzinami, typami kampanii i wzorcami tematów z Twojej historii.
Automatyczne i bez konfiguracji
Żadnego ręcznego dostrajania — sygnały PerformanceLearner przepływają automatycznie do każdego cyklu scoringu.
ℹ️ Uwaga: 5. wymiar scoringu jest addytywny. Istniejące zadania zostaną przeliczone przy następnym cyklu oceny — żadna migracja danych nie jest wymagana.
2 — Analiza AI świadoma strategii i planowanie kampanii
Prompty AI Brainu zostały znacząco wzbogacone. SituationAnalyzer teraz wstrzykuje dwa nowe bloki kontekstowe do każdego promptu analizy: PERFORMANCE INSIGHTS (Twoje najlepsze dni, godziny i typy kampanii) oraz STRATEGY CONSTRAINTS (ton, wykluczone dni, limity wysyłek, cel). Dwie nowe instrukcje promptu (9 i 10) wyraźnie wymagają od AI przestrzegania tych zdefiniowanych przez użytkownika ograniczeń i wykorzystania danych historycznych w każdej rekomendacji.
3 — Autonomiczne wykonywanie kampanii z kalendarza
To jest główna funkcja automatyzacji v2.0.12. Potok CRON zawiera teraz nową metodę executeDueCalendarEntries(), która automatycznie pobiera wpisy AiCampaignCalendar gdzie planned_date <= today i status = 'draft', konwertuje je w pełni uformowane zadania i kieruje przez orchestrator agentów.
- Wpisy kalendarza automatycznie stają się prawdziwymi kampaniami — bez ręcznego wyzwalania
- Tygodniowe limity wysyłek z ustawień strategii są egzekwowane automatycznie
- Limit bezpieczeństwa 3 wpisów na cykl CRON zapobiega niekontrolowanemu wykonywaniu
- Pełny kontekst kampanii (typ, odbiorca, ton, kontekst strategiczny) jest zachowany end-to-end
4 — Routing trybu autonomii per-agent
Poprzednio Brain działał w jednym globalnym trybie pracy. v2.0.12 zastępuje to indywidualnymi poziomami autonomii per agent. Każde zadanie sprawdza teraz tryb swojego agenta przez $settings->getAgentMode($agentType) i kieruje odpowiednio:
| Tryb | Zachowanie |
|---|---|
autonomous | Wykonaj natychmiast przez AgentOrchestrator::executeCronTask() |
semi_auto | Utwórz plan działania + wyślij żądanie zatwierdzenia przez Telegram |
manual | Zapisz jako sugestię, pomiń wykonanie |
5 — UI ustawień strategii i trybów agentów
Wszystko powyższe jest konfigurowalne przez nową, dedykowaną sekcję na stronie Brain Settings. Dodano dwa panele:
🧩 Siatka trybów agentów
Siatka 7 agentów obejmująca Campaign, List, Message, CRM, Analytics, Segmentation i Research — każdy z własnym dropdownem dla Autonomous / Semi-Auto / Manual.
🎯 Ustawienia strategii kampanii
- Selektor tonu komunikacji (profesjonalny, casualowy, przyjazny, formalny, humorystyczny)
- Suwak maks. kampanii tygodniowo (1–20)
- Przyciski toggle wykluczonych dni (Pon–Niedz)
- Preferowane godziny wysyłki (od/do)
- Selektor celu (zaangażowanie, konwersja, retencja, wzrost)
- Pole preferowanych tematów (oddzielone przecinkami)
💡 Pro Tip: Zacznij z agentem Campaign w trybiesemi_autoprzez pierwszy tydzień. Przeglądaj żądania zatwierdzenia w Telegramie, aby nabrać zaufania do decyzji AI, a następnie przełącz naautonomous, gdy wzorce będą zgodne z Twoimi oczekiwaniami.
🔗 Nowości w Webhookach
Pełny picker zdarzeń cyklu życia subskrybenta (GitHub #20)
Picker zdarzeń webhooka per-lista w Ustawieniach listy → Integracja poprzednio oferował tylko cztery przestarzałe krótkie nazwy. v2.0.12 zastępuje je pełnym kanonicznym zestawem zdarzeń: subscriber.created, subscriber.subscribed, subscriber.unsubscribed, subscriber.bounced, subscriber.tag_added, subscriber.tag_removed. Istniejące konfiguracje są automatycznie migrowane — nie jest potrzebna ręczna rekonfiguracja.
Per-listowy webhook teraz wyzwala się dla wszystkich zdarzeń (GitHub #20)
To była znacząca luka niezawodności: zdarzenia subskrybenta pochodzące z Web UI, linków wypisania, przetwarzania bounce'ów, importu CSV i zmian tagów były cicho odrzucane i nigdy nie pojawiały się w webhook_logs. DispatchWebhooksListener teraz dostarcza do webhook_url odpowiedniej listy dla każdego zdarzenia cyklu życia subskrybenta — asynchronicznie przez nowe DispatchListWebhookJob w kolejce.
⚠️ Ważne: Jeśli polegałeś na per-listowym webhooku dla automatyzacji opartej na tagach, te zdarzenia nigdy nie były dostarczane przed v2.0.12. Po aktualizacji spodziewaj się zdarzeńsubscriber.tag_addedisubscriber.tag_removedpo raz pierwszy.
🐛 Krytyczne poprawki błędów
- Auto-generowanie sekretu webhooka: Model Webhook teraz auto-generuje 64-znakowy sekret przy każdym tworzeniu. Migracja relaxuje kolumnę do nullable.
- Globalny unsubscribe zwraca HTTP 403: Wszystkie cztery publiczne endpointy unsubscribe teraz poprawnie zwracają 403 Forbidden przy nieprawidłowym/wygasłym podpisie (poprzednio 200 OK).
- Ustawienia Bounce Scope i Soft Bounce Threshold: Wartości były cicho usuwane przy zapisie. Brakujące reguły walidacji zostały dodane — teraz wartości są poprawnie zapisywane.
- Backup mysqldump na kliencie MariaDB: Flaga --ssl-mode=DISABLED zastąpiona kompatybilną z MariaDB --ssl=0. Backupy nie kończą się już błędem.
- Przyciski quick-select tagów w edytorze wiadomości: Dodano type="button", aby kliknięcia nie zapisywały formularza i nie przekierowywały użytkownika.
⚙️ Jak zaktualizować
# Pobierz najnowszy obraz
docker compose pull
# Uruchom ponownie z migracjami
docker compose up -d
# Sprawdź status migracji
docker compose exec app php artisan migrate:status
⚠️ Ważne: Dwie nowe migracje są dołączone do tej wersji. Obie są nieniszczące i odwracalne. Zawsze wykonaj kopię zapasową bazy danych przed aktualizacją.
Gotowy, żeby Brain przejął stery?
v2.0.12 jest już dostępny na GitHubie. Zaktualizuj swój self-hosted instance i zacznij konfigurować autonomię per-agent oraz strategię kampanii już dziś.




