Files
servicedesk/wiki/operator/README.md
Kacper 4b70b910a9 v1.5.0
Co nowego:
- Podgląd logów w panelu admina (Admin > Logi) — pliki storage/logs/*.log
  bez potrzeby dostępu do kontenera, z filtrami poziomu/tekstu/liczby wpisów
  i auto-odświeżaniem.
- Filtr „Bez kategorii” w kolejce operatora — izoluje zgłoszenia bez
  przypisanej kategorii/podkategorii.
- Narzędzie importu z Heska: już nie tworzy automatycznie kont klientów dla
  nieznanych e-maili (pomija takie zgłoszenia zamiast zakładać konto),
  łączy odpowiedzi/właścicieli zgłoszeń z realnymi kontami operatorów po
  e-mailu, nowe flagi --assign-operators i --fix-closed-dates do
  donaprawiania wcześniejszych importów, dedykowany log
  storage/logs/hesk-import.log.
- Poprawka: pulpit statystyk operatora (rozkład wg kategorii/podkategorii i
  filtr kategorii) pomijał zgłoszenia przypisane do samej kategorii bez
  podkategorii (np. z poczty IMAP) — teraz liczone poprawnie.
- Poprawka: błąd JS i zawieszone w tle liczniki przy nawigacji z widoku z
  aktywnym licznikiem (najbardziej odczuwalne w liczniku czasu pracy
  operatora).
- Porządki w bazie: usunięte niewykorzystywane kolumny
  (users.remember_token, users.email_verified_at,
  email_templates.trigger_label); wartości pól dodatkowych, stan
  triage/podsumowania AI i powiązany sprzęt Snipe-IT przeniesione z tabeli
  tickets do osobnych tabel (ticket_field_values, ticket_ai_summaries,
  ticket_snipeit_assets) — bez zmiany zachowania, ale pola dodatkowe są
  teraz efektywnie przeszukiwalne; dodane brakujące indeksy na 4 tabelach
  pivot; tickets.source/ticket_messages.source walidowane względem znanego
  zestawu wartości.

Zaktualizowana dokumentacja: README, CLAUDE.md, ARCHITECTURE.md,
CHANGELOG.md, wiki/admin, wiki/operator.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-05 14:28:03 +02:00

219 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Przewodnik — Operator
Panel operatora (`/operator`) to miejsce pracy z kolejką zgłoszeń: przegląd,
odpowiadanie, zmiana statusu/priorytetu/przypisania oraz statystyki zespołu.
Domyślnie każde konto ląduje po zalogowaniu w panelu Klienta; przełącz się do
panelu Operatora suwakiem Klient/Operator/Administrator na środku górnego
paska, jeśli konto ma tę rolę.
Dzwoneczek powiadomień w górnym pasku (widoczny we wszystkich panelach) pokazuje
Twoje **nieprzeczytane** powiadomienia, aktualizowane **na żywo** w chwili ich
utworzenia (niezależny od tego 30-sekundowy fallback dogrywa to, co ominęłoby
zerwane połączenie) — kliknięcie (albo „Oznacz wszystkie jako przeczytane”)
usuwa je z listy.
**„Powiadomienia”** w menu profilu (`/settings/notifications`) pozwala wybrać,
dla każdej kategorii zdarzeń (nowe zgłoszenie, aktualizacja zgłoszenia,
eskalacja), jaki zakres zgłoszeń ma Cię powiadamiać dzwoneczkiem — moje /
nieprzypisane / **obserwowane** / wszystkie — oraz czy dodatkowo wysłać e-mail.
Tam też włączysz natywne powiadomienia push przeglądarki (działają, dopóki
karta jest otwarta).
## Kolejka zgłoszeń — aktualizacje na żywo
Panel główny (`/operator`) pokazuje listę zgłoszeń z zakładkami po lewej stronie:
- **Otwarte** — wszystkie zgłoszenia jeszcze nie zamknięte, widoczne dla Ciebie.
- **Moje zgłoszenia** — przypisane do Ciebie (bez zamkniętych).
- **Nieprzypisane** — czekają na przejęcie przez kogoś z zespołu (bez zamkniętych).
- **Zamknięte** — archiwum; jedyna zakładka, w której pojawiają się zamknięte
zgłoszenia.
- **Zespoły** — osobna zakładka na każdy zespół, do którego należysz (administrator
widzi wszystkie zespoły; też bez zamkniętych).
Nie-administratorzy widzą tylko zgłoszenia swoich zespołów, zgłoszenia bez
przypisanego zespołu, oraz wszystko przypisane bezpośrednio do nich. Lista
jest stronicowana (50 zgłoszeń na stronę) — zmiana filtra/wyszukiwania/
zakładki wraca automatycznie na pierwszą stronę.
Na pasku bocznym, nad zakładkami: przycisk **„Szukaj”** otwiera globalną
wyszukiwarkę zgłoszeń (dostępną z każdej strony też pod **Ctrl+K**/**Cmd+K**)
— oprócz zwykłego szukania po treści rozumie też operatory `od:`, `temat:`,
`treść:` i `numer:` (np. `od:kowalski temat:drukarka`), które można łączyć.
Niżej — **„Ostatnio przeglądane”**: ostatnie 6 zgłoszeń, które faktycznie
otworzyłeś, najnowsze na górze.
**Klienci** (przycisk nad tabelą) — osobna wyszukiwarka po imieniu/nazwisku/
e-mailu dowolnego konta (nie tylko klientów), pokazuje liczbę jego zgłoszeń i
prowadzi od razu do kolejki przefiltrowanej do tego klienta.
**Filtry** nad tabelą: status, priorytet, kategoria (opcja **„Bez kategorii”**
pokazuje zgłoszenia bez przypisanej kategorii i podkategorii — np. z poczty
IMAP, która nie trafiła w żadną), wyszukiwanie po numerze/
temacie/kliencie/treści zgłoszenia i odpowiedzi w wątku. **Kolumny** można dowolnie
włączać/wyłączać przyciskiem „Kolumny” (numer, temat, klient, kategoria,
podkategoria, priorytet, status, SLA, przypisany, zespół, utworzono — kilka z
nich domyślnie ukryte), a nagłówki kolumn sortują listę. Wybrana zakładka i
kolumny zostają zapamiętane w adresie strony, więc odświeżenie nie cofa Cię do
pierwszej zakładki.
**Zapisane widoki** — przycisk „Zapisane widoki” pozwala zapisać bieżącą
kombinację zakładki/filtrów/sortowania/kolumn pod własną nazwą, oznaczyć jeden z
zapisanych widoków jako domyślny (ładuje się automatycznie przy wejściu do
kolejki) i usuwać niepotrzebne. Widoki są prywatne — każdy operator widzi tylko
swoje.
**Akcje zbiorcze**: zaznacz kilka zgłoszeń checkboxami, by je **scalić** (pierwsze
zaznaczone staje się główne, reszta trafia do niego jako wiadomości i zostaje
zamknięta) albo **usunąć**. Checkbox w nagłówku tabeli zaznacza/odznacza od
razu wszystkie zgłoszenia aktualnie widoczne pod bieżącym filtrem/zakładką
(nie wszystkie w systemie).
Zgłoszenie założone albo odpowiedziane przez e-mail (patrz konfiguracja w
Admin > Poczta) ma widoczną ikonę koperty obok numeru w kolejce oraz przy
konkretnej wiadomości w wątku zgłoszenia.
Kolejka aktualizuje się **na żywo** — nowe zgłoszenie, zmiana statusu/priorytetu/
przypisania czy nowa odpowiedź pojawiają się bez odświeżania strony. Obok
przycisku „Kolumny” widać mały licznik odliczający do zera — to niezależny od
połączenia na żywo, okresowy fallback (interwał ustawia administrator w
Konfiguracji, domyślnie co ok. 60 s), na wypadek gdyby połączenie sieciowe w
tle się zerwało. **Licznik jest też klikalny** — kliknięcie od razu odświeża
listę i resetuje odliczanie, zamiast czekać na naturalny koniec.
## Praca ze zgłoszeniem
Widok zgłoszenia też aktualizuje się na żywo — nowa wiadomość klienta pojawia
się od razu (bez odświeżania), podobnie jak zmiana statusu/priorytetu/zespołu
zrobiona przez innego operatora, przez regułę automatyzacji SLA albo przez
automatyzację AI (patrz „Historia” niżej). Licznik przy przycisku „Wróć do
listy” to taki sam fallbackowy, klikalny zegar jak w kolejce (domyślnie co
ok. 30 s, konfigurowalny przez administratora).
Jeśli zgłoszenie, które akurat oglądasz, zostanie usunięte przez kogoś
innego, albo trafi (przez zmianę zespołu) poza Twój zakres widoczności —
zostaniesz automatycznie przeniesiony z powrotem do swojej kolejki, zamiast
zobaczyć błąd.
W widoku pojedynczego zgłoszenia:
- **Obserwuj** — przycisk obok licznika auto-odświeżania oznacza zgłoszenie
jako obserwowane niezależnie od przypisania czy zespołu; zasila zakres
„Obserwowane zgłoszenia” w Twoich preferencjach powiadomień
(`/settings/notifications`).
- **Zmiana statusu / priorytetu / zespołu / przypisanego operatora** — z listy
rozwijanej; „Przypisz do mnie” to skrót jednym kliknięciem. Zespół można
zmienić na **dowolny**, nie tylko taki, do którego sam należysz — jeśli
przeniesiesz zgłoszenie do zespołu spoza swojego zakresu widoczności,
zostaniesz automatycznie przeniesiony do swojej kolejki.
- **Odpowiedź publiczna** — widoczna dla klienta; można wybrać **szablon
odpowiedzi** (wstawia gotowy tekst do edycji) i wysłać razem ze zmianą statusu
jedną **szybką akcją** (np. „Wyślij i zamknij”) zamiast dwóch osobnych kroków.
- **Notatka wewnętrzna** — widoczna tylko dla operatorów/adminów, np. do
przekazania kontekstu innemu operatorowi.
- **Załączniki** — do odpowiedzi/notatki, przeciągnij pliki na pole załączników
albo kliknij, żeby wybrać je z dysku, w granicach limitów ustawionych przez
administratora; załączone obrazy pokazują się jako miniatury w wątku.
- **Baza wiedzy** (jeśli administrator włączył integrację z BookStack) — panel
boczny podpowiada artykuły pasujące do kategorii/podkategorii zgłoszenia;
kliknięcie otwiera artykuł, przycisk „Kopiuj link" kopiuje adres bez
wychodzenia ze zgłoszenia (np. do wklejenia w odpowiedzi).
- **Sprzęt (jeśli administrator włączył integrację z Snipe-IT)** — panel
boczny może pokazywać do trzech rzeczy, zależnie od tego, co administrator
włączył: sprzęt już powiązany ze zgłoszeniem (nazwa jako „numer środka -
numer seryjny - producent model” + kategoria, status na żywo z Snipe-IT,
przycisk „Odepnij”), listę sprzętu przypisanego zgłaszającemu z przyciskiem
„Powiąż” przy każdej pozycji, oraz pole wyszukiwania „Przeszukaj inwentarz”
z przyciskiem „Szukaj”, pozwalające powiązać dowolny sprzęt z Snipe-IT (nie
tylko sprzęt zgłaszającego) — przydatne np. dla drukarki współdzielonej
przez kilka osób. „Odepnij” działa zawsze, nawet gdy administrator wyłączył
obie powyższe listy.
- **Podsumowanie AI** (jeśli administrator włączył automatyzację AI
zgłoszeń) — panel boczny widoczny tylko w panelu operatora, pokazuje krótkie
podsumowanie sprawy i sugerowaną kolejną akcję. Domyślnie odświeża się samo
cyklicznie (razem z pozostałą automatyzacją AI); przycisk **„Wygeneruj
teraz”** przy podsumowaniu odświeża je natychmiast na żądanie, a jeśli
administrator włączył „Regeneruj podsumowanie od razu po każdej nowej
wiadomości”, odświeży się samo zaraz po każdej nowej odpowiedzi/notatce,
bez czekania na cykl automatyzacji.
- **Ocena obsługi** — jeśli klient już ocenił zgłoszenie, ocena (gwiazdki +
ewentualny komentarz) pokazuje się w panelu bocznym, tylko do odczytu.
- **Licznik czasu pracy** — start/stop/reset przy zgłoszeniu; czas zapisuje się
automatycznie nawet przy zamknięciu karty (mechanizm `sendBeacon`). Zliczanie
jest automatycznie wstrzymywane, gdy zgłoszenie ma status zamknięty — nie
uruchomi się przy otwarciu zamkniętego zgłoszenia ani nie będzie dalej biec
po jego zamknięciu; wcześniej naliczony czas można wciąż ręcznie skorygować.
- **Edycja danych zgłoszenia** — temat, opis, podkategoria, pola dodatkowe;
zmiana kategorii może wysłać powiadomienie do klienta.
- **Historia** — log każdej zmiany (status, priorytet, zespół, przypisanie,
kategoria/podkategoria, temat) z datą; wpis „Automatyzacja: nazwa reguły”
oznacza regułę automatyzacji SLA (Admin > Automatyzacja SLA), a
„Automatyzacja: klasyfikacja AI” — automatyczną kategoryzację/priorytet
ustawione przez integrację AI (Admin > Integracje) — w obu przypadkach nie
operator ręcznie.
## Statystyki (`/operator/stats`)
Nowa zakładka **„Statystyki”** (przycisk w pasku narzędzi kolejki) pokazuje pulpit
analityczny z możliwością filtrowania — dane odświeżają się na żywo przy każdej
zmianie filtra, bez przeładowania strony.
**Filtry:**
- **Zakres dat** — Dziś / 7 dni / 30 dni / 90 dni / Cały okres / zakres
niestandardowy (oddo).
- **Zespół, priorytet, kategoria, operator** — jak w kolejce; nie-administratorzy
widzą tylko swoje zespoły i przypisanych do nich operatorów.
**Kafelki KPI:**
| Wskaźnik | Co pokazuje |
|---|---|
| Łącznie zgłoszeń | liczba zgłoszeń w wybranym zakresie/filtrach |
| Otwarte / Zamknięte | podział + % zamkniętych |
| Śr. czas 1. odpowiedzi | średni czas od utworzenia do pierwszej odpowiedzi operatora |
| Śr. czas rozwiązania | średni czas od utworzenia do zamknięcia (przybliżony — brak osobnej daty "rozwiązano", liczony do ostatniej aktualizacji zamkniętego zgłoszenia) |
| Naruszenia SLA | % zgłoszeń, które przekroczyły czas rozwiązania wg priorytetu (zgodnie z regułami SLA w Admin > Statusy/Priorytety) |
| Ocena obsługi (CSAT) | średnia ocen klientów (15) w wybranym zakresie/filtrach + % zamkniętych zgłoszeń, które zostały ocenione |
Przycisk **„Eksportuj CSV"** pobiera listę zgłoszeń (jeden wiersz na zgłoszenie) z
uwzględnieniem aktualnie wybranego zakresu dat i filtrów.
Reszta strony jest podzielona na sekcje:
**Rozkład zgłoszeń** (paski poziome, kolor = ta sama identyfikacja co w kolejce
dla statusu/priorytetu; najedź kursorem na pasek, by zobaczyć dokładną wartość):
- Zgłoszenia wg statusu
- Zgłoszenia wg priorytetu
- Zgłoszenia wg kategorii
- Zgłoszenia wg podkategorii
**Obciążenie**:
- Obciążenie zespołów
- Obciążenie operatorów (ranking wg liczby przypisanych zgłoszeń)
**Klienci**:
- Najaktywniejsi klienci (Top 10 wg liczby zgłoszeń w wybranym okresie; osobny
wiersz „Goście (bez konta)” sumuje zgłoszenia bez zalogowanego klienta)
- **Klienci wg podkategorii** — tabela krzyżowa: top 10 klientów × top 5
najczęstszych podkategorii w wybranym okresie, reszta podkategorii zbiorczo w
kolumnie „Inne”.
**Ocena obsługi (CSAT)** — średnia ocena (X.XX / 5) wg zespołu i wg operatora;
zespół/operator bez żadnej oceny w wybranym okresie po prostu nie pojawia się
na liście.
**Trend** — dzienny wykres słupkowy „Nowe zgłoszenia” i „Zamknięte zgłoszenia”
obok siebie (maks. ostatnie 60 dni wybranego zakresu, żeby słupki pozostały
czytelne przy długich okresach).
## Wskazówki
- Zgłoszenie bez przypisanego zespołu jest widoczne dla wszystkich operatorów —
warto je szybko zaklasyfikować/przypisać.
- Szybkie akcje i szablony odpowiedzi konfiguruje administrator (Admin > Szybkie
akcje / Szablony odpowiedzi) — zgłoś mu, jeśli brakuje przydatnego szablonu.