Funkcje
Wszystko, co PiviKernel robi dziś, ze statusem zgodnym ze stanem kodu i testów. Zapowiedzi są oddzielone.
- działa
- Zaimplementowane i sprawdzone testami lub procedurą.
- gotowe do autoryzacji
- Kod gotowy. Działa po zgodzie lub kluczu właściciela konta usługi.
- w realizacji
- Prace trwają. Nie należy na tym jeszcze polegać.
- planowane
- Zapowiedź. Brak kodu i dostępu.
- połączone i zweryfikowane
- widoczne w panelu, gdy ostatnie zapytanie do usługi zakończyło się sukcesem.
Działa i gotowe do autoryzacji
- Własny serwer Git działaForgejo 15 LTS: repozytoria, gałęzie, historia i dostęp przez SSH, bez zależności od GitHuba.
- Osobne konta Git dla agentów działaKażdy agent ma własne konto i klucz SSH. Uprawnienie do repozytorium: zapis albo tylko odczyt.
- Wspólny rejestr zadań działaTworzenie, przejmowanie, statusy i wyniki. Ponowienie wywołania z tym samym kluczem nie tworzy duplikatu.
- Historia zdarzeń działaKażda zmiana z autorem: człowiek, agent albo system. Filtrowanie po typie i stronicowanie.
- Decyzje właściciela działaAgent zgłasza decyzję, właściciel zatwierdza lub odrzuca ją w panelu. Agent nie może jej rozstrzygnąć.
- Serwer MCP: 31 narzędzi działaStreamable HTTP i stdio. Agent widzi tylko narzędzia dozwolone dla swojego tokenu.
Ciąg dalszy
- REST API v1 i OpenAPI 3.1 działaTe same operacje co w MCP, z opisem dla zwykłych integracji HTTP.
- Panel właściciela z MFA działaHasło i kod TOTP, kody odzyskiwania, krótkie sesje, blokada po nieudanych próbach, dziennik działań.
- Szyfrowane kopie poza serwerem działaKopie szyfrowane kluczem publicznym właściciela. Serwer nie ma klucza do ich odczytu.
- Wdrożenia z rollbackiem działaTest dymny na kopii danych, kopia przed zmianą, kontrola zdrowia i automatyczny powrót do poprzedniej wersji.
- Google Analytics 4 i Search Console gotowe do autoryzacjiKreator: autoryzacja OAuth, wybór usług z Twojego konta, test połączenia. Tylko odczyt.
- PageSpeed Insights gotowe do autoryzacjiCore Web Vitals (p75) i wynik Lighthouse dla domeny projektu. Wymaga bezpłatnego klucza API Google.
W realizacji i w planach
- Autoryzacja OAuth 2.1 dla asystentów AI w realizacjiSerwer autoryzacji z rejestracją klientów, PKCE, zgodą z wyborem projektów i odwołaniem jest gotowy i przetestowany lokalnie. Test z ChatGPT i claude.ai wymaga publicznego adresu HTTPS.
- Konektor ChatGPT i katalog Claude planowaneZgłoszenie do katalogów OpenAI i Anthropic po publicznym starcie.
- Portal użytkownika planowaneKonta i odizolowane przestrzenie dla innych użytkowników pod my.pivihost.top. Dziś: osobny obszar logowania i izolacja danych w silniku.
- Kolejne konektory planowaneGoogle Ads, Bing Webmaster Tools, DirectAdmin, Proxmox, CRM i sklepy internetowe.
Przebieg pracy agenta
Jak wyglądają wywołania MCP od połączenia do decyzji właściciela.
1. Agent się przedstawia
Pierwsze wywołanie MCP zwraca tożsamość, zakresy tokenu i projekty, do których agent ma dostęp.
whoami {}{ "agent": "claude-code",
"scopes": ["projects:read", "tasks:write", "…"],
"projects": [{ "slug": "pivikernel", "access": "write" }] }Historia zdarzeń: —
2. Pobiera otwarte zadania
Zadania są posortowane według priorytetu. Agent widzi wyłącznie projekty ze swojego dostępu.
list_tasks { "project": "pivikernel", "status": "active" }{ "tasks": [{ "id": 7, "title": "Dodać filtr zadań",
"status": "open", "priority": "high" }] }Historia zdarzeń: —
3. Przejmuje zadanie
Przejęcie jest atomowe: drugi agent dostanie konflikt, zamiast pracować nad tym samym.
claim_task { "id": 7 }{ "id": 7, "status": "claimed", "assignee": "claude-code" }Historia zdarzeń: task.claimed — Claude Code przejął zadanie #7
4. Pracuje w Git
Zmiany trafiają do repozytorium przez SSH, z konta Git przypisanego do agenta.
git push pivi claude/filtr-zadanTo ssh://…/pivi/pivikernel.git
* [new branch] claude/filtr-zadanHistoria zdarzeń: Nowy commit widoczny w panelu: Repozytoria
5. Raportuje wynik
Wynik i artefakt (commit, raport, URL) zostają przy zadaniu. Zamknięcia nie da się cofnąć przez API.
update_task { "id": 7, "status": "done",
"result": "Filtr dodany, testy zielone" }
register_artifact { "kind": "commit", "uri": "commit:3f2c1a9" }{ "id": 7, "status": "done" }Historia zdarzeń: task.done, artifact.registered
6. Ty decydujesz
Agent może tylko zgłosić decyzję. Rozstrzyga ją właściciel w panelu właściciela.
propose_decision { "project": "pivikernel",
"title": "Wdrożyć na podgląd?" }Panel właściciela → Do decyzji → ZatwierdźHistoria zdarzeń: decision.accepted — właściciel
Przykład przebiegu z prawdziwymi nazwami narzędzi i kształtem danych. Identyfikatory są przykładowe.