Przestrzeń robocza agenta
Przestrzeń robocza to dom agenta. Jest to jedyny katalog roboczy używany przez narzędzia plikowe oraz dla kontekstu przestrzeni roboczej. Należy ją traktować jako prywatną i uważać za pamięć. Jest to oddzielne od~/.openclaw/, które przechowuje konfigurację,
poświadczenia i sesje.
Ważne: przestrzeń robocza jest domyślnym cwd, a nie twardym sandboxem. Narzędzia rozwiązują ścieżki względne względem przestrzeni roboczej, ale ścieżki
bezwzględne nadal mogą sięgać poza nią na hoście, chyba że włączone jest
sandboxing. Jeśli potrzebujesz izolacji, użyj
agents.defaults.sandbox (i/lub konfiguracji sandbox na agenta).
Gdy sandboxing jest włączony i workspaceAccess nie jest "rw",
narzędzia działają wewnątrz sandboxowej przestrzeni roboczej pod
~/.openclaw/sandboxes, a nie w przestrzeni roboczej hosta.
Domyślna lokalizacja
- Domyślnie:
~/.openclaw/workspace - Jeśli
OPENCLAW_PROFILEjest ustawione i nie jest"default", domyślna lokalizacja staje się~/.openclaw/workspace-<profile>. - Nadpisanie w
~/.openclaw/openclaw.json:
openclaw onboard, openclaw configure lub openclaw setup spowoduje utworzenie
przestrzeni roboczej i zasianie plików bootstrap, jeśli ich brakuje.
Jeśli samodzielnie zarządzasz plikami przestrzeni roboczej, możesz wyłączyć
tworzenie plików bootstrap:
Dodatkowe foldery przestrzeni roboczej
Starsze instalacje mogły utworzyć~/openclaw. Przechowywanie wielu katalogów
przestrzeni roboczej może powodować mylące rozbieżności uwierzytelniania lub
stanu, ponieważ w danym momencie aktywna jest tylko jedna przestrzeń robocza.
Zalecenie: utrzymuj jedną aktywną przestrzeń roboczą. Jeśli nie używasz już
dodatkowych folderów, zarchiwizuj je lub przenieś do Kosza (na przykład
trash ~/openclaw).
Jeśli celowo utrzymujesz wiele przestrzeni roboczych, upewnij
się, że agents.defaults.workspace wskazuje na aktywną.
openclaw doctor ostrzega, gdy wykryje dodatkowe katalogi przestrzeni roboczej.
Mapa plików przestrzeni roboczej (co oznacza każdy plik)
Są to standardowe pliki, których OpenClaw oczekuje w przestrzeni roboczej:-
AGENTS.md- Instrukcje operacyjne dla agenta oraz sposób korzystania z pamięci.
- Ładowany na początku każdej sesji.
- Dobre miejsce na reguły, priorytety i szczegóły „jak się zachowywać”.
-
SOUL.md- Persona, ton i granice.
- Ładowany w każdej sesji.
-
USER.md- Kim jest użytkownik i jak się do niego zwracać.
- Ładowany w każdej sesji.
-
IDENTITY.md- Nazwa agenta, klimat i emoji.
- Tworzony/aktualizowany podczas rytuału bootstrap.
-
TOOLS.md- Notatki o lokalnych narzędziach i konwencjach.
- Nie kontroluje dostępności narzędzi; to wyłącznie wskazówki.
-
HEARTBEAT.md- Opcjonalna krótka lista kontrolna dla przebiegów heartbeat.
- Należy ją utrzymywać krótką, aby unikać spalania tokenów.
-
BOOT.md- Opcjonalna lista kontrolna uruchamiana przy starcie gateway, gdy włączone są wewnętrzne hooki.
- Należy ją utrzymywać krótką; do wysyłek wychodzących używaj narzędzia message.
-
BOOTSTRAP.md- Jednorazowy rytuał pierwszego uruchomienia.
- Tworzony tylko dla zupełnie nowej przestrzeni roboczej.
- Usuń go po zakończeniu rytuału.
-
memory/YYYY-MM-DD.md- Dziennik pamięci dziennej (jeden plik na dzień).
- Zalecane jest odczytywanie dzisiejszego i wczorajszego pliku na starcie sesji.
-
MEMORY.md(opcjonalnie)- Kuratorowana pamięć długoterminowa.
- Ładować tylko w głównej, prywatnej sesji (nie w kontekstach współdzielonych/grupowych).
-
skills/(opcjonalnie)- Skills specyficzne dla przestrzeni roboczej.
- Nadpisują zarządzane/dołączone skills w przypadku kolizji nazw.
-
canvas/(opcjonalnie)- Pliki interfejsu Canvas UI dla wyświetleń węzłów (na przykład
canvas/index.html).
- Pliki interfejsu Canvas UI dla wyświetleń węzłów (na przykład
agents.defaults.bootstrapMaxChars
(domyślnie: 20000).
openclaw setup może odtworzyć brakujące domyślne pliki bez
nadpisywania istniejących.
Czego NIE ma w przestrzeni roboczej
Znajdują się one pod~/.openclaw/ i NIE powinny być commitowane do repozytorium
przestrzeni roboczej:
~/.openclaw/openclaw.json(konfiguracja)~/.openclaw/credentials/(tokeny OAuth, klucze API)~/.openclaw/agents/<agentId>/sessions/(transkrypcje sesji + metadane)~/.openclaw/skills/(zarządzane skills)
Kopia zapasowa Git (zalecane, prywatne)
Traktuj przestrzeń roboczą jako prywatną pamięć. Umieść ją w prywatnym repozytorium git, aby była archiwizowana i możliwa do odzyskania. Wykonaj te kroki na maszynie, na której działa Gateway (tam znajduje się przestrzeń robocza).1. Inicjalizacja repozytorium
Jeśli git jest zainstalowany, zupełnie nowe przestrzenie robocze są inicjalizowane automatycznie. Jeśli ta przestrzeń robocza nie jest jeszcze repozytorium, uruchom:2. Dodanie prywatnego zdalnego repozytorium (opcje przyjazne dla początkujących)
Opcja A: interfejs webowy GitHub- Utwórz nowe prywatne repozytorium na GitHubie.
- Nie inicjalizuj go plikiem README (pozwala uniknąć konfliktów scalania).
- Skopiuj adres URL zdalnego repozytorium HTTPS.
- Dodaj zdalny i naciśnięcie:
gh)
- Utwórz nowe prywatne repozytorium na GitLabie.
- Nie inicjalizuj go plikiem README (pozwala uniknąć konfliktów scalania).
- Skopiuj adres URL zdalnego repozytorium HTTPS.
- Dodaj zdalny i naciśnięcie:
3. Bieżące aktualizacje
Nie commituj sekretów
Nawet w prywatnym repozytorium unikaj przechowywania sekretów w przestrzeni roboczej:- Kluczy API, tokenów OAuth, haseł lub prywatnych poświadczeń.
- Czegokolwiek pod
~/.openclaw/. - Surowych zrzutów czatów lub wrażliwych załączników.
~/.openclaw/).
Sugerowany plik startowy .gitignore:
Przenoszenie przestrzeni roboczej na nową maszynę
- Sklonuj repozytorium do docelowej ścieżki (domyślnie
~/.openclaw/workspace). - Ustaw
agents.defaults.workspacena tę ścieżkę w~/.openclaw/openclaw.json. - Uruchom
openclaw setup --workspace <path>, aby zasiać brakujące pliki. - Jeśli potrzebujesz sesji, skopiuj
~/.openclaw/agents/<agentId>/sessions/ze starej maszyny osobno.
Zaawansowane uwagi
- Routing wieloagentowy może używać różnych przestrzeni roboczych dla każdego agenta. Zobacz Channel routing, aby poznać konfigurację routingu.
- Jeśli
agents.defaults.sandboxjest włączone, sesje inne niż główne mogą używać sandboxowych przestrzeni roboczych per sesja podagents.defaults.sandbox.workspaceRoot.