- Snipe-IT asset inventory integration (Admin > Integracje), optional and off
  by default: connect by API address + personal token (+ SSL-verification
  bypass). Three independent toggles: client can pick which of their own
  Snipe-IT assets a ticket concerns (scoped to admin-selected subcategories,
  empty = never shows), operator sees the requester's assets in a ticket-view
  sidebar, operator can search the whole inventory from that same sidebar (not
  a separate page) for shared equipment. Assets shown as "numer środka - numer
  seryjny - producent model" + category; a linked asset's live status is
  fetched fresh on the ticket page, and unlinking stays available to an
  operator even with both view/search toggles off.
- AI summary: a "Wygeneruj teraz" button for an immediate on-demand refresh,
  plus a new admin toggle to regenerate right after every new reply/note
  instead of only on the next scheduled sweep. The transcript sent to the
  model now also includes the ticket's own opening body, fixing summaries
  missing the original request on long threads.
- Fixed: the status dropdown in the operator ticket view could keep showing
  the pre-change status after a status-changing quick action until the next
  page load (Livewire/Alpine-morph quirk for wire:change-bound selects).
- Docs: README/ARCHITECTURE/CHANGELOG/install/wiki updated for all of the
  above, including correcting the AI-summary refresh description left over
  from the 1.2.1 release notes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-27 21:11:21 +02:00
parent 1df697afce
commit 7a8cf2037c
32 changed files with 1735 additions and 31 deletions

View File

@@ -285,6 +285,37 @@ razem, zamiast być rozrzucone po różnych zakładkach.
z linii poleceń: `php artisan bookstack:tag-content` (`--dry-run`,
`--force`, `--limit=N`).
- **Snipe-IT (ewidencja sprzętu)** — opcjonalna integracja, **domyślnie
wyłączona**. Po włączeniu:
- **Adres API, Klucz API** — osobisty token API generuje się w Snipe-IT:
profil użytkownika → „Create New Token”.
- **Nie sprawdzaj SSL** — zaznacz tylko, jeśli instancja Snipe-IT korzysta
z certyfikatu self-signed/prywatnego CA.
- **Klient może wybrać sprzęt, którego dotyczy zgłoszenie** — przy
tworzeniu zgłoszenia klient widzi listę swojego sprzętu z Snipe-IT
(dopasowanego po adresie e-mail) i może je powiązać ze zgłoszeniem. Po
zaznaczeniu pojawia się dodatkowa lista wielokrotnego wyboru **„Ogranicz
do podkategorii”** — wybór sprzętu pokaże się klientowi **tylko** dla
zaznaczonych tam podkategorii; jeśli nic nie jest zaznaczone, opcja nie
pojawi się w żadnej podkategorii (tak samo jak dozwolone półki BookStack
wyżej — trzeba świadomie wskazać zakres).
- **Operator może zobaczyć sprzęt zgłaszającego w widoku zgłoszenia** — ta
sama lista sprzętu zgłaszającego, tym razem w panelu bocznym operatora
na widoku zgłoszenia, z przyciskiem „Powiąż” przy każdej pozycji.
- **Zezwól operatorowi na przeszukiwanie całego inwentarza** — pole
wyszukiwania z przyciskiem „Szukaj” w tym samym panelu bocznym (nie
osobna podstrona), pozwalające powiązać dowolny sprzęt z Snipe-IT, nie
tylko sprzęt zgłaszającego — przydatne dla współdzielonego sprzętu, np.
drukarek.
- Powiązany sprzęt pokazuje się na widoku zgłoszenia jako „numer środka -
numer seryjny - producent model” oraz kategoria, z bieżącym statusem
pobieranym na żywo z Snipe-IT. Przycisk „Odepnij” jest dostępny dla
operatora zawsze, niezależnie od dwóch powyższych przełączników —
odpięcie już powiązanego sprzętu to korekta, nie nowy dostęp do
Snipe-IT.
- Przycisk **„Testuj połączenie”** działa tak samo jak przy pozostałych
integracjach.
- **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
@@ -309,8 +340,13 @@ razem, zamiast być rozrzucone po różnych zakładkach.
- **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ść.
zgłoszenia). Domyślnie odświeża się cyklicznie, wraz z pozostałą
automatyzacją AI powyżej (interwał w Konfiguracji) — operator może też
w każdej chwili kliknąć **„Wygeneruj teraz”** przy podsumowaniu, żeby
odświeżyć je natychmiast. Osobny przełącznik **„Regeneruj podsumowanie
od razu po każdej nowej wiadomości”** (domyślnie wyłączony) sprawia, że
podsumowanie odświeża się samo zaraz po każdej odpowiedzi/notatce, bez
czekania na najbliższy cykl automatyzacji.
- **Prompt systemowy podsumowania** — edytowalne pole tekstowe z gotową
wartością domyślną i przyciskiem **„Resetuj”**.