Projekty i sesje
Projekt w Speedwave to zarejestrowana przestrzeń robocza: nazwa powiązana z katalogiem na hoście. Definicje projektów żyją w twoim pliku konfiguracyjnym użytkownika, ~/.speedwave/config.json, w tablicy projects, gdzie każdy wpis ma name i dir. Pierwszy projekt tworzysz, uruchamiając speedwave init w katalogu, w którym chcesz pracować. Kroki znajdziesz w tworzeniu pierwszego projektu.
Każdy projekt to osobny świat
Dział zatytułowany „Każdy projekt to osobny świat”Każdy projekt dostaje własną sieć kontenerów, własny katalog tokenów i własny katalog domowy Claude. Praca w jednym projekcie zostaje odseparowana od pracy w innym, więc problem zamknięty w jednym projekcie nie może dosięgnąć drugiego.
Za tym stoją dwie granice. Każdy projekt działa domyślnie na sieci o nazwie speedwave_<project>_network, a kontener z sieci jednego projektu nie może rozmawiać z kontenerami z sieci innego. Każdy projekt trzyma też swoje dane uwierzytelniające usług we własnym katalogu tokenów, ~/.speedwave/tokens/<project>/<service>/, a worker widzi wyłącznie podkatalog swojej własnej usługi. Pełny opis obu granic, wraz z warstwą maszyny wirtualnej pod spodem, znajdziesz w izolacji.
Każdy projekt ma też własny katalog domowy Claude pod <data_dir>/claude-home/<project>/, w którym trzymane są twoje dane uwierzytelniające Claude Code, sesje i stan onboardingu. Ponieważ ten katalog jest przypisany do projektu, zalogowanie do Claude w jednym projekcie nie loguje cię w drugim.
Praca z więcej niż jednym projektem
Dział zatytułowany „Praca z więcej niż jednym projektem”Speedwave potrafi uruchamiać kilka projektów równolegle. Operacje zmieniające kontenery projektu, na przykład jego start czy aktualizacja, są serializowane pojedynczo dla danego projektu, ale różne projekty nigdy się nie blokują. W aplikacji Desktop przełącznik projektów wybiera, który projekt jest aktywny: przełączenie uruchamia kontenery projektu docelowego i w tle, pojedynczo, wyłącza kontenery poprzedniego.
Z poziomu CLI to nie katalog roboczy wybiera projekt. Samo speedwave używa aktywnego projektu z twojej konfiguracji, a --project <name> celuje w konkretny zarejestrowany projekt z dowolnego katalogu.