🤖 Webowy panel sterowania agentami AI (GitHub Copilot, Claude, Codex) dostępny z każdego urządzenia — iPhone, desktop, Telegram.
Live: https://claude-remote-control-gilt.vercel.app
| Strona | Opis |
|---|---|
/ |
Dashboard — status agentów + lista aktywnych PR-ów z GentelmeN-CorE |
/task |
Panel zleceń — formularz zlecania zadań agentom (tworzy Issue w repo) |
/review |
PR Review — przeglądaj, zatwierdzaj i merguj pull requesty |
| Endpoint | Metoda | Opis |
|---|---|---|
/api/prs |
GET |
Lista otwartych PR-ów z GitHub API |
/api/task |
POST |
Tworzy Issue/zadanie dla wybranego agenta |
/api/merge |
POST |
Merguje wskazany PR przez GitHub API |
/api/review |
POST |
Zatwierdza lub żąda zmian w PR przez GitHub API |
/api/auth |
POST / DELETE |
Logowanie / wylogowanie |
git clone https://github.com/marekdkropiewnicki-dotcom/claude-remote-control.git
cd claude-remote-control
npm installW github.com/settings/tokens stwórz token z uprawnieniami:
repo— pełny dostęp do repozytoriów
W Vercel Dashboard → Settings → Environment Variables dodaj:
GITHUB_TOKEN=ghp_... # Twój GitHub PAT
ADMIN_TOKEN=twoje_haslo # Dowolne hasło do panelu
NEXT_PUBLIC_REPO_OWNER=marekdkropiewnicki-dotcom
NEXT_PUBLIC_REPO_NAME=GentelmeN-CorE
npx vercel --prodLub automatycznie przez połączenie z GitHub (każdy push = deploy).
cp .env.example .env.local
# Uzupełnij .env.local własnymi wartościami
npm install
npm run devOtwórz http://localhost:3000.
- Next.js 15 (App Router)
- Tailwind CSS — ciemny motyw (
bg-gray-900) - TypeScript
- GitHub REST API v3
- Vercel — deployment
- 🟣 Copilot — fioletowy (
purple-400) - 🟠 Claude — pomarańczowy (
orange-400) - 🔵 Codex — niebieski (
blue-400) - 📱 Mobile-first — zoptymalizowany pod iPhone (Brave browser)
- 🌑 Dark mode — zawsze ciemny motyw
- Cały panel chroniony sesją cookie (7 dni); brak logowania = przekierowanie na
/login - Cookie
authprzechowujeHMAC-SHA256(ADMIN_TOKEN, 'gencore:session:v1')— surowy token nigdy nie trafia do cookie - Brak
ADMIN_TOKENw production kończy żądania błędem HTTP 500 zamiast otwierać panel publicznie - Niezalogowane żądania do
/api/*zwracają JSON{ error: 'Unauthorized' }(HTTP 401) zamiast przekierowywać na HTML GITHUB_TOKENnigdy nie trafia do frontendu — używany wyłącznie w API routes (server-side)- Numer PR z wejścia użytkownika walidowany jako bezpieczna liczba całkowita (> 0, ≤ 2 147 483 647) przed użyciem w URL GitHub API (ochrona przed SSRF)
- Wszystkie sekrety zarządzane przez Vercel Environment Variables