Przejdź do głównej zawartości

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 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.

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.