Ustaw runnera
Runner jest oprogramowaniem typu open source vps-agent CLI instalujesz na własnej maszynie lub VPS. Rejestruje się w SprintFlint, ankiety dla Autoplay zadania, uruchamia narzędzie kodujące (domyślnie Claude Code) w skonfigurowanym drzewie roboczym lub klonie i otwiera pull request. Runner nigdy sam nie scala kodu; przeglądasz i scalasz go samodzielnie.
Warunki wstępne
Zainstaluj je na hoście przed zarejestrowaniem runnera:
- Node.js 18+ - modułem uruchamiającym jest interfejs CLI węzła zainstalowany przez npm
- git - aby ponownie wykorzystać lokalną kasę (drzewo robocze) lub sklonować repozytorium, a następnie wypchnąć gałęzie
- GitHub Interfejs wiersza polecenia (
gh) - aby otworzyć pull request - Claude Code (
claude) - wymagane dla domyślnego narzędzia kodującego; pomiń, jeśli uruchamiasz tylkonoopnarzędzie kodujące
Gdzie to uruchomić - Wszędzie z wychodzącym HTTPS do SprintFlint: zapasowy laptop, pudełko deweloperskie lub VPS w chmurze. Moduł uruchamiający tworzy tylko połączenia wychodzące, więc nie są wymagane żadne porty przychodzące.
Zainstaluj
Zainstaluj globalnie CLI za pomocą npm:
npm install -g vps-agent
Sprawdź, czy znajduje się na Twojej ścieżce:
vps-agent --version
Zarejestruj się
Rejestracja łączy runnera z Twoją organizacją SprintFlint. Istnieją dwa tryby.
Tryb tokena (zalecany)
Wygeneruj token rejestracyjny na stronie konfiguracji runnera w SprintFlint, a następnie zarejestruj się za jego pomocą:
vps-agent register \
--token <token> \
--api-url https://sprintflint.com
Otwórz Runnery w SprintFlint utwórz runnera i skopiuj jego token rejestracyjny. Token zarówno identyfikuje runnera, jak i go uwierzytelnia; zachowaj to w tajemnicy.
Tryb identyfikatora organizacji
Jeśli wolisz nadać nazwę runnerowi podczas rejestracji, użyj identyfikatora swojej organizacji:
vps-agent register \
--org-id <id> \
--name <name>
Uruchom runnera
Rozpocznij odpytywanie ofert pracy na pierwszym planie:
vps-agent start
Aby działał w tle (w przypadku VPS lub hosta o długim czasie działania), użyj trybu demona:
vps-agent start --daemon
Po uruchomieniu runner wysyła sygnały aktywności i jest wyświetlany jako w Internecie w SprintFlint. Teraz pobiera zadania Autoplay dla Twojej organizacji.
Stan, dzienniki i zatrzymanie
| Polecenie | Co to robi |
|---|---|
vps-agent status | Pokaż, czy runner działa i jest podłączony |
vps-agent logs | Wydrukuj najnowsze dzienniki runnerów |
vps-agent logs -f | Śledź logi na żywo (przydatne podczas wykonywania zadania) |
vps-agent stop | Zatrzymaj runnera |
vps-agent doctor | Sprawdź wymagania wstępne, konfigurację i łączność |
Skorzystaj ponownie z płatności lokalnej
Domyślnie moduł uruchamiający klonuje repozytorium do nowego katalogu zadań. Jest to powolne i pomija lokalne sekrety (na przykład Rails master.key). Skonfiguruj ścieżkę projektu na stronie edycji projektu — lub zastąp ścieżkę w tym module runner — a ładunek zadania poinformuje moduł uruchamiający o użyciu git worktree add zamiast tego z tej kasy.
Pozostałe zachowanie dodawania/usuwania drzewa roboczego jest zaimplementowane w vps-agent. Ta aplikacja Railsowa wysyła source_mode, project_path, worktree_base, i use_worktree na każdym next_job / job assignment.
Wybór narzędzia kodującego
The narzędzie kodujące to narzędzie kodujące, które uruchamia runner, aby zaimplementować problem. Ustaw harness klucz konfiguracyjny:
claude- domyślny; steruje interfejsem CLI Claude Code firmy Anthropic względem sklonowanego repozytorium. WymagaclaudeZainstalowano i uwierzytelniono interfejs CLI.noop- tryb próbny, który klonuje repozytorium i otwiera pusty PR bez zmiany kodu. Użyj go, aby sprawdzić łączność, uwierzytelnianie git i obsługę PR przed włączeniem właściwego narzędzia kodującego.
Tryby uprawnień
The permission_mode klucz konfiguracji określa, ile narzędzie kodujące może zrobić bez pytania o zgodę:
acceptEdits- automatyczne akceptowanie zmian w plikach; rozsądna wartość domyślna dla bezobsługowego AutoplaybypassPermissions- uruchamiaj bez monitów o pozwolenie; używaj tylko na hoście, któremu w pełni ufasz i izolujeszplan- pozwól narzędziu kodującemu zaplanować zmiany bez ich zapisywania; przydatne do podglądu działania Autoplay
Uwierzytelnianie Git
Runner korzysta z należących do hosta git i gh Dane uwierzytelniające CLI umożliwiające sklonowanie repozytorium, wypchnięcie gałęzi i otwarcie pliku PR. Uwierzytelnij się raz na hoście przed uruchomieniem agenta:
gh auth login
vps-agent doctor weryfikuje to, a agent odmawia uruchomienia if gh nie jest uwierzytelniony. SprintFlint nigdy nie obsługuje twoich danych uwierzytelniających GitHub.
Najmniejszy przywilej - runner wysyła zmiany przy użyciu konta GitHub hosta, więc nadaj temu kontu tylko niezbędny dostęp do repozytorium. Runner uruchamia Twoje narzędzie kodujące na Twoim sprzęcie; traktuj go jak każdy proces roboczy CI.
Rozwiązywanie problemów
Zacznij od doctor
vps-agent doctor sprawdza typowe punkty awarii i zgłasza, co jest nie tak:
vps-agent doctor
- Potwierdza węzeł 18+,
git,gh, iclaudesą zainstalowane i znajdują się na PATH - Potwierdza, że runner jest zarejestrowany i może dotrzeć do SprintFlint API
- Potwierdza
gitighsą uwierzytelniane na hoście
Runner wyświetla się w trybie offline
- Biegnij
vps-agent statusna hoście, aby potwierdzić, że działa - Upewnij się, że wychodzący protokół HTTPS do
sprintflint.comnie jest zablokowany - Sprawdź ponownie token rejestracyjny; zregeneruj go z Runnery jeśli potrzeba
Zadania stoją w kolejce, ale nigdy nie są uruchamiane
- Upewnij się, że co najmniej jeden runner jest online i wystartował (
vps-agent start) - Śledź logi za pomocą
vps-agent logs -fpodczas uruchamiania Autoplay - Sprawdź, czy projekt ma Integracja GitHub i skonfigurowane repozytorium
PR nie jest otwarty
- Sprawdź to
ghjest zainstalowany i uwierzytelniony (gh auth status) - Upewnij się, że runner może wypchnąć do repozytorium
- Spróbuj
noopnarzędzia kodującego, aby ustalić, czy problem dotyczy tego narzędzia, czy obsługi git/PR
Następne kroki
- Autoplay - W jaki sposób zadania są kolejkowane i uruchamiane od końca do końca
- Integracja GitHub - Podłącz repozytorium i połącz PR z problemami
- Odniesienie API - Wydawanie komentarzy i integracji