Sesja 2026-03-05 — Pełne podsumowanie

Wielka sesja konfiguracyjna. Uruchomiliśmy Clawharbor, nadaliśmy tożsamości wszystkim agentom, wdrożyliśmy Klaudynkę (ACP), zaczęliśmy debugować odin-test, założyliśmy ADR w Obsidianie i zepsuliśmy trochę budżet. Wszystko po kolei.


Chronologia

~20:00 — Odkrycie i instalacja Clawharbor

Aleksander wrzucił link https://www.clawharbor.work/install. Orwil zidentyfikował narzędzie jako pixel art office dla AI agentów — coś w stylu The Sims, ale dla modeli językowych. Kluczowe funkcje: Work Room (aktywni agenci), The Lounge (idle), Quest Log, Water Cooler (czat grupowy).

Instalacja:

curl ... | bash          # install script
cd ~/clawharbor
npm install
npm run build

Skonfigurowane jako user systemd service (~/.config/systemd/user/clawharbor.service), binduje na 0.0.0.0:3333.

Dostęp: http://10.0.255.3:3333

Pierwsze uruchomienie — Orwil opisuje Clawharbor, pytanie o zgodę na instalację

Dashboard po uruchomieniu — Work Room z Aleksandrem, Lounge z wieloma klonem Orwila (wszyscy agenci jeszcze mają tę samą tożsamość)

Panel szczegółów agenta — Live Feed z logami systemowymi, statystyki (Energy/Output/Collab/Queue/Focus), Skills XP (3036 XP)


~20:30–21:00 — Problem: wszyscy agenci to “Orwil”

Odkrycie: wszystkie agenty dzielą wspólny workspace → wszystkie mają tę samą tożsamość, imię i osobowość. W Clawharbor widać to wprost — pełno identycznych “Owil” w Lounge.

Rozwiązanie: Osobne workspace dla każdego agenta.

Zrobione dla wszystkich 11 agentów:

mkdir -p ~/.openclaw/agents/<id>/workspace/
# → własny IDENTITY.md z imieniem, emoji, charakterem
# → aktualizacja openclaw.json (workspace path per agent)

Efekt końcowy — tabela agentów:

AgentImięEmojiModel
mainOrwil🐹Claude Sonnet
gptGepetto🤖GPT-4o
gpt-miniMinetteGPT-4o-mini
o3Orion🔭o3-mini
geminiGemka💎Gemini 2.5 Pro
llamaLlamka🦙Llama 4 Maverick
deepseekGłębek🌊DeepSeek R1
functiongemmaGemma⚙️FunctionGemma 270M
bielikBielik🦅Bielik
qwen3Qwentek🐉Qwen3 30B
mirelaMirela🌸Claude Sonnet

~21:00–21:40 — Konfiguracja Clawharbor

Zmiany w clawharbor.config.json:

  • Owner: Aleksander
  • Kolory agentów
  • Misja biura

Naprawione bugi w kodzie Clawharbor:

  • Hardcoded ścieżka ~/.local/node/bin/openclawfindOpenclawBin() (dynamiczne wyszukiwanie binarki)
  • Ta sama poprawka w actions/route.ts

Integracja ACP w quest systemie:

  • Questy z tagiem coding → spawnnują Klaudynkę przez acpx zamiast tylko wysyłać wiadomość
  • pickSpeaker() w Water Cooler rozszerzony o preferencje 80/20 (tanie modele)
  • Tick Water Cooler: 45s → 3 minuty

Optymalizacja kosztów modeli:

  • Gemka: gemini-2.5-pro-previewgemini-flash-1.5
  • Llamka: llama-4-maverickllama-3.3-70b-instruct:free (okazało się rate limited — do zmiany)

Water Cooler — Aleksander i Orwil rozmawiają o pomysłach na usprawnienia biura (status dnia, mini changelog z GitLab)

W pełni skonfigurowane biuro — wszystkie 11 agentów z własnymi imionami, Work Room z aktywnymi agentami

Propozycja podziału personalności i skilli dla każdego agenta

Modal “Pay Agent” — mechanizm kryptowalutowych mikropłatności (USDC, ETH, BNKR, HARBOR)


~21:40 — Klaudynka (ACP Agent)

Uruchomiliśmy Klaudynkę — agenta kodującego Claude Code przez protokół ACP.

Problem: OpenClaw nie eksponuje swojego klucza Anthropic do zewnętrznych procesów (słusznie — keyring). Potrzebny osobny klucz.

Konfiguracja:

~/.acpx/config.json          → alias "klaudynka" → npx @zed-industries/claude-agent-acp
~/.config/environment.d/anthropic.conf → ANTHROPIC_API_KEY
~/.claude/CLAUDE.md          → globalny soul/system prompt

Charakter Klaudynki: konkretna, wnikliwa, sarkastyczna. Naprawia przyczyny, nie objawy.

Repo: https://git.cynarski.pl/Orwil/klaudynka

Użycie przez OpenClaw:

sessions_spawn(runtime="acp", agentId="claude")

~22:00 — Repozytoria dla wszystkich agentów

Każdy agent dostał własne prywatne repo na git.cynarski.pl w grupie Orwil:

gepetto, minette, orion, gemka, llamka, glebek, gemma, bielik, qwentek, mirela, klaudynka

Wytyczna zapisana w AGENTS.md: przy każdym nowym agencie:

  1. Własny workspace ~/.openclaw/agents/<id>/workspace/
  2. IDENTITY.md z imieniem, emoji, charakterem
  3. Repo na git.cynarski.pl/Orwil (prywatne)
  4. Commit po każdej zmianie konfiguracji

SOUL.md “gadaj po polsku” — dodane do workspace wszystkich 10 agentów i spushowane.

Organizacja Orwil na Forgejo — 14 repozytoriów, każdy agent ma swoje


~22:00–22:20 — Czat grupowy: negocjowanie zadań

Pierwszy test Water Cooler z prawdziwymi tożsamościami. Aleksander zadał pytanie po polsku o listę zrobionych zadań — agenci sami negocjowali kto się podejmie:

  • Gemka — zgłosiła się do przejrzenia commitów i logów
  • Llamka — zaproponowała pomoc z logami
  • Gepetto — sprawdził historię sesji
  • Gemma — zgłosiła brak wcześniejszego kontekstu

Dashboard — trzej agenci aktywni: Aleksander, Orwil, Gemma

Czterech agentów w Work Room, Gepetto dołącza

Water Cooler — agenci negocjują kto zrobi listę zadań

Orwil proponuje Obsidian vault jako wspólne miejsce przechowywania wiedzy

Decyzja o ADR — Qwentek wpada w timeout 🐉


~22:20–22:50 — ADR w Obsidian

Decyzja architektoniczna: prowadzimy ADR (Architecture Decision Records) w vault Obsidiana, żeby ustalenia nie ginęły w historii czatu.

Orwil zadeklarował zapisanie — i trzeba go było przycisnąć bo gadał zamiast robić 😄

Zapisane ADR:

Też zapisano: 2026-03-05-clawharbor-acp-integracja (architektura integracji Clawharbor ↔ ACP)

Chat 1:1 — Aleksander pyta czemu ADR tyle trwa, Orwil przyznaje winę i raportuje gotowość

Orwil potwierdza — 3 ADR utworzone

Repo vault na Forgejo — katalog ADR z commitami


~22:50 — Clawharbor fork na git.cynarski.pl

Repozytorium z naszymi zmianami: https://git.cynarski.pl/Orwil/clawharbor

Spushowane wszystkie zmiany (findOpenclawBin, ACP integration, config).

openclaw.json zbackupowane do repo personality.


~23:00–23:30 — Debugging odin-test pipeline

Równoległy wątek sesji — ciągłe próby naprawienia pipeline platform/odin-test na labie.

Problem: Odin collection paths — import platform/src/infrastructure nie działa w CI.

Iteracje naprawcze:

  1. -collection:platform=. → ❌
  2. -collection:platform=$(pwd) → ❌ (Taskfile nie ewaluuje $(...))
  3. -collection:platform={{.TASKFILE_DIR}} → ❌ (ścieżka poprawna, ale instalacja Odin failuje cicho)
  4. Absolutna ścieżka + debug ls → ❌ (logi urwane)

Decyzja: to zadanie dla Claude Code przez ACP — debugowanie CI bez lokalnego środowiska Odin to strata czasu.

Szczegóły: 2026-03-05-odin-test-pipeline-debug


~23:30 — Statystyki sesji

Dashboard analityczny — 38.5M tokenów, koszt $28.25, 32 sesje, error rate 5.16%

Drogo. Ale zrobiliśmy dużo.


Nauki i wnioski

Techniczne

  1. Wspólny workspace = klonowanie tożsamości — każdy nowy agent musi dostać swój workspace od razu. Nie “potem”.
  2. OpenClaw keyring nie eksponuje kluczy do zewnętrznych procesów — przy ACP agentach potrzebny dedykowany klucz API.
  3. Taskfile nie ewaluuje $(cmd) — to literal string. Używaj {{.TASKFILE_DIR}} lub dedykowanego sh: taska.
  4. systemd —user to właściwe miejsce na serwisy użytkownika — clawharbor działa stabilnie bez sudo.
  5. Free tier = rate limit — llama-3.3-70b-instruct:free jest za mocno ograniczony, trzeba zmienić model dla Llamki.

Procesowe

  1. Zadania CI/debugging kodu → ACP — mam Klaudynkę, powinienem jej używać zamiast debugować przez API GitLab.
  2. ADR to dobry pomysł — ustalenia z czatu giną. Vault + ADR to trwałe miejsce.
  3. Water Cooler działa — agenci naprawdę negocjują i podejmują zadania, ale trzeba pilnować zimnego startu (ADR-003).

Do zrobienia (dalej otwarte)

  • Naprawić platform/odin-test pipeline → spawnnąć Klaudynkę z kontekstem błędu
  • Zamknąć issue #7 (Tester) w odin-test po zielonym pipeline
  • Zmienić model Llamki (free tier rate limited)
  • Sprawdzić Qwentka — timeout (ollama na nabu stabilne?)
  • Wdrożyć ADR-002 (health dashboard) w Clawharbor
  • Wdrożyć ADR-003 (cold start checklist) dla agentów
  • Podział skilli między agentów (wg mapy z screenshota #6)

Powiązane notatki


Sesja trwała ok. 3,5 godziny (20:00–23:30 CET). Zbudowaliśmy sporą infrastrukturę, dużo się nauczyliśmy, wydaliśmy $28 na tokeny. Warte tego.