update
This commit is contained in:
@@ -166,6 +166,80 @@ Popros uzytkownika tylko o numer. Po wyborze:
|
||||
- `2` pokaz liste klientow,
|
||||
- `3` zakoncz.
|
||||
|
||||
## Raport klienta
|
||||
|
||||
Gdy uzytkownik poprosi o raport klienta albo poda komende w stylu:
|
||||
|
||||
```text
|
||||
analiza-klienta aruba.rzeszow.pl 02-2026
|
||||
```
|
||||
|
||||
uruchom:
|
||||
|
||||
```powershell
|
||||
python gads.py analiza-klienta aruba.rzeszow.pl 02-2026
|
||||
```
|
||||
|
||||
To jest alias dla generowania miesiecznego raportu HTML klienta. Obslugiwane sa formaty miesiaca `MM-YYYY`, `MM.YYYY` i `YYYY-MM`.
|
||||
|
||||
Jesli uzytkownik napisze tylko:
|
||||
|
||||
```text
|
||||
raport-klienta
|
||||
```
|
||||
|
||||
uruchom:
|
||||
|
||||
```powershell
|
||||
python gads.py raport-klienta
|
||||
```
|
||||
|
||||
Pokaz uzytkownikowi liste klientow i popros o numer. Po wyborze klienta oraz miesiaca uruchom:
|
||||
|
||||
```powershell
|
||||
python gads.py raport-klienta --client-number <numer-klienta> --month <YYYY-MM>
|
||||
```
|
||||
|
||||
Komenda najpierw pobiera dane i zatrzymuje sie przed generowaniem HTML. Tworzy plik roboczy:
|
||||
|
||||
```text
|
||||
scripts/reports/output/<domena>_<YYYY-MM>_recommendations.json
|
||||
```
|
||||
|
||||
Wnioski i rekomendacje przygotowuje agent AI, nie skrypt. Agent ma przeczytac dane raportu i kontekst w pliku rekomendacji, uzupelnic `recommendations` konkretnymi wnioskami, pokazac je uzytkownikowi i zapytac o akceptacje.
|
||||
|
||||
Wnioski pisz z perspektywy osoby, ktora obsluguje konto Google Ads klienta. Nie pisz do klienta, ze `warto cos sprawdzic`, `trzeba zweryfikowac` albo `nalezy przeanalizowac`, jakby decyzja byla po jego stronie. Pisz decyzyjnie: co robimy, co zostawiamy, co ograniczamy, co kontrolujemy i jaki jest nastepny krok po naszej stronie. Unikaj bezosobowych, nijakich rekomendacji.
|
||||
|
||||
W tekstach raportu dla klienta uzywaj poprawnych polskich znakow. Dotyczy to szczegolnie tytulow, wnioskow i rekomendacji w pliku `recommendations`. Nie zapisuj tam wersji bez ogonkow typu `zwiekszamy`, `wartosc`, `srednia`, jezeli tekst trafi do HTML widocznego dla klienta.
|
||||
|
||||
Po akceptacji wnioskow uruchom:
|
||||
|
||||
```powershell
|
||||
python gads.py raport-klienta --client <domena> --month <YYYY-MM> --confirm-recommendations TAK
|
||||
```
|
||||
|
||||
Dopiero wtedy komenda generuje lokalny raport HTML w:
|
||||
|
||||
```text
|
||||
scripts/reports/output/<domena>/<YYYY-MM>/index.html
|
||||
```
|
||||
|
||||
Jeżeli klient ma w `config/clients.toml` ustawione `sales_history_sheet`, historia sprzedaży miesięcznej oraz trzy kafelki w sekcji `E-commerce — Sprzedaż` mają pochodzić z tego arkusza Google Sheet. Arkusz powinien zawierać kolumny: `Miesiąc`, `Transakcje`, `Przychody`, `Średnia wartość koszyka`. Nie zastępuj tych danych GA4, jeżeli arkusz jest skonfigurowany.
|
||||
|
||||
Po wygenerowaniu raportu pokaz uzytkownikowi sciezke do pliku i popros o akceptacje przed wysylka na serwer. Nie wysylaj raportu bez jasnej zgody uzytkownika.
|
||||
|
||||
Po akceptacji uruchom upload:
|
||||
|
||||
```powershell
|
||||
python gads.py raport-klienta --client <domena> --month <YYYY-MM> --confirm-upload TAK
|
||||
```
|
||||
|
||||
Po wysylce podaj URL:
|
||||
|
||||
```text
|
||||
https://adspro.projectpro.pl/raporty/<slug>/<YYYY-MM>/
|
||||
```
|
||||
|
||||
## Zasady komunikacji
|
||||
|
||||
- Pisz po polsku.
|
||||
@@ -245,6 +319,58 @@ Przed wdrozeniem tytulow agent musi uzupelnic docelowe wartosci tytulow w zapisa
|
||||
Przed wdrozeniem kategorii agent musi uzupelnic docelowe wartosci kategorii w zapisanym planie JSON i dopiero wtedy zapytac uzytkownika o zgode.
|
||||
Unit pricing moze byc proponowany przez skrypt, jezeli da sie go jednoznacznie odczytac z nazwy produktu.
|
||||
|
||||
## Reczne przypisywanie regul
|
||||
|
||||
Gdy uzytkownik napisze:
|
||||
|
||||
```text
|
||||
Przypisz regule:
|
||||
- tresc reguly do oceny
|
||||
```
|
||||
|
||||
agent ma potraktowac to jako prosbe o kuracje pojedynczej reguly wiedzy.
|
||||
|
||||
Kolejnosc pracy:
|
||||
|
||||
1. Sprawdz aktualne grupy i zadania w `config/tasks.toml`.
|
||||
2. Nie przywracaj usunietych zadan ani grup. Jesli lista zadan jest ograniczona, uznaj to za swiadoma decyzje uzytkownika.
|
||||
3. Ocen, czy regule warto dodac do narzedzia.
|
||||
4. Zaproponuj docelowe brzmienie reguly: `condition`, `recommendation`, `risk`, `rule_type`, `topic`, `confidence` i docelowe `task_ids`.
|
||||
5. Zaproponuj policzalny `machine_condition` i `machine_effect`, jezeli regule da sie bezpiecznie zastosowac w skrypcie na danych pobieranych przez dane zadanie.
|
||||
6. `machine_condition` ma uzywac tylko pol, ktore naprawde istnieja w planie danego zadania, np. `channel_type`, `conversions_30d`, `bidding_strategy_type`, `budget_context`, `search_budget_lost_impression_share`.
|
||||
7. Jesli nie da sie zbudowac bezpiecznego warunku maszynowego, napisz to wprost i zaproponuj zapis reguly bez automatycznego wplywu, jako kontekst dla agenta AI/czlowieka.
|
||||
8. Uzywaj tylko istniejacych identyfikatorow zadan z `config/tasks.toml`.
|
||||
9. Jesli nie ma dobrego zadania, powiedz, ze regule lepiej odlozyc albo dodac dopiero po utworzeniu nowego zadania.
|
||||
10. Nie zapisuj reguly do `knowledge/rules.jsonl`, dopoki uzytkownik jasno nie odpowie `Dodaj`.
|
||||
11. Po odpowiedzi `Dodaj` dopisz jedna kompletna linie JSONL do `knowledge/rules.jsonl`.
|
||||
|
||||
Przy zapisie do `knowledge/rules.jsonl` uzupelnij pola: `id`, `status`, `topic`, `task_ids`, `suggested_task_ids`, `rule_type`, `condition`, `recommendation`, `risk`, `source`, `source_file`, `confidence`, `duplicate_of`, `supersedes`, `text`, `created_at`, `updated_at`. Jezeli regula ma dzialac automatycznie, dodaj tez `machine_condition` i `machine_effect`.
|
||||
|
||||
Przyklad policzalnej czesci reguly:
|
||||
|
||||
```json
|
||||
{
|
||||
"machine_condition": {
|
||||
"all": [
|
||||
{"field": "channel_type", "op": "eq", "value": "SEARCH"},
|
||||
{"field": "conversions_30d", "op": "lt", "value": 15},
|
||||
{"field": "bidding_strategy_type", "op": "in", "value": ["MAXIMIZE_CONVERSIONS", "TARGET_CPA", "MAXIMIZE_CONVERSION_VALUE", "TARGET_ROAS"]}
|
||||
]
|
||||
},
|
||||
"machine_effect": {
|
||||
"level": "ostroznie",
|
||||
"action": "nie przechodz na automatyzacje konwersyjna",
|
||||
"reason_prefix": "Regula wiedzy"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ten tryb jest reczna alternatywa dla komendy:
|
||||
|
||||
```powershell
|
||||
python gads.py wiedza przypisz
|
||||
```
|
||||
|
||||
## Reguly i wyjatki klientow
|
||||
|
||||
Ustawienia globalne i wyjatki per klient sa w:
|
||||
|
||||
Reference in New Issue
Block a user