[05]
OPENCLAW
█ TIER A · ROK 2026 · STATUS: DZIAŁA · JĘZYKI: SHELL / POWERSHELL / JAVASCRIPT
Agent z ciągłością: pamięć warstwowa, mosty do świata, runtime self-hosted
[FIG. 1] MISJA
Buduję agentów z ciągłością: takich, które nie zapominają między sesjami, mają dostęp do realnych narzędzi i rozmawia się z nimi z telefonu jak z człowiekiem. „Monty” to mój self-hosted runtime osobistego agenta, postawiony na własnym sprzęcie i własnych zasadach prywatności, bez chmurowego SaaS. Architektura tożsamości i pamięci jest warstwowa: tożsamość żyje w plikach SOUL.md/IDENTITY.md, notatki dzienne destylują się do długoterminowego MEMORY.md, a pod spodem siedzi baza SQLite — dzięki temu agent budzi się z ciągłością, a nie z pustą kartką. Projektuję mosty do świata z kontrolą uprawnień: komunikator (Telegram z parowaniem urządzeń i allowlistą nadawców), przeglądarka (własne rozszerzenie Chrome prowadzące moją realną sesję) i harmonogram (cron/heartbeat, żeby agent sprawdzał rzeczy sam). Model traktuję jak część wymienną — profile modeli to zwykłe pliki konfiguracyjne, a wartość siedzi w tym, co je otacza: pamięci, uprawnieniach i narzędziach. Runtime utrzymuję bez zależności od SaaS, ze stanem w plikach i heartbeatem, a automatyzację powłoki piszę na dwóch platformach naraz (Shell i PowerShell), żeby działała tak samo na Windowsie i Uniksie. Tym narzędziem wspieram pracę nad innymi projektami z tej strony.
[FIG. 2] ARCHITEKTURA
najedź na blok, by zobaczyć opis
[FIG. 3] WYZWANIA
[+][CH-01]
Agent bez pamięci to za każdym razem obcy — kontekst nie mieści się w oknie modelu, a wklejanie całej historii do promptu jest ślepą uliczką kosztową. Rozwiązałem to warstwami: surowe obserwacje lądują w notatce dziennej (memory/RRRR-MM-DD.md), z niej destyluje się długoterminowy MEMORY.md wczytywany co sesję, a pod spodem SQLite trzyma wiadomości, kontakty i harmonogram. Do tego rytuał startowy — agent zawsze najpierw czyta SOUL.md i pliki tożsamości, więc budzi się jako ta sama „osoba”, tylko z uzupełnioną wiedzą.
[+][CH-02]
Agent z realnym dostępem do przeglądarki, wiadomości i harmonogramu to potencjalna dziura w prywatnym życiu — każdy, kto napisałby do bota, mógłby wydawać polecenia. Granice postawiłem w trzech miejscach: parowanie urządzeń (devices/paired.json), allowlist nadawców Telegrama i osobne profile auth per kontekst. Obcy nie pogada z Montym, a nawet sparowane urządzenie działa w ramach swojego profilu uprawnień.
[+][CH-03]
Sterowanie przeglądarką zrobiłem przez własne rozszerzenie Chrome zamiast headless — celowo: agent działa w mojej realnej, zalogowanej sesji i widzi dokładnie to, co ja, bez zarządzania osobnym profilem i cookies. Cena: runtime musiał być naprawdę cross-platform, więc rdzeń napisałem równolegle w Shell i PowerShell, z completions dla czterech powłok — te same komendy działają na Windowsie i Uniksie.
[FIG. 4] WARSTWA AI
Model jest tu wymienny — profile modeli to pliki konfiguracyjne, a wartość siedzi w tym, co wokół: architekturze tożsamości i pamięci (SOUL/IDENTITY/MEMORY), która daje agentowi ciągłość, oraz w bezpiecznych mostach do świata (Telegram, przeglądarka, cron). Zabierz warstwę pamięci, a zostaje bezosobowy chatbot, który każdą rozmowę zaczyna od zera.
[FIG. 2A] WARSTWY PAMIĘCI
KARTY TOŻSAMOŚCI: