Configuration
Kanał QA
qa-channel to lokalny dla repozytorium syntetyczny transport wiadomości do zautomatyzowanej kontroli jakości OpenClaw (extensions/qa-channel, pakiet prywatny, wykluczony z dystrybuowanych instalacji). Nie jest to kanał produkcyjny — służy do testowania tej samej granicy pluginu kanału, której używają rzeczywiste transporty, przy jednoczesnym zachowaniu deterministycznego i w pełni możliwego do inspekcji stanu.
Działanie
- Gramatyka adresatów klasy Slack:
dm:<user>channel:<room>group:<room>thread:<room>/<thread>
- Współdzielone konwersacje
channel:igroup:są przedstawiane agentom jako tury w pokoju grupowym/kanale, dzięki czemu testują tę samą politykę routingu widocznych odpowiedzi i narzędzia wiadomości, której używają Discord, Slack, Telegram i podobne transporty. - Syntetyczna magistrala oparta na HTTP do wstrzykiwania wiadomości przychodzących, przechwytywania transkrypcji wychodzących, tworzenia wątków, reakcji, edycji, usuwania oraz operacji wyszukiwania/odczytu.
- Uruchamiany po stronie hosta moduł samokontroli, który zapisuje raport Markdown w
.artifacts/qa-e2e/.
Konfiguracja
{ "channels": { "qa-channel": { "baseUrl": "http://127.0.0.1:43123", "botUserId": "openclaw", "botDisplayName": "OpenClaw QA", "allowFrom": ["*"], "pollTimeoutMs": 1000 } }}Klucze konta:
enabled— główny przełącznik tego konta.name— opcjonalna etykieta wyświetlana.baseUrl— adres URL syntetycznej magistrali. Konto jest uznawane za skonfigurowane po ustawieniu tej wartości.botUserId— syntetyczny identyfikator użytkownika bota używany w gramatyce adresatów (domyślnie:openclaw).botDisplayName— nazwa wyświetlana dla wiadomości wychodzących (domyślnie:OpenClaw QA).pollTimeoutMs— przedział oczekiwania długiego odpytywania. Liczba całkowita od 100 do 30000 (domyślnie: 1000).allowFrom— lista dozwolonych nadawców (identyfikatory użytkowników lub"*"; domyślnie:["*"]). Wiadomości prywatne zawsze podlegają polityceopen; polityka grup z listą dozwolonych również używa tych syntetycznych identyfikatorów nadawców.groupPolicy— polityka pokoju współdzielonego:"open"(domyślnie),"allowlist"lub"disabled".groupAllowFrom— opcjonalna lista dozwolonych nadawców w pokoju współdzielonym. W przypadku pominięcia przy"allowlist"QA Channel używa awaryjnieallowFrom.groups.<room>.requireMention— wymaga wzmianki o bocie przed udzieleniem odpowiedzi w określonym pokoju grupowym/kanale (domyślnie: false).groups."*"ustawia wartość domyślną; ustawieniatools/toolsBySenderposzczególnych pokojów określają nadpisania polityki narzędzi.defaultTo— adresat rezerwowy, gdy nie podano żadnego.actions.messages/actions.reactions/actions.search/actions.threads— kontrola dostępu do narzędzi dla poszczególnych operacji.
Klucze obsługi wielu kont na najwyższym poziomie:
accounts— rekord nazwanych nadpisań dla poszczególnych kont, indeksowanych według identyfikatora konta.defaultAccount— preferowany identyfikator konta, gdy skonfigurowano wiele kont.
Moduły uruchamiające
Samokontrola po stronie hosta (zapisuje raport Markdown w katalogu .artifacts/qa-e2e/):
pnpm qa:e2ePolecenie przekierowuje działanie przez qa-lab, uruchamia magistralę QA z repozytorium, uruchamia wycinek środowiska wykonawczego qa-channel i przeprowadza deterministyczną samokontrolę.
Pełny zestaw scenariuszy oparty na repozytorium:
pnpm openclaw qa suiteUruchamia scenariusze równolegle względem ścieżki Gateway QA. Scenariusze, profile i tryby dostawców opisano w omówieniu QA.
Witryna QA oparta na Dockerze (Gateway i interfejs debugera QA Lab w jednym stosie):
pnpm qa:lab:upBuduje witrynę QA, uruchamia oparty na Dockerze stos Gateway i QA Lab oraz wyświetla adres URL QA Lab. Następnie można wybierać scenariusze, wybrać ścieżkę modelu, uruchamiać poszczególne przebiegi i obserwować wyniki na żywo. Debuger QA Lab jest niezależny od dystrybuowanego pakietu Control UI.
Powiązane materiały
- Omówienie QA — ogólny stos, adaptery transportu, profile Matrix i tworzenie scenariuszy
- Parowanie
- Grupy
- Omówienie kanałów