Changelog
Co nowego.
Każde ulepszenie platformy, jak to wysyła.
· kamo-shared-library
Przeglądy jakości, kontrole satysfakcji i jednostki luki KB; nauczono wytycznych w strojeniu (SIE9)
AiQualitySettings, AiQualityReview, AiCsatCheck, AiCsatOptOut i AiKbGap deklarują tabele kamoai-service **************** (stosowane; kamoai-service odczytuje i zapisuje je przez JDBC, nie AiTuningAxis.GUIDANCE i AiTuningKind.LEARNED (dołączone) zawierają repozytorium AiTuningAxis.GUIDANCE, więc KamoInitializer może je odtworzyć Wskazówka dotycząca opisu stanowiska nauczyła się od korekt przełożonych w sugestiach strojenia CP15.
· kamo-shared-library
AiRehearsalTrigger.SCHEDULED dla stojącej cotygodniowej czerwonej drużyny (SIE3)
· kamo-shared-library
Języki wywołań SI organizacji, czysta mowa i wsparcie przekaźnika w wierszu powiadomień głosowych (SIE8)
Deklaruje kolumny **************** (kamoai-service) dodane, więc KamoInitializer Można je odtworzyć.
· kamo-internal
Customer Handoffs — klienci, których SI przekazał osobie, ze wszystkim, co już powiedział (SIE7)
Oczekiwanie / Moje / Zajęte / Gotowe z licznikami; każde przekazanie pokazuje, co Potrzeby klienta, co zrobił SI, następny krok, najlepszy czas, jak Dotrzeć do nich (Numer telefonu / Adres e-mail) i otworzyć cały wątek Możesz skontaktować się z nami przez telefon, e-mail, tekst, czat i spotkania Pierwszy serwowany), Odłóż z powrotem, Zaznacz Gotowe z notatką. Org brand colors, corner Wstążki, wspólne awatary, animowane ze zmniejszonym ruchem honorowane; żyją na żywo W menu SI dla osób, które widzą lub słyszały sygnał dźwiękowy Nie można nadzorować SI; link do alertu otwiera dowolny z nich Przeczytaj ten artykuł.
· MCPGatewayService
Handoff_to_person — SI przekazuje rozmowę do osoby (SIE7)
Oddzwonienie (także "tak szybko, jak ktoś jest wolny") lub miejsce w kolejce do Następna wolna osoba, na dowolnym kanale, więc klient nigdy nie powtarza Kamoai-service utrzymuje to (kto jest klientem pochodzi z CP07 i jego odbiorców; ludzie to koledzy, o których poprosił lub SEND_INTERNAL_MESSAGE, więc otwarte na niesprawdzonych kanałach; plany CP07 Nowy przedrostek handoff_; strażnicy, strażnicy, strażnicy, strażnicy, Zwroty, ArgRefs i złote pliki niosą jedno narzędzie.
· kamo-internal
Strony internetowe i profile społecznościowe na dowód
Karta kontaktu i formularz nowego potencjalnego klienta zajmują dowolną liczbę stron internetowych (a + dodaje kolejną) i każde pole LinkedIn, Facebook, Instagram, TikTok, YouTube, WhatsApp, Telegram, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15} Wszystkie opcje, takie jak kliknięcie przycisku lub wklejony link, działają; widok leadów pokazuje każdy z nich jako link, który otwiera się w nowej karcie którzy widzą tylko zamaskowane informacje kontaktowe, a zamaskowane zapisywanie nigdy ich nie usuwa.
· kamo-shared-library
Strony internetowe i profile społecznościowe na dowód
Dwie kolumny tekstowe na leadach (WEBSITES jedna na linię, SOCIAL_PROFILES JSON) wyeksponowane jako lista i mapa na LeadDTO, CreateLeadRequest i UpdateLeadRequest; null pozostawia je w spokoju, puste wyczyszcza. LeadWebPresence Przycina, deduplikuje i łączy je i zachowuje tylko znane sieci. Maskowane z innymi kontaktami DDL (dodatek) został już zastosowany ręcznie, a więc nie ma potrzeby ręcznego wprowadzania danych.
· kamo-internal
Konfigurowalne linki śledzenia, linki członkowskie i skrypt śledzenia dla innych witryn
- Marketing → Kody śledzące → Ustawienia linków (nowa strona, MANAGE_REFERRAL_CODES): przełącznik standardowy Wyłącz strony, dodaj własne linki organizacji i nazwij stronę marketingową, do której wskazuje każdy link (tak aby organizacja W przypadku konsoli, której publiczna strona nie jest www.<console apex>, np. Kamo Universe, kopiowane są odpowiednie linki) Parametr śledzenia nigdy nie jest nigdzie wpisywany; jest dołączany, gdy link jest kopiowany lub wyświetlany podgląd. - Pobierz selektor linków łączy standard + org + własne linki członka, a członkowie mogą dodawać lub usuwać (Wklejony adres URL w witrynie jest przechowywany jako jego ścieżka). - Ta sama strona generuje skrypt kopiowania i wklejania dla witryn Kamo nie hostuje: tych samych plików cookie, tych samych Samowykluczenie, ten sam ładunek, wysłany do publicznego sygnału nawigacyjnego z kluczem organizacji. Testowane przez uruchomienie Przeciwko fałszywej przeglądarce. - Pośrednik śledzenia marketingu catch-all przekazuje teraz PUT (znał tylko GET / POST / PATCH / DELETE). - Klucze API mogą mieć zakres śledzenia marketingowego w Ustawieniach → Bezpieczeństwo. - Taśma kodu, szuflada i link podglądu honorują nazwę witryny organizacji. Potrzebuje MediaService da07f59 (łączy punkty końcowe; tabela już utworzona) i ciągi słownika (12346cb5), oba na pochodzenie.
· kamo-asterisk-support
Nagrywanie każdej strony kanału obok jego mieszanki
Właściciel 2026-11-06: "za każdym razem, gdy masz oddzielne kanały audio, upewnij się, że transkrypcje Każdy nagrany kanał był przesyłany do komputera, który mógłby to wykorzystać, aby dodatkowo powiedzieć, kto mówi Jeden mono MixMonitor miesza obie strony, więc żadne nagranie nie odbyło się w pojedynkę (mierzone: Każda ścieżka wielościeżkowego wywołania transkrybuje do tych samych słów). [kamo-record] teraz również zapisuje pliki r () i t () MixMonitor, {stem}.rx.wav (co Kanał powiedział: ta noga jest własną partią) i {stem}.tx.wav (co usłyszał), obok {stem}.wav. Grupa zachowuje je w ich powołaniu i nodze, a manifest ConversionService (3ff1cc4) transkrybuje każdą stronę na płycie CD-ROM Nazwa własna, nazwa (nasz członek przez rozszerzenie, inaczej druga strona), łączy się z obrotami w Porządkuje pliki w kolejności czasowej i zachowuje je jako dodatkowe ścieżki; nigdy nie miksuje ich do mastera.
· kamo-internal
Historia wersji, testowanie przed zapisaniem i szablony ról dla opisów stanowisk (SIE6)
- Historia wersji szuflady na każdym edytorze opisu stanowiska (SI, organizacja, rola, dział, stanowisko, zespół, osoba): oś czasu z kim/kiedy/jak, zmiana pigułek na sekcję, różnica w języku prostym, porównanie dwóch, Filtr osobowości i głosu, przetestuj tę wersję (próba CP15 na wersji), przywróć jednym kliknięciem za pomocą Uwaga; kolory marki za pośrednictwem ApprovalBrandScope, wstążka narożna w bieżącej wersji, zmniejszony ruch honorowany. - Test przed zapisaniem: niezapisane zmiany edytora poprzez rozmowy praktyczne (PersonalityRehearseDialog zyskuje tryb draftOnly). - Galeria szablonów ról (wbudowana + Twojej organizacji) na karcie opisu stanowiska SI i na wynajem Podsumowanie: jeden krok podaje opis stanowiska, zasady narzędzia, osobowość, prawa i głos; Zapisz jako szablon roli. - Trasy BFF, artykuł pomocy i linki pomocy.
· kamo-shared-library
Wątki klienta i podmioty przekazywania (SIE7)
ai_customer_touch (jedna linia wątku konwersacji klienta na całej stronie) ai_handoff (kanały, kluczowane przez hash każdej tożsamości CP07) i ai_handoff (kanał SI) Rozmowa przekazana osobie: callback, queue, warm transfer), zadeklarowana KamoInitializer może je odtworzyć. Ręcznie zastosowany DDL: kamoai-service **************** (zastosowane; kamoai-service Zapisuje je przez JDBC, bez repozytorium).
· kamo-internal
Centrum dowodzenia SI i jeden przeszukiwalny szlak aktywności
W Centrum dowodzenia otwiera się centrum siły roboczej: cztery żywe postacie (pracujące teraz, czekające, na ludziach, problemach dzisiaj, spędź ten tydzień) i kartę na SI z jego statusem, co robi, Zatwierdzenia / wiadomości / kontrole tożsamości oczekujące, problemy, wydatki, jakość, zdrowie, pauza (z Widok tabeli jest siatką składu W1. Nowością jest możliwość wyświetlania listy zawodników Zakładka Ścieżka aktywności ma postać /api/kamoai/trail: każdy dziennik tego, co zrobił SI na jednej osi czasu zgrupowany według dnia, wyszukiwanie, filtry SI / rodzaju / okresu, rutynowe zameldowania domyślnie ukryte, Pokaż więcej, Eksport CSV i szuflada szczegółów (jak to zostało zdecydowane z zapisu decyzji, historii zatwierdzeń, Pomoc przy pierwszym uruchomieniu na obu ekranach i w poradach pomocy w centrum; proste słowa, Kolory marki org, wstążki narożne, wspólne awatary, ruch, który honoruje ograniczony ruch. @kamo/kamoai-core 0.3.
· kamo-internal
Transkrypcje jako czasowe tury, które mówią, kto mówił i grał od tego momentu
Raport właściciela 2026-11-06. Jeden wspólny widok, CallTranscriptTurns, dla każdego miejsca, Odczytuje transkrypcję nagrania: panel transkrypcji dziennika połączeń, odtwarzacz multimedialny, Historia i wiersze poczty głosowej softphone'a oraz historia połączeń potencjalnego klienta (która nie wykazywała połączeń) Każda tura pokazuje swojego mówcę (nasz członek ze zdjęciem i wspólnym nazwiskiem) kartę profilu, drugą stronę według nazwiska lub numeru telefonu połączonego potencjalnego klienta, lub Głośnik 1/2, gdy głosy zostały oddzielone, ale nie nazwane) i czas, który odgrywa Nagrywanie stamtąd. Odtwarzanie z tury wykorzystuje współdzielone okno Media Player: otwarty odtwarzacz pokazujący, że Nagrywanie przyjmuje żądanie media-player:seek i przeskakuje tam; w przeciwnym razie nowe okno Otwiera się w tym momencie **************** Gracz oznacza, że jest jego kolej Transkrypcja starsza niż odliczane tury nadal odczytuje się jak wcześniej, bez żadnych zmian Pomoc: Artykuł Call Log wyjaśnia głośniki i odtwarzanie od momentu. Wymaga kamo-translation-dictionary 3aac0ff8 i voipservice bf3d2b0.
· SecurityService
Historia wersji opisów stanowisk i osobowości, przywracanie jednym kliknięciem, szablony ról SI (SIE6)
- charter_revisions: każde zapisanie organizacji, roli, działu, stanowiska, zespołu lub członka karty jest wersją (kto, kiedy, jak, na sekcję liczy się), zapisywane przez ONE CharterHistory po zapisaniu commitów; Pierwsza zmiana zachowuje BASELINE, a zmiana przez niezarejestrowaną ścieżkę jest przechwytywana jako OUTSIDE. - SKONSOLIDOWANE: edytor **************** zapisuje przejście przez jeden CharterLayerWriter (zatwierdzanie, zapisywanie, nagrywanie, ogłaszanie); zawsze-zezwalaj na dodawanie/usuwanie, generowanie osobowości, zatrudnianie, Obowiązki odprawy, dialogi warstwy i zespół zapisuje nagranie za pośrednictwem tego samego rejestratora. - /api/security/charter/history: lista, jedna wersja, porównaj dowolne dwie (porównanie w prostym języku), przywróć (to samo prawo co do edycji warstwy; pomija to, co nie może już być stosowane; obowiązki podłogowe zachowane; audytowane) AI_CONFIGURATION_APPLIED; zapisane jako wersja RESTORE). - **************** wbudowany (9: + Asystent Sprzedaży, Trener, każdy z sugerowanymi prawami) i szablony własne organizacji (z konfiguracji SI; archiwum), stosowane w jednym kroku: opis zadania, reguły narzędzia, osobowość i styl (wersja TEMPLATE, przywracalna), uprawnienia (rola organizacyjna, tylko uprawnienia posiadający wnioskodawca, Nigdy na podłodze SI), głos oddany z powrotem.
· kamo-internal
Status SI — stan każdej ścieżki SI, incydenty z potwierdzeniem i kto jest na wezwanie (SIE1)
/settings/ai?tab=si-status: bohater, który odpowiada na pytanie "czy wszystko działa?" Kolor statusu (animowany, zmniejszony ruch honorowany), karta na ścieżkę SI (telefon połączenia, spotkania, czat, czat na stronie internetowej, e-mail, teksty, kolejka pracy, narzędzia, podsumowania, Zatwierdzenia, sprawdzanie tożsamości, skarbiec haseł, dostawcy SI) z prostymi słowami Z jakiegoś powodu, 24-godzinny pasek ćwierćgodzinny i, na kliknięcie, 14 dni i liczy się. Incydenty: otwarte i niedawne, Potwierdzenie i oznaczenie jako naprawione, Kamo Powiadomienia platformy, i szufladę na osi czasu, która pokazuje, komu powiedziano, jak (wspólny awatar) Z na osobę App & Phone / Tekst dla przerw / e-mail, czas eskalacji, a "Kto słyszy, kiedy" podgląd, ludzie zapasowi, gdy nikt nie jest na wezwanie, i Wyślij Org kolory marki dla chromu, semantyczne kolory dla statusu, kolory dla czcionki, Wstążki narożne, karta powitalna, wskazówki pomocnicze i artykuł z centrum pomocy **************** menu wejścia i lądowania karty. Dane: kamoai-service /api/kamoai/si-status poprzez /api/kamoai BFF.
· kamo-internal
Karta podpisu e-mail w moim profilu (UPDATE_OWN_SIGNATURE)
Członek wybiera, które szczegóły jego własnego podpisu są drukowane, lub powraca do ustawień domyślnych firmy Serwer (EmailService /api/email/member-signature) decyduje i egzekwuje.
· EmailService
Członkowie wybierają, które szczegóły ich podpisu są drukowane (UPDATE_OWN_SIGNATURE)
/api/email/member-signature GET/PUT/DELETE; kompozytor zawęża zakres USER organizacji do zakresu nadawcy Zapis wymaga UPDATE_OWN_SIGNATURE; członek może wybrać, czy chce zapisać własne wybory (nigdy podgląd jawnego zakresu edytora ustawień) Wyłącz tylko to, co firma drukuje. Tabela **************** zastosowana 2026-11-06
· kamo-shared-library
Jednostki CharterRevision i SiRoleTemplate dla historii opisów stanowisk i szablonów ról SI (SIE6)
Zadeklarowano, że KamoInitializer może odtworzyć charter_revisions (historia wersji każdej karty z możliwością tylko dołączania) SecurityService odczytuje i zapisuje szablony roli SI (własne szablony ról SI organizacji) i si_role_templates (własne szablony ról SI) Zarówno z JDBC; DDL jest stosowany (securityservice ****************
· SecurityService
Szablony administratora przyznają UPDATE_OWN_SIGNATURE
Członkowie zespołu otrzymują go z TEAM_MEMBER_ROLE_DEFAULT_GRANTS (biblioteka współdzielona); grant-all Role administratora otrzymują go Synchronizacja uprawnień, a szablon administratora zasiewa ją.
· kamo-shared-library
UPDATE_OWN_SIGNATURE (696), domyślnie włączone dla członków zespołu
Członek ma własne zdanie na temat tego, które szczegóły jego podpisu e-mail są drukowane Domyślnie przez **************** Taksonomia liczy ruchy (441 / 150 korzeni / 101 samodzielnych).
· VOIPService
Podaj transkrypcję nagrania jako czasowe obroty
Metadane nagrywania, które odtwarzacz multimedialny i dziennik połączeń odczytują teraz, transcriptTurns (początek, koniec, tekst i mówca każdej tury: jeden z naszych członków przez id, TRANSCRIPT_TURNS (wpisywany przez drugą stronę, lub zdiaryzowaną etykietę) i transcriptSource, z RECORDINGS.TRANSCRIPT_TURNS Zwykły transkrypcja jest niezmienna dla starszych czytelników, a pełny tekst jest dostępny tutaj Odczyt jest audytowany jako transkrypcja odczytywana dokładnie tak jak wcześniej. Raport właściciela 2026-11-06. Wymaga kamo-shared-library e1a4a4ee.
· kamo-shared-library
Nagrania zachowują swoją transkrypcję jako czasowe obroty z głośnikami
RECORDINGS.TRANSCRIPT_TURNS (TEXT, nullable; DDL zastosowane ręcznie 2026-11-06) przechowuje Transkrypcja jako czasowe obroty, każdy nazwał, kto mówił, gdy jest znany. Zwykły TRANSCRIPT pozostaje dla każdego starszego czytelnika. RecordingMetadata przenosi zmiany, a **************** pozwala ConversionService nazwać kanał Głośnik przed zapisaniem nagrania. Raport właściciela 2026-11-06: transkrypcje nie obejmowały całych połączeń i nie mogły powiedzieć, kto Mówiłem.
· MediaService
Org i członkowskie linki docelowe dla kodów śledzenia
GET **************** zwraca konfigurację łącza org i własną konfigurację wywołującego Dodatkowe linki; PUT /links/org (MANAGE_REFERRAL_CODES) i PUT /links/me (VIEW_REFERRAL_CODES) zapisz Organ i członek pochodzą tylko z sesji. Każdy dokument jest odbudowywany pole po polu: Miejsca docelowe muszą być ścieżką witryny lub adresem URL http(s), a automatycznie zarządzany rabat / mrt_self Parametry są usuwane, więc parametr śledzenia nigdy nie jest typowany przez członka. Tabela jest tworzona ręcznie: **************** (już zastosowana do Klaster jako właściciel).
· KlusterServices
Powiadomienia o infrastrukturze SI i LiveKit powiadomień o osobach na dyżurze SI (SIE1)
**************** (zastosowane ręcznie, nic nie restartuje): Sonda Jicofo, prozodia, ucho spotkania, konsola FreePBX, czarna skrzynka Narzędzie Plane, aiservice i kamoai-service; metryki Jicofo (liczba mostów wideo); i PrometheusRule si-infrastruktura: pracownicy głosowi, PBX, Meet, bez wideo mostek, spotkanie ucha, płaszczyzna narzędzia, brama dostawcy, usługa e-mail, usługa VOIP, MediaService, niezdrowe komponenty i punkt wejścia czatu na stronie internetowej. Każdy Reguła nosi namespace=kamo i si_path, więc kamoai-service's AlertmanagerConfig si-alerts wysyła wiadomość do SysAdmin i otwiera incydent PLATFORM adresowany do platformy organizacji na wezwanie ludzi. livekit/60-monitoring.yaml (TPLKLEAK): każdy LiveKit alert jest si_path=calls i livekit-alerts wywołują również webhook na żądanie (tajemnica nosiciela: kopia Użytkownik kamo/kamoai-internal-auth w przestrzeni nazw livekit, SECRETS.md). No LiveKit roll: Zmienił się tylko plik monitorujący.
· MCPGatewayService
Jeden punkt decyzyjny polityki dla każdego kanału SI, z jednym wyjaśnionym rekordem decyzji (SIE2)
PolicyDecisionPoint odpowiada na każde pytanie autoryzacyjne zadawane przez potok Tool Plane, w tej samej kolejności: widoczność + prawa piętra, brak nieposłuszeństwa rozkazu i w imieniu łańcucha dowodzenia, spotkanie mówcy Władza, prawa warunkowe, statut ZABRONIONY i wynik (CharterPolicy.explain nazwy zasady, w tym "Zatwierdzaj i zawsze zezwalaj" na stojące uprawnienia), straż tożsamości i to, co ją podnosi, zatwierdzenia. Każdy wiersz audytu wywołania zawiera jeden rekord kamo.si.decision/v1 (decision_record / decision_outcome / decided_by), odczytywalny przez istniejący audyt I2 read i /audit/decisions/{id}. Linie spotkań są odczytywane raz na połączenie (opiekun tożsamości, zamówienie, w imieniu współdzielony jeden odczyt). Zachowanie bez zmian: złote pliki z b64fb8a (matryca karty, katalog, scenariusze 360) pasują.
· kamo-internal
Okienko Zmiany na żywo pokazuje dziesięć najnowszych
Nadal ładuje trzydzieści, więc zakładki Funkcje i poprawki mają dziesięć własnych do pokazania; przybycie na żywo Wszystko co starsze znajduje się w /changelog.
· kamo-shared-library
Incydenty SI, lista dyżurnych i ustawienia, jednostki próbek zdrowia (SIE1)
Pięć tabel SIE1 (si_incidents, si_incident_events, si_oncall_members, si_oncall_settings, si_health_samples) zadeklarowane, więc KamoInitializer może odtworzyć Ręcznie nakładane DDL: kamoai-service **************** (już zastosowane; kamoai-service zapisuje je przez JDBC, bez repozytorium).
· kamo-internal
Zmiany na żywo — widżet launchpada i strona /changelog
Każda zmiana platformy wysyła, na żywo: nowe wpisy przesuwają się w sekundzie, gdy są wysyłane, każda odznaka Wypełnia się, gdy CI zgłasza kompilację i wdrożenie, a push ląduje z burzą Jedź w pasie powyżej listy. - Widget (changelog.live): na każdym launchpadzie domyślnie i wymienny; Wszystkie / Funkcje / Poprawki, Szlak wysyłki, szuflada szczegółów z podróżą zmiany i tym, co zostało z nią wysłane. - /changelog: sumy, wysyłka teraz, ostatnie 24 godziny, potem cała historia — wyszukiwanie, produkt, Filtry statusu, rodzaju i daty, pogrupowane według dnia członka, ładowane podczas przewijania, z "Nowe zmiany" pigułki dla przyjazdów filtrowanej listy nie może umieścić. - Feed przez /topic/platform/changelog; ponownie odczytuje po ponownym połączeniu i gdy zakładka wraca. - Pomoc: artykuł Live Changes (getting-started/live-changes) i oba znaczniki pomocy.
· MediaService
Żaden klient nie może SEND do /topic/platform/changelog
Zmiany na żywo są transmitowane do każdej sesji; podrobiona ramka wprowadziłaby zmianę, która nigdy się nie wydarzyła SecurityService jest jedynym programem zapisującym, poprzez przekaźnik platformy.SecurityService is the only writer, through the platform relay.
· SecurityService
Zmiany na żywo — śledzenie wdrożeń, ramki na żywo i kanał członków
- Webhook push rejestruje każdy push do main jako CommitDeployment i oznacza nim swoje commity, Następnie publikuje nowe wpisy w security.platform.changelog po zatwierdzeniu transakcji. - ChangelogDeploymentTracker śledzi każdy push w locie poprzez stany CI Forgejo (build, a następnie deploy) co 10s w ramach dzierżawy singleton, publikuje każdy ruch i zaznacza wcześniejsze pushy Ten sam projekt na żywo, gdy pojawi się późniejszy. Token tylko do odczytu z changelog-forgejo-token. - **************** wpisy z publicznego changelogu z Zarządzane przez VIEW_LIVE_CHANGES, odczytywane z pliku VIEW_LIVE_CHANGES member_rights_applied, gdy sesja poprzedza prawo. - VIEW_LIVE_CHANGES i prawa widżetu z wyjątkiem REQUIRED są domyślnie włączone dla każdej roli.

Twój wszechświat czeka.
Rozpocznij bezpłatnie w kilka minut.Dodaj produkty, kiedy tylko będziesz gotowy — bez migracji, bez nowych logowań.
Bezpłatne na zawsze — nie wymaga karty kredytowej