Local Bridge — Przewodnik konfiguracji
Połącz swój lokalny komputer z Arc OS w mniej niż 90 sekund. Workerzy w chmurze czytają i edytują pliki na twoim komputerze przez jeden plik binarny — bez Dockera, bez Bun, bez łańcucha narzędzi kompilacji.
Phase 23.2 · Ostatnia aktualizacja: 2026-05-14 · Testowane na macOS 14+, Ubuntu 22+, Windows 11
Wybierz swój system — przejdź od razu do kroków
| Twój komputer | Otwórz ten przewodnik |
|---|---|
| Local Bridge — Konfiguracja macOS | |
| Local Bridge — Konfiguracja Linux | |
| Local Bridge — Konfiguracja Windows |
Reszta tej strony obejmuje to, co jest wspólne dla wszystkich platform: lista pre-flight, co bridge faktycznie robi, typowe błędy, model bezpieczeństwa i diagnostyka. Przeczytaj raz; wróć, gdy coś przestanie działać.
▶ Obejrzyj 90-sekundowy przewodnik
🎬 Miejsce na wideo — tu pojawi się embed Loom po nagraniu. Nazwa pliku:
bridge-walkthrough-2026-05.mp4· 90s · narracja CEO · napisy w EN. Śledzenie: zob. shotlist mediów §1.
┌──────────────────────────────────────────┐
│ ▶ Loom: Bridge Setup in 90 Seconds │
│ (placeholder until recorded) │
└──────────────────────────────────────────┘
Co będziesz mieć na końcu
Dwa okna obok siebie, oba ze statusem „connected":
🖼️ Miejsce na zrzut ekranu —
media/bridge/success-state.pngSpecyfikacja zdjęcia: podzielony ekran — lewo = Terminal z✓ Connected to ws://… as <project>, prawo = strona CRMBridge Setupz zielonym punktem iOnlineobok nazwy twojego komputera.
┌─ Terminal ─────────────────────┐ ┌─ Browser: arc-os.co ──────────────┐
│ $ bash install.sh │ │ Bridge Setup │
│ ✓ Quarantine stripped │ │ ● <your-machine> Online │
│ ✓ Token validated │ │ Last seen: just now │
│ ✓ Connected │ │ │
│ Watching ~/projects/<project> │ │ Connected workers can read / │
└─────────────────────────────────┘ └───────────────────────────────────┘
Lista pre-flight
Przed rozpoczęciem pobierz te dane z CRM:
| Element | Gdzie to znaleźć | Format |
|---|---|---|
| Token | Settings → Integrations → Bridge Setup → kliknij Copy |
eyJhbG… JWT, ~250 znaków, TTL 24h |
| Techniczna nazwa projektu | Sidebar → twój projekt → slug URL (ta małymi literami, nie nazwa wyświetlana) | małe litery, tylko myślniki/podkreślenia |
| Architektura systemu | macOS: ⌘+Space → „About This Mac" · Win: Settings → System → About · Linux: uname -m |
arm64, x64, aarch64 |
🖼️ Miejsce na zrzut ekranu —
media/bridge/where-to-find-token.pngSpecyfikacja zdjęcia: strona CRMSettings → Integrationsz podświetlonym czerwoną strzałką + kółkiem przyciskiem „Copy". Pole tokena częściowo ukryte (pokaż tylkoeyJhbG...***...xyz).
Krok 0 — Co pobierasz
Local Bridge to pojedynczy plik binarny, który uruchamiasz na swoim komputerze. Nie ma kreatora instalacji, usługi systemowej ani potrzeby uprawnień administratora. Pobierasz jeden plik, klikasz dwukrotnie (lub uruchamiasz z terminala) i działa.
Inny system = inny plik binarny. Dlatego strona Bridge Setup w CRM pokazuje 4 przyciski — każdy pobiera inny plik skompilowany dla tego systemu + architektury CPU. Wybór niewłaściwego spowoduje, że komputer odmówi uruchomienia (Exec format error na Linuksie, damaged na macOS, not a valid Win32 application na Windows).
🖼️ Miejsce na zrzut ekranu —
media/bridge/bridge-setup-page-4-buttons.pngSpecyfikacja zdjęcia: strona CRMSettings → Integrations → Bridge Setupz 4 przyciskami pobierania w rzędzie: 🍎 macOS (Apple Silicon), 🍏 macOS (Intel), 🐧 Linux (x64), 🪟 Windows (x64). Pole tokena powyżej z przyciskiem Copy. 1280×720, tryb jasny. Adnotacja: czerwone kółko wokół przycisku 🍎 jako przykładowy wybór użytkownika.
Rozmiar pliku i tabela pobrań
| Twój komputer | Kliknij ten przycisk | Pobierz ten plik | Rozmiar |
|---|---|---|---|
| Mac z Apple Silicon (M1/M2/M3/M4/M5) | bridge-darwin-arm64.tar.gz |
~50 MB | |
| Starszy Mac (Intel, przed 2020) | bridge-darwin-x64.tar.gz |
~50 MB | |
| Laptop Linux / VM / serwer | bridge-linux-x64.tar.gz |
~50 MB | |
| Linux ARM (Raspberry Pi, AWS Graviton) | bridge-linux-arm64.tar.gz |
~50 MB | |
| Windows 10/11 PC | bridge-windows-x64.exe |
~55 MB |
Dlaczego archiwa (.tar.gz) na macOS/Linux, ale surowy .exe na Windows? macOS poddaje kwarantannie niepodpisane pobrane pliki binarne z mylącym błędem „damaged". Archiwum zawiera plik binarny + mały skrypt
install.command, który usuwa kwarantannę. Windows używa SmartScreen — klikasz przez jedno okno dialogowe, archiwum nie jest potrzebne.
Wybierz platformę — drzewo decyzyjne
flowchart TD
Start[👤 Otwórz CRM →<br/>Settings → Integrations →<br/>Bridge Setup] --> OS{Jakiego systemu<br/>używasz?}
OS -->|macOS| Mac[Otwórz<br/>przewodnik macOS]
OS -->|Linux| Lin[Otwórz<br/>przewodnik Linux]
OS -->|Windows| Win[Otwórz<br/>przewodnik Windows]
Mac --> Connect[Wklej token →<br/>nazwa projektu → Enter]
Lin --> Connect
Win --> Connect
Connect --> Done([✅ Connected])
Nie wiesz, jaki chip ma twój Mac? Kliknij logo 🍎 w lewym górnym rogu → About This Mac → szukaj „Chip: Apple M1/M2/M3/M4/M5" (Apple Silicon) lub „Processor: Intel Core …" (Intel). W razie wątpliwości: Apple Silicon — każdy Mac sprzedany od listopada 2020.
Po uruchomieniu
🖼️ Miejsce na zrzut ekranu —
media/bridge/crm-bridge-list.pngSpecyfikacja zdjęcia: strona CRM Bridge Setup z twoim komputerem na liście połączonych — zielony punkt, hostname, projekt, „last seen: just now", licznik czasu sesji.
Trzymaj otwarte okno Terminala/PowerShell — zamknięcie go zatrzymuje bridge.
Każdy przewodnik dotyczący systemu pokazuje, jak uruchomić bridge w tle (nohup na Unix, Start-Process -WindowStyle Hidden na Windows). Tryb trwałej usługi (launchd / systemd / Windows Service) jest w roadmapie — zob. Phase 23.4.
Typowe błędy — wizualny przegląd
| Błąd | Co widzisz | Co zrobić |
|---|---|---|
bridge-darwin-arm64 is damaged |
Dialog macOS z przyciskami Trash/Cancel | Kliknij Cancel, zamiast tego uruchom install.command. Zob. przewodnik macOS |
install.command can't be opened because Apple cannot check it for malicious software |
Dialog macOS przy pierwszym uruchomieniu | Kliknij prawym przyciskiem install.command → Open → Open |
Windows protected your PC |
Niebieski dialog SmartScreen | More info → Run anyway. Zob. przewodnik Windows |
Token is required / Invalid token |
Bridge kończy działanie z czerwonym błędem | Token wygasł (TTL 24h). Zaloguj się ponownie do CRM, skopiuj nowy token |
Project not found |
Bridge kończy działanie | Użyj technicznej nazwy (slug URL), nie nazwy wyświetlanej |
| Bridge ciągle się łączy ponownie | Reconnecting in 4s… 8s… 16s… |
VPS może być niedostępny: curl http://62.171.128.248:18888/api/master/health |
search_files zwraca pusty wynik |
Narzędzie działa, ale brak wyników | Zainstaluj ripgrep dla wysokiej jakości wyszukiwania; bez niego przechodzi do wolniejszego natywnego skanowania |
🖼️ Miejsce na zrzut ekranu —
media/bridge/error-gallery.pngSpecyfikacja zdjęcia: kompozyt 4-kwadrantowy: lewy górny = dialog macOS damaged, prawy górny = dialog weryfikacji install.command, lewy dolny = niebieski ekran Windows SmartScreen, prawy dolny = Terminal z✗ Token expired. Każdy podpisany błędem z tabeli powyżej.
Co bridge faktycznie robi
Bridge łączy twój lokalny komputer z przekaźnikiem WebSocket Arc OS. Workerzy CRM mogą wtedy wywoływać 5 narzędzi z piaskownicą do dostępu do twoich plików:
sequenceDiagram
participant W as Worker (cloud)
participant R as Relay (VPS WS)
participant B as Bridge (your laptop)
participant FS as Local FS
W->>R: read_file("./src/index.ts")
R->>B: tool call
B->>B: validate path (sandbox)
B->>FS: read file
FS-->>B: contents
B-->>R: response
R-->>W: contents
Note over W,FS: All 5 tools follow the same loop.<br/>execute_command shows yellow banner first.
| Narzędzie | Co robi |
|---|---|
read_file |
Odczytuje zawartość pliku |
write_file |
Tworzy lub nadpisuje plik |
list_directory |
Wyświetla pliki i foldery z rozmiarami |
search_files |
Przeszukuje zawartość plików (używa ripgrep jeśli dostępny) |
execute_command |
Uruchamia komendę powłoki — wyświetlana w twoim terminalu z żółtym banerem |
Wszystkie ścieżki plików są izolowane do katalogu, z którego uruchomiono bridge. Workerzy nie mogą go opuścić przez
../.
Model bezpieczeństwa
| Warstwa | Ochrona |
|---|---|
| Uwierzytelnianie | WebSocket wymaga ważnego JWT (TTL 24h, HMAC-SHA256, porównanie timingSafeEqual po stronie serwera) |
| Izolacja ścieżek | Wszystkie operacje na plikach ograniczone do katalogu uruchomienia; safePath() odrzuca .., ścieżki absolutne, ucieczki przez symlinki |
| Whitelist narzędzi | Dozwolonych tylko 5 narzędzi; zarówno klient, jak i serwer odrzucają nieznane nazwy |
| Widoczność komend | execute_command wyświetla żółty baner w twoim terminalu przed uruchomieniem — możesz wysłać SIGINT, żeby przerwać |
| Wygaśnięcie tokena | TTL 24h — nawet jeśli wycieknie, okno ekspozycji jest ograniczone |
| Automatyczne ponowne łączenie | Zerwanie połączenia → wykładniczy backoff 2s → 4s → 8s → … → max 30s |
Zaawansowane — flagi i środowisko
Dla skryptów CI lub przepływów sterowanych zmiennymi środowiskowymi:
# Linux / macOS — zmienna środowiskowa
CRM_TOKEN="eyJhbG..." ./bridge-linux-x64 --project <project>
# Windows PowerShell
$env:CRM_TOKEN = "eyJhbG..."
.\bridge-windows-x64.exe --project <project>
# Uruchom ze źródła (wymaga Bun ≥ 1.0)
CRM_TOKEN="eyJhbG..." bun scripts/bridge.ts --project <project>
| Flaga | Domyślna | Opis |
|---|---|---|
--project <name> |
(interaktywny prompt) | Nazwa projektu do powiązania |
--server <url> |
ws://62.171.128.248:18888/ws/local-bridge |
URL przekaźnika WebSocket |
--help, -h |
— | Wyświetl pomoc |
Diagnostyka
Utknąłeś? Uruchom te komendy kolejno:
# 1. Czy VPS jest osiągalny?
curl -s http://62.171.128.248:18888/api/master/health
# Oczekiwane: {"status":"ok","children":N,...}
# 2. Czy twój bridge jest zarejestrowany? (zastąp <token>)
curl -s -H "Authorization: Bearer <token>" \
http://62.171.128.248:18888/api/internal/bridges
# Oczekiwane: lista JSON zawierająca twój hostname
Jeśli obie komendy się powiodą, ale bridge ciągle się łączy ponownie → problem jest między bridgem a przekaźnikiem (firewall, VPN, firmowe proxy). Przetestuj WebSocket bezpośrednio:
# wymaga `wscat` — npm install -g wscat
wscat -c "ws://62.171.128.248:18888/ws/local-bridge?token=<token>"
Kompilacja ze źródeł (dla deweloperów)
# Jedna platforma
bash scripts/build-bridge.sh linux
# Wszystkie 4 platformy
bash scripts/build-bridge.sh
Wyniki trafiają do dist/bridge-{platform} i są przesyłane do CRM jako pliki binarne serwowane na stronie Bridge Setup.
Odniesienia
- API:
/api/internal/bridges— lista połączonych bridge'y - Architektura: Phase 23 — Local Gateway
- Źródło:
clients/bridge/w repozytorium GitHub - Przewodniki dla systemów: macOS · Linux · Windows
Utrzymywane przez Arc OS Team. Jeśli utknąłeś w miejscu, gdzie ten przewodnik nie pomógł, to błąd — napisz do CEO lub opublikuj w @arcos_beta_feedback.