v1.2.1
- Generic AI integration (Admin > Integracje > "Integracja AI"), optional and off by default: an OpenAI-compatible /chat/completions client (Groq, OpenAI, or a self-hosted Ollama instance) configured by base URL, optional API key, model, and an SSL-verification toggle. Foundation for the two AI features below and anything else that wants an LLM call in the future. - BookStack automatic content tagging (AI): "Otaguj nową treść"/"Otaguj wszystko ponownie" buttons plus `php artisan bookstack:tag-content` (--dry-run/--force/--limit=N) tag every book/chapter/page with matching helpdesk subcategory names, idempotent by default. - BookStack search refinement: "Przeszukuj" is now three independent checkboxes (Książki/Strony/Rozdziały) instead of a single dropdown, plus a new "Szukaj po" setting (nazwa/tagi/oba) — tag matching uses the bare subcategory name, matching what auto-tagging writes. - AI-driven ticket triage + summary (Admin > Integracje > "Automatyzacja AI dla zgłoszeń", via new scheduled ai:run-ticket-automation): five toggles auto-assign/correct category+subcategory, rewrite an unclear subject, and set priority from content, once per ticket in the background; every change is logged in the ticket's history. Separately, an AI summary + suggested action for every ticket, shown to operators only, with an admin-editable prompt. - Operators can now reassign a ticket to any team, not just one they belong to. - The auto-refresh countdown badges (ticket view, operator queue) are now clickable — fetch immediately and reset the countdown. - All 7 "cyclical" intervals (3 browser refresh countdowns, the notification bell poll, and the 4 background scheduled commands) are now configurable from Admin > Konfiguracja instead of fixed in code. - Fixed: an operator viewing a ticket that's deleted or moved outside their team scope mid-session is now redirected to the operator queue instead of hitting an error. - Docs: README/ARCHITECTURE/CLAUDE/install/wiki updated for all of the above. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
|
||||
Panel administratora (`/admin`) to jedno miejsce do konfiguracji całego systemu:
|
||||
struktura zgłoszeń (kategorie, pola, statusy, priorytety, SLA), automatyzacje
|
||||
(reguły SLA, wyzwalacze), użytkownicy i zespoły, treści (szablony, szybkie
|
||||
akcje, e-maile), wygląd/branding oraz integracje (LDAP, poczta SMTP/IMAP,
|
||||
BookStack, API).
|
||||
(reguły SLA, wyzwalacze, automatyzacja AI zgłoszeń), użytkownicy i zespoły,
|
||||
treści (szablony, szybkie akcje, e-maile), wygląd/branding oraz integracje
|
||||
(LDAP, poczta SMTP/IMAP, BookStack, AI, API).
|
||||
|
||||
Domyślnie każde konto ląduje po zalogowaniu w panelu Klienta; przełącz się do
|
||||
panelu Administratora przez menu profilu (prawy górny róg).
|
||||
@@ -173,6 +173,14 @@ ważne + treść HTML).
|
||||
numerem przestaje działać. REST API (`/api/v1/...`) tego nie dotyczy —
|
||||
tam zgłoszenia zawsze identyfikuje się po `id`, niezależnie od tego
|
||||
ustawienia.
|
||||
- **Częstotliwość odświeżania i harmonogramu** — dwie grupy pól:
|
||||
- **Odświeżanie w przeglądarce** — co ile sekund odświeża się (poza
|
||||
aktualizacjami na żywo) widok zgłoszenia (klient i operator), lista
|
||||
zgłoszeń operatora, i dzwonek powiadomień.
|
||||
- **Zadania w tle** — co ile minut uruchamiają się sprawdzanie naruszeń
|
||||
SLA, reguły automatyzacji, pobieranie e-maili (IMAP) i automatyzacja AI
|
||||
zgłoszeń. Zmiana obowiązuje od najbliższego tyknięcia harmonogramu (co
|
||||
minutę), bez potrzeby restartu czy redeployu.
|
||||
|
||||
SMTP (host, port, szyfrowanie, użytkownik/hasło, adres/nazwa nadawcy, z
|
||||
przyciskiem **„Testuj połączenie”**) konfiguruje się w zakładce **Poczta**,
|
||||
@@ -248,7 +256,12 @@ razem, zamiast być rozrzucone po różnych zakładkach.
|
||||
zapytania kończą się błędem 403 mimo poprawnych danych logowania.
|
||||
- **Weryfikuj certyfikat SSL** — włączone domyślnie; wyłącz tylko jeśli
|
||||
instancja BookStack korzysta z certyfikatu self-signed/prywatnego CA.
|
||||
- **Przeszukuj** — strony i książki / tylko strony / tylko książki.
|
||||
- **Przeszukuj** — trzy niezależne checkboxy: Książki / Strony / Rozdziały
|
||||
(dowolna kombinacja).
|
||||
- **Szukaj po** — słowa kluczowe w nazwie / tagi / oba. Wyszukiwanie po
|
||||
tagach dopasowuje artykuły oznaczone w BookStacku tagiem o nazwie zgodnej
|
||||
z podkategorią zgłoszenia (np. tag „Drukarki i skanery”) — patrz
|
||||
automatyczne tagowanie niżej, żeby nie robić tego ręcznie dla całej wiki.
|
||||
- **Dozwolone półki** — dwie **niezależne** checklisty: jedna dla podpowiedzi
|
||||
przy tworzeniu zgłoszenia (klient, operator, formularz gościa na stronie
|
||||
głównej), druga dla panelu bocznego operatora na widoku istniejącego
|
||||
@@ -263,6 +276,43 @@ razem, zamiast być rozrzucone po różnych zakładkach.
|
||||
- Przycisk **„Testuj połączenie”** sprawdza niezapisane wartości formularza
|
||||
(analogicznie do LDAP/SMTP) i pokazuje dokładny komunikat błędu z
|
||||
BookStacka, jeśli połączenie się nie powiedzie.
|
||||
- **Automatyczne tagowanie treści (AI)** — przyciski **„Otaguj nową
|
||||
treść”** (pomija już otagowane pozycje) i **„Otaguj wszystko ponownie”**
|
||||
(klasyfikuje od nowa całą wiki) używają integracji AI (niżej) do
|
||||
otagowania każdej książki/strony/rozdziału nazwami pasujących podkategorii
|
||||
helpdesku — bez tego wyszukiwanie „po tagach” wyżej nic nie znajdzie.
|
||||
Wymaga wcześniej skonfigurowanej i włączonej integracji AI. Dostępne też
|
||||
z linii poleceń: `php artisan bookstack:tag-content` (`--dry-run`,
|
||||
`--force`, `--limit=N`).
|
||||
|
||||
- **Integracja AI** — opcjonalna, **domyślnie wyłączona**, ogólne połączenie z
|
||||
dostawcą modelu językowego (nie tylko dla BookStacka — patrz
|
||||
„Automatyzacja AI dla zgłoszeń” niżej). Pola: **adres API** (dowolny
|
||||
dostawca kompatybilny z OpenAI — np. Groq, OpenAI, lokalny Ollama),
|
||||
**klucz API** (opcjonalny — zostaw puste dla lokalnych instancji bez
|
||||
autoryzacji), **model**, **weryfikacja SSL** (wyłącz tylko dla instancji z
|
||||
certyfikatem self-signed, np. lokalny Ollama). Przycisk **„Testuj
|
||||
połączenie”** jak przy pozostałych integracjach.
|
||||
|
||||
- **Automatyzacja AI dla zgłoszeń** — wymaga włączonej integracji AI powyżej.
|
||||
Zgłoszenia przetwarzane są w tle, cyklicznie (`ai:run-ticket-automation`,
|
||||
interwał konfigurowalny w Konfiguracji) — nie synchronicznie przy
|
||||
składaniu zgłoszenia, więc nie spowalnia to klienta.
|
||||
- **Automatyczna kategoryzacja** — pięć niezależnych przełączników: przypisz
|
||||
kategorię/podkategorię, gdy zgłoszenie nie ma żadnej; dobierz podkategorię,
|
||||
gdy ma tylko kategorię; zweryfikuj i ewentualnie popraw już przypisaną
|
||||
podkategorię; popraw temat zgłoszenia, jeśli jest niejasny; ustaw
|
||||
priorytet na podstawie treści. Każde zgłoszenie jest sprawdzane **tylko
|
||||
raz** — zmiany trafiają do historii zgłoszenia z adnotacją
|
||||
„Automatyzacja: klasyfikacja AI” (patrz „Historia” w przewodniku
|
||||
operatora).
|
||||
- **Podsumowanie AI dla operatora** — osobny przełącznik generuje krótkie
|
||||
podsumowanie + sugerowaną kolejną akcję dla **każdego** zgłoszenia,
|
||||
widoczne tylko operatorowi (panel boczny „Podsumowanie AI” w widoku
|
||||
zgłoszenia), odświeżane automatycznie, gdy w wątku pojawi się nowa
|
||||
wiadomość.
|
||||
- **Prompt systemowy podsumowania** — edytowalne pole tekstowe z gotową
|
||||
wartością domyślną i przyciskiem **„Resetuj”**.
|
||||
|
||||
## API
|
||||
|
||||
|
||||
Reference in New Issue
Block a user