Cel
Cel to jeden trwały zamiar przypisany do bieżącej sesji OpenClaw. Zapewnia agentowi i operatorowi wspólny punkt docelowy dla długotrwałej pracy, bez przekształcania go w zadanie działające w tle, przypomnienie, zadanie Cron ani stałe zlecenie. Cele są stanem sesji: są powiązane z kluczem sesji, zachowują się po ponownym uruchomieniu procesu i pojawiają się w/goal, narzędziach celów dostępnych
dla modelu oraz w stopce TUI.
Szybki start
start jest opcjonalne: /goal doprowadź CI do stanu poprawnego dla PR 87469
również tworzy cel, ponieważ każdy tekst po /goal, który nie jest rozpoznanym
słowem akcji, jest traktowany jako nowy zamiar.
Do czego służą cele
Użyj celu, gdy sesja ma konkretny rezultat, który powinien pozostawać widoczny przez wiele tur:- Finalizacja PR: poprawienie, zweryfikowanie, automatyczny przegląd, wypchnięcie oraz otwarcie lub zaktualizowanie PR.
- Sesja debugowania: odtworzenie błędu, zidentyfikowanie odpowiedzialnego obszaru, wprowadzenie poprawki i potwierdzenie jej działania.
- Prace nad dokumentacją: przeczytanie odpowiedniej dokumentacji, napisanie nowej strony, dodanie odsyłaczy i zweryfikowanie kompilacji dokumentacji.
- Zadanie konserwacyjne: sprawdzenie bieżącego stanu, wprowadzenie ograniczonych zmian, uruchomienie odpowiednich kontroli i opisanie zmian.
Dokumentacja poleceń
/goal bez argumentów wyświetla podsumowanie bieżącego celu:
W danej sesji może istnieć tylko jeden cel naraz. Próba rozpoczęcia drugiego
celu kończy się błędem
Goal error: goal already exists, dopóki bieżący cel
nie zostanie usunięty.
/goal start nie przyjmuje flagi budżetu tokenów; budżet można ustawić wyłącznie
za pomocą dostępnego dla modelu narzędzia create_goal.
Stany
active: sesja dąży do osiągnięcia celu.paused: operator wstrzymał cel;/goal resumeponownie go aktywuje.blocked: agent lub operator zgłosił rzeczywistą przeszkodę;/goal resumeponownie aktywuje cel, gdy pojawią się nowe informacje lub zmieni się stan.budget_limited: skonfigurowany budżet tokenów został wyczerpany;/goal resumewznawia dążenie do tego samego zamiaru z nowym oknem budżetu.usage_limited: stan zarezerwowany na potrzeby przyszłego zatrzymania z powodu limitu użycia;/goal resumewznawia dążenie w ten sam sposób.complete: cel został osiągnięty. Ukończone cele są stanem końcowym; przed rozpoczęciem kolejnego celu użyj/goal clear.
/new i /reset usuwają bieżący cel sesji, ponieważ celowo rozpoczynają nowy
kontekst sesji.
Budżety tokenów
Cele mogą mieć opcjonalny dodatni budżet tokenów, ustawiany za pomocą parametrutoken_budget narzędzia create_goal. Budżet jest mierzony od aktualnej liczby
tokenów sesji w chwili utworzenia celu. Jeśli podczas rozpoczynania celu sesja
ma jedynie nieaktualny lub nieznany stan tokenów, OpenClaw czeka na kolejny
aktualny stan i używa go jako wartości bazowej, dzięki czemu tokeny wykorzystane
przed utworzeniem celu nie są do niego zaliczane.
Gdy użycie osiągnie budżet, cel przechodzi do stanu budget_limited. Nie usuwa
to celu ani zamiaru; informuje operatora i agenta, że cel nie jest już aktywnie
realizowany, dopóki nie zostanie wznowiony lub usunięty. Wznowienie rozpoczyna
nowe okno budżetu od bieżącej aktualnej liczby tokenów.
Budżety tokenów są zabezpieczeniem celu sesji, a nie limitem rozliczeniowym.
Limity dostawcy, raportowanie kosztów i działanie okna kontekstu nadal korzystają
ze standardowych mechanizmów użycia i sterowania modelem w OpenClaw.
Narzędzia modelu
OpenClaw udostępnia środowiskom agentów trzy narzędzia celów:
Model nie może niejawnie wstrzymać, wznowić, usunąć ani zastąpić celu. Operacje
te pozostają mechanizmami sterowania operatora i sesji dostępnymi przez
/goal
oraz polecenia resetowania, dzięki czemu agent może zgłosić osiągnięcie celu lub
rzeczywistą przeszkodę bez potajemnej zmiany zamiaru.
update_goal powinno oznaczyć cel jako complete tylko wtedy, gdy zamiar został
rzeczywiście osiągnięty. Powinno oznaczyć cel jako blocked dopiero wtedy, gdy
ta sama przeszkoda wystąpi w co najmniej trzech kolejnych turach celu, a nie
z powodu zwykłych trudności lub braku ostatecznych poprawek.
Kontekst celu w każdej turze
Każda tura użytkownika lub czatu z aktywnym celem zawiera następujący wiersz kontekstu w roli użytkownika:Interfejs sterowania
Internetowy interfejs sterowania wyświetla cel jako zwartą etykietę nad polem tworzenia wiadomości czatu: ikonę stanu, etykietę stanu (na przykładRealizowanie celu), skrócony zamiar oraz aktualizowany na żywo licznik czasu.
Etykieta zawiera wbudowane elementy sterujące:
- Ołówek wstępnie wypełnia pole tworzenia wiadomości tekstem
/goal edit <objective>, aby można było przeformułować i przesłać zamiar. - Wstrzymaj / wznów przełącza między
/goal pausei/goal resumezależnie od bieżącego stanu. - Kosz wysyła
/goal clear. - Szewron rozwija etykietę, aby wyświetlić pełny zamiar, najnowszą notatkę o stanie, użycie tokenów i czas, który upłynął.
TUI
Stopka TUI wyświetla cel aktywnej sesji obok pól agenta, sesji i modelu, przed wskaźnikami tokenów i trybu. Przykłady stopek:Realizowanie celu (12k/50k)dla aktywnego celu z budżetem tokenów.Cel wstrzymany (/goal resume)dla wstrzymanego celu.Cel zablokowany (/goal resume)dla zablokowanego celu.Cel osiągnął limity użycia (/goal resume)dla celu ograniczonego użyciem.Cel niezrealizowany (50k/50k)dla celu ograniczonego budżetem.Cel osiągnięty (42k)dla ukończonego celu.
/goal, aby wyświetlić pełny zamiar, notatkę,
budżet tokenów i dostępne polecenia.
Działanie w kanałach
/goal działa w sesjach OpenClaw obsługujących polecenia, w tym w TUI oraz
interfejsach czatu, które zezwalają na polecenia tekstowe. Stan celu jest
przypisany do klucza sesji, a nie do mechanizmu transportowego, dlatego dwa
interfejsy współdzielące klucz sesji widzą ten sam cel.
Stan celu nie jest dyrektywą dostarczania: nie wymusza odpowiedzi przez kanał,
nie zmienia działania kolejki, nie zatwierdza narzędzi ani nie planuje pracy.
Rozwiązywanie problemów
Jeśli użycie tokenów wynosi
0 lub wygląda na nieaktualne, aktywna sesja może
jeszcze nie mieć aktualnego stanu tokenów. Użycie jest odświeżane, gdy OpenClaw
rejestruje użycie sesji i sumy wyprowadzone z transkrypcji.