Interfejs Wiersza Poleceń
FloopFloop CLI
Zainstaluj CLI FloopFloop, autoryzuj urządzenie i zarządzaj każdym projektem z terminala — `floop login`, `floop new`, `floop chat`, `floop refine` i więcej.
Ostatnia aktualizacja:
FloopFloop CLI
FloopFloop CLI (floop) to jednoarchitekturowy klient wiersza poleceń dla platformy FloopFloop. Robi wszystko to, co konsola webowa — tworzy projekty na podstawie podpowiedzi, monitoruje wdrożenia na żywo, ulepsza projekty w trybie czatu REPL — bez opuszczania terminalu.
W odróżnieniu od kluczy API (które są dostępne tylko w planie Business), tokeny urządzeń CLI są powiązane z Twoim standardowym planem konta, dokładnie tak jak logowanie przez przeglądarkę. CLI jest dla ludzi; klucze API są dla skryptów.
Instalacja
Wybierz odpowiedni plik binarny dla swojego systemu i umieść go w $PATH. Pełna siatka instalacji (z przyciskami kopiowania) znajduje się na floopfloop.com/cli.
macOS (Apple Silicon)
curl -L https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-darwin-arm64 -o /usr/local/bin/floop
chmod +x /usr/local/bin/floopmacOS (Intel)
curl -L https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-darwin-x64 -o /usr/local/bin/floop
chmod +x /usr/local/bin/floopLinux x64
curl -L https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-linux-x64 -o /usr/local/bin/floop
chmod +x /usr/local/bin/floopWindows x64
# In PowerShell:
Invoke-WebRequest https://github.com/FloopFloopAI/floop-cli/releases/latest/download/floop-windows-x64.exe -OutFile $env:USERPROFILE\floop.exePierwsze uruchomienie w systemie macOS lub Windows spowoduje ostrzeżenie, że plik binarny nie jest jeszcze podpisany. W systemie macOS kliknij prawym przyciskiem myszy → Otwórz lub uruchom xattr -d com.apple.quarantine /usr/local/bin/floop. W systemie Windows kliknij "Więcej informacji" → "Uruchom mimo to".
Logowanie
Autoryzuj urządzenie na swoim koncie FloopFloop. CLI otwiera przeglądarkę, klikasz Zatwierdź, a CLI otrzymuje długotrwały token powiązany z tym urządzeniem.
floop loginNa urządzeniu bez interfejsu graficznego (SSH, CI, Docker) użyj zamiast tego przepływu urządzenia:
floop login --deviceOtrzymasz kod do wklejenia na stronie floopfloop.com/device. Po zatwierdzeniu CLI otrzymuje token i zapisuje go w ~/.floop/config.json z uprawnieniami 0600.
Sprawdź aktywną sesję poleceniem floop whoami. Wyloguj się poleceniem floop logout. Zarządzaj wszystkimi zalogowanymi urządzeniami w Konto → Urządzenia.
Polecenia
floop new <prompt>
Utwórz nowy projekt i (domyślnie) poczekaj, aż będzie dostępny.
floop new "a crypto RSI dashboard for BTC and ETH" --subdomain my-rsi| Flaga | Opis |
|---|---|
--name <name> | Nazwa projektu (domyślnie: pierwsze słowa podpowiedzi) |
--subdomain <slug> | Subdomena (domyślnie: slug nazwy) |
--bot-type <type> | Jedna z wartości: site, app, bot, api, internal, game |
--team <teamId> | Utwórz w przestrzeni roboczej zespołu |
--no-wait | Wróć natychmiast po dodaniu do kolejki; nie strumieniuj postępu |
--json | Zwróć dane w formacie JSON czytelnym dla maszyn |
floop list (alias ls)
Wyświetl swoje projekty w tabeli lub jako JSON.
floop list
floop list --json
floop list --team team_abc123floop status <project>
Pokaż stan kompilacji projektu. Akceptuje identyfikator projektu lub subdomenę. Dodaj --watch, aby strumieniować postęp w miejscu, dopóki kompilacja nie osiągnie stanu końcowego.
floop status my-rsi
floop status my-rsi --watch
floop status my-rsi --jsonfloop chat <project>
Otwórz interaktywny REPL powiązany z projektem. Każda wpisana linia jest wysyłana jako udoskonalenie z podglądem postępu kompilacji na żywo. Polecenia ukośnikowe:
/help— pokaż wszystkie polecenia ukośnikowe/status— jednorazowy status/open— otwórz aktywny URL/clear— wyczyść ekran/exit— wyjdź z REPL (działa też Ctrl+D)
Podczas kompilacji Ctrl+C zatrzymuje obserwację; kompilacja jest kontynuowana po stronie serwera. Naciśnij ponownie Ctrl+C (lub /exit), aby rzeczywiście zamknąć REPL.
floop refine <project> "<message>"
Nieinteraktywne udoskonalanie — odpowiednik skryptowy floop chat. Wysyła jedną wiadomość udoskonalającą i kończy działanie, bez przechodzenia do REPL. Przydatne w potokach CI ("udoskonal stronę główną, gdy ta gałąź zostanie scalona") lub do jednorazowych poprawek.
floop refine my-bot "tighten the dashboard table padding"
floop refine my-bot "fix the typo in the hero" --code-only --watch
floop refine my-bot "swap the brand colour to teal" --json| Flaga | Opis |
|---|---|
--watch | Śledź wynikającą kompilację do stanu końcowego (live / failed / cancelled / archived). Bez tej flagi wraca natychmiast po dodaniu do kolejki. |
--code-only | Ustawia codeEditOnly: true — pomija ponowne planowanie/przeprojektowanie i uruchamia 3-etapową poprawkę w miejscu zamiast pełnej 6-etapowej przebudowy. Kosztuje około połowy kredytu za udoskonalenie. Najlepsze do edycji tekstu, zmiany kolorów, poprawek literówek w już działającym projekcie. |
--json | Zwróć dane w formacie JSON czytelnym dla maszyn. Ujawnia wszystkie trzy kształty odpowiedzi — processing (kompilacja rozpoczęta), queued (w kolejce za bieżącą kompilacją) lub queued: false (zapisane jako wiadomość czatu, brak kompilacji). |
floop cancel <project> · floop reactivate <project> [--watch]
Anuluj uruchomioną kompilację lub reaktywuj wcześniej anulowany projekt. Polecenie reactivate uruchamia nową kompilację z najnowszym promptem projektu; z flagą --watch polecenie śledzi nową kompilację do stanu końcowego (live / failed / cancelled / archived) zamiast wracać natychmiast. Ten sam wzorzec odpytywania z deduplikacją co floop status --watch i floop refine --watch.
floop cancel my-bot
floop reactivate my-bot
floop reactivate my-bot --watch
floop reactivate my-bot --watch --jsonfloop open <project>
Otwórz aktywny URL projektu w domyślnej przeglądarce. Powraca do https://<subdomain>.floop.tech, jeśli API nie udostępniło jeszcze niestandardowego URL.
floop upgrade
Zastąp plik binarny floop najnowszą wersją z GitHub Releases. Weryfikuje SHA256 względem opublikowanego pliku SHA256SUMS przed zamianą. Dodaj --check, aby tylko sprawdzić dostępność aktualizacji bez instalowania.
floop upgrade
floop upgrade --checkDziała tylko dla skompilowanych plików binarnych. Jeśli zainstalowałeś przez npm lub uruchamiasz node dist/index.js ze źródeł, polecenie odmówi i wskaże właściwe narzędzie.
floop docs · floop feedback
Szybkie skróty: floop docs otwiera tę stronę, floop feedback otwiera formularz wsparcia/zgłaszania problemów na floopfloop.com.
floop completion <bash|zsh|fish|powershell>
Wydrukuj skrypt uzupełniania powłoki na standardowe wyjście. Instalacja według powłoki:
# bash
echo 'source <(floop completion bash)' >> ~/.bashrc
# zsh — save to a directory on $fpath
floop completion zsh > "${fpath[1]}/_floop"
# fish
floop completion fish > ~/.config/fish/completions/floop.fish
# PowerShell
floop completion powershell | Out-String | Invoke-Expression
# (or append to your $PROFILE to persist)Obecnie uzupełnianie jest statyczne — zna nazwy poleceń i podpoleceń, ale nie subdomeny Twoich projektów. Dynamiczne uzupełnianie z lokalną pamięcią podręczną jest w planach.
floop config get [key] · floop config set <key> <value>
Odczytaj lub zmień lokalne ustawienia CLI. Klucze do ustawienia: apiUrl(nadpisuje bazowy URL API — przydatne dla środowisk staging lub self-hosted) oraz telemetry (true/false).
floop config get
floop config get telemetry
floop config set telemetry false
floop config set apiUrl https://staging.floopfloop.comPrzechowywanie tokenów celowo NIE jest konfigurowalne przez config set— ta zasada zapobiega pojawianiu się tokenów w historii powłoki. Używaj floop login / floop logout do zarządzania aktywną sesją.
floop usage
Pokaż swój plan, dostępne kredyty (w tym miesiącu + przeniesione + użyte łącznie) oraz zużycie w bieżącym okresie (utworzone projekty, kompilacje, udoskonalenia, przestrzeń dyskowa, przepustowość) względem limitów planu.
floop usage
floop usage --jsonfloop conversations <project> (alias history)
Wydrukuj historię czatu projektu — wiadomości użytkownika, odpowiedzi asystenta i znaczniki wdrożeń (● Deployed v2) w porządku chronologicznym. Dodaj --limit 10, aby pokazać tylko ostatnie 10 wpisów.
floop conversations my-bot
floop history my-bot --limit 5
floop conversations my-bot --jsonfloop keys <list|create|rm>
Zarządza programowymi kluczami API (flp_…) do użycia w skryptach CI/CD. Różnią się od tokenów urządzeń z floop login— te są dla ludzi, powiązane ze standardowym planem; klucze API są programowe, wymagają planu Business i mogą być odwoływane indywidualnie z panelu lub po nazwie/id poleceniem floop keys rm.
floop keys list
floop keys create "github-actions" # raw key shown ONCE — copy it
# In CI:
export FLOOP_TOKEN=flp_…
floop list --json | jq …
# Later:
floop keys rm "github-actions"Podpolecenie rmodmawia odwołania klucza API, którym wykonywane jest wywołanie — użyj innego klucza (lub odwołaj z panelu), jeśli naprawdę chcesz go usunąć.
floop library <list|clone>
Przeglądaj publiczne projekty biblioteki i klonuj je do swojego konta.
floop library list
floop library list --search "trading bot" --sort popular
floop library clone <projectId> --subdomain my-forkREPL czatu: /attach <file> + interaktywny selektor
Wewnątrz floop chat dołącz plik do następnej wiadomości udoskonalającej:
floop chat my-bot
you ▸ /attach ./mockup.png
✓ Attached mockup.png (320 KB, image/png)
Attached to your NEXT message. 1 file(s) pending.
you ▸ make the dashboard look like thisCLI przesyła plik przez istniejący mechanizm presigned-PUT; dozwolone typy to png/jpg/gif/svg/webp/ico/pdf/txt/csv/doc/docx, maksymalnie 5 MB. Załącznik jest zużywany przez następną wiadomość — wpisanie kolejnych poleceń ukośnikowych lub naciśnięcie Enter na pustej linii zachowuje go jako oczekujący.
floop chat bez argumentu projektu wyświetla numerowany selektor Twoich projektów. Jeśli projekt jest jeden, wybiera go bezpośrednio.
floop subdomain check <slug> · floop subdomain suggest "<prompt>"
Pomocniki skryptowe dla floop new. Polecenie check kończy się kodem 0, jeśli slug jest wolny, w przeciwnym razie kodem 1. Polecenie suggest wypisuje dostępny slug wywnioskowany z podpowiedzi — przekaż go bezpośrednio do --subdomain:
# Pre-flight check
floop subdomain check my-bot && echo "available"
# Auto-pick a slug from the prompt
SLUG=$(floop subdomain suggest "a crypto rsi dashboard for btc")
floop new "a crypto rsi dashboard for btc" --subdomain "$SLUG"floop secrets <list|set|rm> <project> [<key>]
Zarządzaj zmiennymi środowiskowymi tylko do zapisu w projekcie. Wartości nigdy nie są zwracane przez API — polecenie list pokazuje tylko metadane (klucz, ostatnie 4 znaki, znaczniki czasu). Podpolecenie set odczytuje wartość z --value, --from-envlub stdin (w tej kolejności) — preferuj stdin lub --from-env dla wrażliwych wartości, aby nie trafiły do historii powłoki.
# List
floop secrets list my-bot
# Set (most secure: from a local env var)
export STRIPE_KEY="sk_live_..."
floop secrets set my-bot STRIPE_KEY --from-env STRIPE_KEY
# Set (reads from stdin)
floop secrets set my-bot STRIPE_KEY < ./stripe.key
# Remove
floop secrets rm my-bot STRIPE_KEYKlucze muszą mieć format UPPER_SNAKE_CASE, zaczynać się od litery i mieć maksymalnie 64 znaki (zgodne z walidatorem sekretów projektu).
Skryptowanie
Każde polecenie obsługuje flagę --json. W połączeniu z jq i zmienną środowiskową FLOOP_TOKEN (która pomija interaktywne logowanie), CLI nadaje się do użytku w CI/CD.
# Create a project, capture its ID, poll for live URL
PROJECT=$(floop new "test page" --no-wait --json | jq -r '.project.id')
# Wait until live (or terminal failure)
while true; do
STATUS=$(floop status "$PROJECT" --json | jq -r '.status.status')
case "$STATUS" in
live) echo "shipped"; break ;;
failed) echo "build failed"; exit 1 ;;
cancelled) echo "cancelled"; exit 1 ;;
esac
sleep 5
doneZmienne środowiskowe
| Zmienna | Przeznaczenie |
|---|---|
FLOOP_API_URL | Nadpisuje bazowy URL API. Domyślnie: https://www.floopfloop.com. Przydatne dla środowisk staging. |
FLOOP_TOKEN | Token Bearer używany zamiast tego z pliku ~/.floop/config.json. Przydatne w CI. |
Kody wyjścia
Udokumentowane kody wyjścia do skryptowania powłoki:
| Kod | Znaczenie |
|---|---|
0 | Sukces |
1 | Błąd użytkownika (nieprawidłowe flagi, walidacja, odmowa aktualizacji w trybie deweloperskim) |
2 | Uwierzytelnianie (niezalogowany, token odwołany, ZABRONIONY) |
3 | Przekroczono limit żądań |
4 | Błąd serwera (5xx, błędy instalacji/aktualizacji) |
5 | Sieć niedostępna |
Plik konfiguracyjny
CLI przechowuje swoją sesję w pliku ~/.floop/config.json z uprawnieniami 0600 (tylko właściciel może czytać i pisać). Plik zawiera:
{
"apiUrl": "https://www.floopfloop.com",
"token": "flp_cli_…",
"tokenPrefix": "flp_cli_a1b2…",
"user": { "id": "...", "email": "you@example.com", "name": "..." }
}Obsługa systemowego pęku kluczy (macOS Keychain, Windows Credential Manager) jest w planach.
Prywatność & telemetria
Przy pierwszym interaktywnym uruchomieniu CLI pyta, czy chcesz udostępniać anonimowe dane użytkowania. Jest to opt-in — wybierz n i nic nigdy nie zostanie wysłane. Wybierz y, a CLI wyśle jedno żądanie POST do /api/cli/telemetry przy każdym zakończeniu polecenia, zawierające dokładnie:
anonymousId— losowy hex generowany przy opt-in, nigdy niepowiązany z Twoim kontemcommand— nazwa polecenia najwyższego poziomu (np.new,list)exitCodedurationMsversion— wersja CLIos—darwin/win32/linux
Nie wysyłamy: podpowiedzi, nazw projektów, zawartości plików, argumentów poleceń, adresu e-mail, adresu IP (backend rejestruje IP żądania na potrzeby ograniczania szybkości; nie jest łączony z wierszami telemetrii). Pełny ładunek to sześć powyższych pól.
Lista wykluczeń — telemetria nigdy nie jest uruchamiana dla floop config, floop completion, floop help, --help ani --version (są one albo cykliczne, często przekazywane potokiem lub pozbawione treści). Telemetria ma stały limit czasu wynoszący 1 sekundę i nigdy nie opóźnia zakończenia CLI.
Wyłącz w dowolnym momencie: floop config set telemetry false. Lub ręcznie edytuj ~/.floop/config.json.
Źródła & wydania
Gotowe pliki binarne dla systemów macOS, Windows i Linux są publikowane w GitHub Releases przy każdym tagu cli-v*. Informacje o wydaniu zawierają instrukcje instalacji i sumy kontrolne SHA256.
Aby zobaczyć listę artefaktów wydania, odwiedź najnowsze wydania.