T3 Code mnie złamał (T3 Code broke me)

2026-10-29 • Theo - t3.gg • AI zagraniczne •opinia •waga 3/5 •38 min czytania

Współtwórca pokazuje T3 Code — otwarte narzędzie do zarządzania agentami kodującymi na wielu subskrypcjach i maszynach. Przegląd funkcji i wad dla programistów pracujących równolegle z wieloma modelami.

Robocza publikacja redakcyjna na podstawie publicznego transkryptu YouTube. Źródło: YouTube.

O czym jest ten film

  1. Theo opowiada historię T3 Code: od frustracji pogarszającą się aplikacją Codex i przeciętnym desktopowym Claude Code do decyzji o pisaniu własnej, otwartej alternatywy.
  2. Szczerze przyznaje, że przez wiele miesięcy projekt był po prostu „gorszą otwartą zamienniką” — przełom przyszedł około lipca 2026; dziś to niemal 550 tys. użytkowników i 140 tys. aktywnych tygodniowo.
  3. Filozofia produktu: subskrypcje przynosisz własne, dostępu do modeli nie kupisz u twórców, a projekt sam na sobie nie zarabia.
  4. Filar pierwszy: obsługa praktycznie wszystkich środowisk agentowych — wbudowane Codex, Claude, Cursor, Grok, OpenCode, Anti-Gravity, Muse i Pi, a do tego cały rejestr ACP oraz wiele instancji jednego dostawcy z osobnymi kluczami.
  5. Orchestrator v2: z jednego wątku można odpalać podagentów w różnych modelach i narzędziach, w osobnych drzewach roboczych; wątki odnajdują się nawzajem i rozmawiają ze sobą, a całością można sterować z zewnątrz przez MCP.
  6. Filar drugi: praca zdalna bez SSH — cała komunikacja idzie przez websocket; npx t3 serve stawia instancję bez instalacji, T3 Connect tuneluje trzy urządzenia za darmo, a każdy wątek można skierować na wybraną maszynę z automatycznym równoważeniem obciążenia.
  7. Filar trzeci: panel boczny jak skrzynka odbiorcza — wątki się „rozlicza” i odkłada na później, sekcja „w toku” chowa pracujących agentów, a scalenie PR-a samo zamyka wątek.
  8. Dziesiątki detali: wbudowana przeglądarka PR-ów, monitoring zużycia tokenów i limitów, HTML w czacie, webhooki, zdalne symulatory iOS w 3D, przenoszenie projektów między maszynami i npx t3 triage do samodzielnych napraw.
  9. Minusy według samego twórcy: własny sprzęt, limit trzech urządzeń T3 Connect, brak wbudowanego sterowania komputerem, zrujnowany sen i szybsze topnienie subskrypcyjnych limitów.
  10. Manifest: narzędzie „od inżynierów dla inżynierów”, w opozycji do kierunku, w którym zdaniem autora idą ChatGPT i Claude Code; za projektem stoi 516 kontrybutorów i 27 tys. gwiazdek na GitHubie.

10 najważniejszych takeaways — z kontekstem zastosowania

1.Wszystkie subskrypcje AI pod jednym dachem

Na czym polega: T3 Code to jedna nakładka na wszystkie używane środowiska agentowe — wbudowane ma Codex, Claude, Cursor, Grok, OpenCode, Anti-Gravity, Muse i Pi, a przez rejestr ACP doszły m.in. Amp, Klein i Copilot. Można też dodać kilka instancji tego samego dostawcy, każdej z osobnym katalogiem, kluczem API i zmiennymi.

Jak stosować: zainstaluj aplikację i zaloguj się w swoich narzędziach — T3 Code samo zaimportuje istniejące wątki i projekty. Przy wielu subskrypcjach rozważ CLI proxy albo właśnie osobne instancje w T3 Code, przydatne przy rotacji kont i testach wersji przedpremierowych.

Na co uważać: dostępu do modeli nie kupisz u twórców — obowiązuje zasada „przynieś własną subskrypcję”. I nie myl projektu z T3 Chat, które jest zamkniętą alternatywą dla ChatGPT.

2.Jeden wątek, wiele modeli — orkiestracja delegatami

Na czym polega: główny agent może w ramach jednego wątku uruchamiać podagentów („delegatów”) w różnych modelach i środowiskach. W pokazanej demonce cztery modele przeglądają tę samą bazę kodu, każde w swoim oficjalnym narzędziu i na subskrypcji użytkownika, bez żadnej dodatkowej konfiguracji.

Jak stosować: formułuj polecenia w stylu „przejrzyj ten kod czterema modelami, znajdź ciekawe rzeczy i szybkie ulepszenia”. Każda zmiana ląduje w osobnym drzewie roboczym, więc repozytorium i system pozostają czyste.

Na co uważać: równoległe podagenty piją z kilku subskrypcji naraz — okienka limitów (np. pięciogodzinne) topnieją odpowiednio szybciej.

3.Wątki rozmawiają ze sobą i dają się sterować z zewnątrz

Na czym polega: wątki mogą tworzyć kolejne wątki (także w innych repozytoriach), odnajdywać się po identyfikatorze i ze sobą rozmawiać. Całość wystawiona jest jako serwer MCP, więc T3 Code można ogarniać z dowolnej aplikacji — w filmie pada przykład osoby, która zrobiła tak dziesięć tysięcy wątków przez iMessage.

Jak stosować: kopiuj identyfikator wątku i podawaj go innemu, każ agentom „porozmawiać”; serwer MCP podłączysz do własnego bota albo innego klienta.

Na co uważać: to nie jest gotowy scenariusz pracy — przepływ projektujesz sam, więc łatwo o chaos. Wystawiając MCP na zewnątrz, pilnuj uprawnień.

4.Flota maszyn bez SSH

Na czym polega: cała komunikacja idzie przez websocket, nie przez terminale. Polecenie npx t3 serve stawia działającą instancję bez instalacji aplikacji, T3 Connect tuneluje trzy urządzenia za darmo, a przy tworzeniu wątku wybierasz maszynę, na której ma pracować — z automatycznym równoważeniem obciążenia w całej flocie.

Jak stosować: postaw T3 Code na starym komputerze z Linuksem albo na VPS-ie, podepnij przez T3 Connect lub Tailscale i uruchamiaj wątki zdalnie, sterując z laptopa albo telefonu.

Na co uważać: sprzęt lub chmurę zapewniasz sam; powyżej trzech urządzeń T3 Connect wymaga alternatyw. Wybór maszyny ułatwia panel diagnostyczny, ale i tak warto wiedzieć, co gdzie działa.

5.Panel boczny jak skrzynka: otwórz wątek, żeby go zamknąć

Na czym polega: autor przebudował panel boczny w skrzynkę odbiorczą. Wątków się nie archiwizuje — rozlicza (scalenie zmiany, odpowiedź, uznanie za niepotrzebny). Są: odraczanie na później, pytania wskakujące na górę z ikonką „do odpowiedzenia”, zadania cykliczne i automatyczne rozliczanie wątków po dniach bezczynności.

Jak stosować: traktuj listę wątków jak pocztę — przejdź po kolei, rozlicz albo odłóż; na telefonie służą do tego gesty przesunięcia. Nieużywane wątki same zejdą z listy po skonfigurowanym czasie.

Na co uważać: przesiadka wymaga przestawienia nawyków — sam autor przeprasza „z góry” za okres adaptacji. Domyślne wartości (np. trzy dni do auto-rozliczenia) od razu dopasuj do siebie.

6.PR-y powiązane z wątkami i sprzątanie po scaleniu

Na czym polega: gdy wątek otworzy pull request, PR wiąże się z wątkiem i przegląda się go w aplikacji. Po scaleniu wątek rozlicza się sam. Wbudowany monitoring PR-ów zużywa ułamek limitów API GitHuba — według autora nawet setną część tego, co potrafią spalić agenci improwizujące „pilnowanie” na własną rękę.

Jak stosować: klikaj licznik PR-ów przy wątku, by otworzyć wewnętrzną przeglądarkę; przy pracy równoległej zostaw włączone drzewa robocze.

Na co uważać: auto-rozliczanie wyłączysz globalnie i osobno dla każdego wątku; rozmowę, której nie chcesz stracić z widoku, po prostu przypnij.

7.Kontrola zużycia i planowanie promptów na reset limitu

Na czym polega: zakładka zużycia pokazuje, co konsumuje tokeny — także z podpiętych środowisk zewnętrznych (np. Claude Code odpalone w terminalu) i z proxy. A gdy dobijesz do limitu, możesz zapisać wiadomość, która wyśle się automatycznie po odnowieniu.

Jak stosować: regularnie sprawdzaj rozkład zużycia między kontami; złapany na limicie od razu zakolejkuj kolejny prompt — poleci w pierwszym możliwym momencie.

Na co uważać: T3 Code samo z siebie nie oszczędza tokenów. Równoległość sprawia, że limity subskrypcyjne topnieją szybciej — funkcje w dodatku wciąż się zmieniają (np. świeża poprawka deduplikacji kont).

8.Lekkość i praca z przeglądarki

Na czym polega: aplikacja jest wyciśnięta pod minimalny transfer — przełączanie między wątkami ma pobierać sto razy mniej danych niż w Codexie, co robi różnicę na słabym łączu. Bez instalacji działa też wersja webowa pod app.t3.codes, łącząca się ze zdalnymi instancjami npx t3.

Jak stosować: przy 3G albo pokładowym Wi-Fi korzystaj z aplikacji lub wersji przeglądarkowej; najprostszy start to npx t3 serve na zdalnej maszynie i wejście na aplikację webową.

Na co uważać: porównania wydajności pochodzą od samego twórcy — zweryfikuj je na własnym łączu i własnym stylu pracy.

9.npx t3 triage: większość problemów naprawisz sam

Na czym polega: polecenie zbiera kontekst i przekazuje go Claude Code lub Codexowi, żeby ten zdiagnozował problem lokalnie, a jeśli błąd okaże się uniwersalny — przygotował zgłoszenie z logami. Zdaniem autora załatwia ponad 80 procent zgłaszanych problemów.

Jak stosować: gdy coś przestanie działać, zanim napiszesz na GitHubie, odpal triage w terminalu i opisz modelowi sytuację; zgłoszenie powstanie z gotowymi logami.

Na co uważać: T3 Code integruje się z tak wieloma elementami, że niszowe błędy brzegowe będą się zdarzać. Zgłoszenia są monitorowane, ale przy trzech osobach w rdzeniu projektu czas reakcji bywa różny.

10.Otwarte źródła jako polisa ubezpieczeniowa

Na czym polega: cały kod — łącznie z backendem infrastruktury i T3 Connect — jest publiczny. Można sforkować, uruchomić u siebie, podpiąć forka przez T3 Connect i wysyłać poprawki; robi to już 516 kontrybutorów.

Jak stosować: przy niepokojących zmianach zajrzyj do kodu; własne poprawki (nawet wygenerowane przez model, np. Opusa) wysyłaj jako pull requesty.

Na co uważać: otwarty kod nie oznacza utrzymania w nieskończoność — utrzymanie kosztuje, stąd limity typu trzy urządzenia w T3 Connect. Część funkcji (np. wbudowane sterowanie komputerem) jest dopiero zapowiedziana.

Redakcyjne tłumaczenie

Genesis: od zachwytu Codexem do własnej aplikacji

Na samym początku 2026 roku Julius i ja zachwyciliśmy się nową aplikacją Codex od OpenAI. Mieliśmy wrażenie, że ktoś pokazał zupełnie inny sposób tworzenia oprogramowania. Poszczególne pomysły widziałem już gdzie indziej, ale dopiero tutaj wszystko złożyło się w całość. Dlatego tak bolało, gdy jakość zaczęła siadać. Ile razy tylko mogliśmy, zawracaliśmy zespołowi głowę, ale tak naprawdę chcieliśmy jednego: dostępu do kodu, żeby naprawić go na własną rękę. Chłopcy z OpenAI — sami w sobie świetni — źródła nam nie udostępnili. Liczyłem, że projekt otworzą, ale zdecydowali inaczej. Do tego aplikacja desktopowa Claude Code od Anthropic jakoś specjalnie nie zachwycała. Zaczęliśmy się więc rozglądać za czymś innym, ale nic nam nie przypadło do gustu — i postanowiliśmy napisać własną, otwartą alternatywę. Nazywa się T3 Code; pewnie mignęło wam już w paru moich filmach.

Będę z wami brutalnie szczery: mimo otwartych źródeł i mimo że przez wiele miesięcy klepała w to trójka utalentowanych programistów — Julius, Maria i ja — T3 Code było po prostu gorszą, otwartą wersją aplikacji Claude Code i Codex. Miało swoje atuty: subskrypcje Codexa, Claude, Groka, Cursora i inne mogły mieszkać w jednym miejscu, i to było naprawdę wygodne. Trzeba jednak było pogodzić się z niższą jakością doświadczenia, bo po drugiej stronie barykady stały trzy osoby działające po godzinach, a nie firma warta ponad bilion dolarów z tysiącami inżynierów na pokładzie. Powiem, jak jest: trochę wstydziłem się to promować, bo wiedziałem, że nasz produkt konkurencji nie dorównuje. Sam korzystałem z desktopowego Codexa równie często, a może i częściej niż z własnej aplikacji.

A potem zaczęło się coś dziać. Julius rzucił się na ten projekt na dobre i zaniósł go znacznie dalej, niż kiedykolwiek uważałem za możliwe. Ja dorzucałem się od czasu do czasu zmianami w interfejsie. Zrobiliśmy całą masę rzeczy, na które wielkie laboratoria nie miały ochoty: przebudowaliśmy panel boczny, podeszliśmy inaczej do zdalnego sterowania, zmieniliśmy sposób, w jaki subskrypcje się integrują. Około lipca coś kliknęło — przestaliśmy być tylko słabą otwartą zamienniką i dostaliśmy coś, czego nikt inny nie ma. Widać to w liczbach: bardzo szybki wzrost, już prawie 550 tysięcy użytkowników i 140 tysięcy aktywnych tygodniowo. Trochę w to nie wierzę.

Przy okazji uświadomiłem sobie, że za mało o tym mówię. Narzędzie przewija mi się przez filmy tu i tam, ale nigdy porządnie nie opowiedziałem, czym jest, skąd ten wzrost i co w ogóle sprawia, że jest tak dobre. Zamiast dalej sypać okruchami i czekać, aż ciężar odwali za mnie tech YouTube — zresztą ukłon w waszą stronę, ci z was, którzy robili o T3 Code materiały; bardzo nam to pomogło — uznałem, że czas w końcu usiąść i pokazać wszystko: czym T3 Code jest, jak się zmieniło, jak ja z nim buduję i dlaczego ponad pół miliona programistów postawiło na tę drogę. Jeśli odepchnęło was T3 Code z tamtych czasów, kiedy było szarym, niechlujnym chałosem — zostańcie, bo dużo się zmieniło.

Jedno zastrzeżenie: projekt jest otwarty, wymaga własnych subskrypcji i nie zarabiamy na nim ani grosza — jego utrzymanie, szczerze mówiąc, sporo nas kosztuje. Liczę więc na wyrozumiałość przy krótkiej przerwie na sponsora.

Przerwa na sponsora: Apify

Agent poradzi sobie z niemal każdym zadaniem, jeśli tylko ma odpowiednie narzędzia. Niestety narzędzia bywają różnej jakości i wiele rzeczy pozostaje poza zasięgiem: nawet z bardzo dobrą przeglądarką agent nie wszędzie wejdzie. Z Apify natomiast sięgnie praktycznie wszędzie. Apify udostępnia agentom ponad 90 tysięcy narzędzi pozwalających pobierać dane z miejsc, do których inaczej nie ma dostępu.

Ich serwer MCP to jeden z najlepszych, jakie widziałem. Zwykle te serwery są napompowane i mają dziwną składnię; ten ustawiłem w minutę i nie spala tokenów jak pozostałe. Podpiąłem go do Claude Code, więc działa też w T3 Code, i mogę pytać o rzeczy w stylu: o jakie funkcje proszą ludzie i na co wpadają w moim repozytorium? Normalnie miałbym do tego tylko GitHuba i to ledwie do pierwszego limitu zapytań. Z Apify skanuję też inne źródła — YouTube, Reddita, Hacker News i podobne. Szczerze? Ulga widzieć firmę, która używa MCP poprawnie, po wszystkich katastrofach ostatnich lat. Zadbajcie, żeby wasi agenci mieli odpowiednie narzędzia: soyv.link/apify.

Czym T3 Code jest — a czym nie jest

Trudno streścić T3 Code w jednym zdaniu — trochę jak założycielowi nie wypada mi się do tego przyznawać, bo to nie jest jedna prosta rzecz. Najprościej: to otwarta alternatywa dla aplikacji Codex, która obsługuje wszystkie wasze subskrypcje. Tak najłatwiej przekonać kogoś, żeby choć spróbował. Ale sam wcale tak o T3 Code nie myślę i z pewnością nie dlatego z niego korzystam. Przygotowałem przy okazji długą listę wszystkich rzeczy, które w nim kocham — dziękuję wszystkim, którzy słuchają na żywo. Spróbuję streszczyć trzy najważniejsze filary, a potem wejdziemy w szczegóły.

Filar pierwszy: wszystkie modele, środowiska i subskrypcje w jednym miejscu

Pierwsza rzecz, która czyni T3 Code wyjątkowym, to sposób, w jaki pozwala pracować ze wszystkimi używanymi przez was modelami, środowiskami agentowymi i subskrypcjami. (Informacja dodatkowa: „harness”, środowisko agentowe, to program taki jak Claude Code czy Codex, w którym działa model — dalej będę go nazywał po prostu środowiskiem.) Claude Code i Codex wspieramy od zawsze, ale niedawno doszło praktycznie wszystko pozostałe — i mówię to dosłownie. Wbudowane mamy Codex, Claude, Cursor, Grok, OpenCode, Anti-Gravity, Muse i Pi. A jeśli używacie innego środowiska zgodnego z ACP, w rejestrze ACP czekają już m.in. Amp, Klein, Copilot i wiele, wiele więcej; można też dodać coś ręcznie. (Informacja dodatkowa: ACP, Agent Client Protocol — otwarty protokół, po którym aplikacje klienckie komunikują się ze środowiskami agentów.)

Kto ma kilka subskrypcji, ten moim zdaniem powinien postawić coś w rodzaju CLI proxy. Da się jednak i w samym T3 Code: możecie dodać wiele instancji tego samego dostawcy, każdej nadać inny katalog domowy, inne klucze API i zmienne środowiskowe. Dla mnie to ratunek, bo kręcę się między kontami i testuję różne rzeczy we wczesnym dostępie. Kontrola nad każdym z tych elementów jest spora, ale prawdziwa magia zarządzania subskrypcjami leży gdzie indziej. Pokażę to na lekko absurdalnej demonce.

Orchestrator v2: cztery modele nad jednym kodem

Mamy tu T3 Code pracujące na repozytorium samego T3 Code, a ja pokażę rzecz, nad którą Julius siedział z pół roku i która właśnie weszła do oficjalnej wersji stabilnej. Sam jestem teraz na Codexie z modelem GPT‑6.1 i subskrypcją Codex. Wszystkie pozostałe konta i subskrypcje mam zalogowane i piszę polecenie: „Chcę, żebyś przejrzał tę bazę kodu czterema różnymi modelami. Uruchom delegatów: GPT‑6.1 Soul High w Codexie, Muse Wonderful Full na xAI, Gemini 4 «Argan» w Anti-Gravity i Sonnet 5.5 w Claude. Każ im eksplorować kod, znajdować ciekawe rzeczy i szybkie ulepszenia.”

Polecenie właśnie utworzyło drzewo robocze (worktree) z repozytorium, w którym byłem — w katalogu przeznaczonym specjalnie dla T3 Code, więc nie zaśmieci wam systemu — i odpaliło cztery podagentów, każdy w innym środowisku, wszystko wewnątrz T3 Code. Mam więc równolegle GPT‑6.1, Muse, Gemini i Sonnet 5.5, na oficjalnych narzędziach i moich subskrypcjach, bez żadnej specjalnej konfiguracji z mojej strony. Z Geminim jest lekki zgrzyt: trzeba raz kliknąć logowanie w ustawieniach. Reszta po prostu korzysta z tego, co macie już zainstalowane — instalujecie Claude Code albo Codex, logujecie się tam, a T3 Code podchwytuje to automatycznie.

Magia zaczyna się jednak wtedy, gdy każemy im współpracować. Środowisko potrafi nie tylko odpalać w danym wątku podagentów w innych narzędziach i modelach — najfajniej robi się, gdy same agenci mogą tworzyć nowe wątki, zarządzać nimi i ze sobą rozmawiać. Na razie wszystko mieści się w jednym wątku, „przegląd kodu i szybkie ulepszenia”, który odpaliłem na bazie T3. Każę mu teraz wystartować kolejny wątek w moim repozytorium Lakebed, z tym samym poleceniem. Potrafi wylistować projekty, uruchomić drugi wątek i bezpośrednio go podlinkować — i niosę: to samo zadanie, inny wątek, inne repozytorium. A te wątki mogą się też komunikować: mogę kazać jednemu porozmawiać z drugim, mogę skopiować identyfikator wątku i przekazać go innemu, żeby wiedziały o sobie nawzajem. Potrafią się wyszukać, odnaleźć, dużo umieją.

To nie jest narzucony z góry scenariusz pracy — nie mówimy wam, jak macie tego używać. Warstwa orkiestracji, którą zbudował Julius, to bardzo elastyczny interfejs MCP pozwalający agentom robić przeróżne rzeczy. (Informacja dodatkowa: MCP, Model Context Protocol — otwarty standard podpinania narzędzi i danych do modeli.) Możecie nawet wystawić to połączenie na zewnątrz, do narzędzia takiego jak Grockbot, i zarządzać wątkami T3 Code zupełnie spoza aplikacji. Znam osobę, która nie otwiera T3 Code wcale, a przepuściła przez nie jakieś dziesięć tysięcy wątków — wszystko przez iMessage, który steruje T3 Code bezpośrednio. I to działa od razu po instalacji. Wchodzicie na stronę, pobieracie aplikację, odpalacie — a jeśli środowiska macie już skonfigurowane, program zaimportuje wasze istniejące wątki i projekty i da wam wszystko powyżej w interfejsie, który moim zdaniem jest dużo mniej irytujący. Jest też znacznie szybszy — chciałem wrzucić to do trójki filarów, ale opanuję się. Tej warstwie orkiestracji, którą od jakiegoś czasu nazywamy Orchestratorem v2, można by poświęcić osobny materiał, ale czeka nas mnóstwo innych tematów.

I jeszcze raz, bo to ważne: subskrypcje przynosisie własne. Nie da się u nas dokupić dostępu do modeli. Jeśli jesteście przekonani, że się da — coś wam się pomieszało: to była funkcja T3 Chat, nie T3 Code. T3 Chat to zamknięta alternatywa dla ChatGPT; T3 Code to otwarty sposób pracy z agentami AI — modelami, środowiskami i tak dalej. Przemknę przez te filary dość szybko, ale zostańcie: prawdziwa magia, jaką znajduje większość ludzi, siedzi głębiej. Trójka służy raczej pokazaniu, o czym myślimy, budując T3 Code; przy niej reszta funkcji nabierze sensu.

Filar drugi: praca zdalna bez SSH

Drugi filar to ten, za który kruszyłem kopie najmocniej i który najbardziej zmienił mój sposób budowania: zdalne sterowanie klasy światowej. Co przez to rozumiem? Może korzystaliście ze zdalnego sterowania w Claude Code: wpiskujecie /remote i odtąd wątkiem można zarządzać z telefonu. No i niby czego więcej chcieć?

Ja już nie odpalam wątków przez SSH. Nie odpalam ich też w terminalach. Odpalam je przyciskiem „nowy wątek” albo skrótem klawiszowym, a potem wybieram, na której maszynie mają działać. Architektura T3 Code czyni to banalnym, bo — w przeciwieństwie do innych aplikacji, które strzelają poleceniami prosto w wasze terminale albo próbują się łączyć przez dziwne wywołania w stylu Electrona — my nic z tych rzeczy nie robimy. Wszystko przepływa przez nasz serwer websocketowy. Nie macie zainstalowanego T3 Code? W terminalu wpisujecie npx t3 serve i macie lokalnie hostowaną instancję bez instalowania czegokolwiek. To samo polecenie zadziała na zdalnym serwerze: komenda wystawia możliwości T3 Code przez websocket i hostuje minimalistyczną aplikację webową, do której wchodzicie i patrzymacie.

Świetnie gra to też z Tailscale: odpaliacie jedno polecenie na maszynach, na których ma działać T3 Code, i łączycie się z nimi w pełni zdalnie. Tyle że to daje wam kolejną pojedynczą stronę, a nikt nie chce pamiętać osobnej strony dla każdej maszyny. Na szczęście nie musicie: T3 Code pozwala przy tworzeniu wątku wybrać, na której z waszych maszyn ma pracować. U mnie wygląda to tak: główny laptop Mainbook; dwie maszyny w chmurze, Alvin i Cup 2; lokalny serwer BB‑1, na którym kręci się cała moja inferencja; dwie mini skrzynki z Linuksem, na których po prostu pracują agenty; no i kilka Maków na okazje, gdy trzeba coś testować na iOS, macOS albo aplikacjach desktopowych ze sterowaniem komputerem. (Informacja dodatkowa: „computer use” to tryb, w którym agent sam porusza kursorem i klika w interfejs systemu.)

A jeśli nie chce się wam trzymać tego wszystkiego w głowie i liczyć, co gdzie posłać i której maszynie zostało jeszcze tchu — Maria zbudowała równoważenie obciążenia: system sprawdza, ile realnie mocy zostało na danej maszynie, jak mocno męczy się procesor i pamięć, i kieruje zadanie tam, gdzie jest najluźniej. W tym samym duchu mamy centrum urządzeń, pozwalające odpalać symulatory iOS i Androida wewnątrz T3 Code, z możliwością przeznaczenia do tego konkretnych maszyn. U mnie to Maki: pozostałe komputery w flocie wchodzą na nie przez SSH, żeby postawić serwer deweloperski aplikacji mobilnej, podczas gdy reszta pracy dzieje się na Linuksie. Wszystko wbudowane. Całość powstała, bo Julius cierpiał, pracując w Xcode, i chciał łatwiej iterować po mobilnej aplikacji T3 Code — która, nawiasem mówiąc, jest najlepszym narzędziem do pracy nad zadaniami agentów z telefonu. Jeśli próbowaliście walczyć z mobilnymi aplikacjami Claude Code albo Codexa, wiecie, jak to bywa. Onie po prostu do tego nie służą. Śmieszne, że udają, że tak. Nasza apka mobilna jest niesamowicie funkcjonalna i również jest otwarta — jeśli coś się nie zgadza, śmiało: rzucacie na to Opusa i wystawiacie pull request.

A jeśli SSH i Tailscale was przerastają — rozumiem, to nie jest przyjemne. Sam nienawidzę trzymać włączonego VPN-a w telefonie przez cały czas. Dlatego istnieje T3 Connect: łączy trzy urządzenia za darmo przez nasz system tunelowania. Połączenie T3 Connect z jakimkolwiek starym komputerem z Linuksem to czysta magia. Mam w sieci taką skrzynkę, na której robiłem losowe buildy Rusta. Wpisuję npx t3 connect — ja akurat na wersji nocnej, ale po premierze to zbędne — narzędzie pobiera pakiet z npma, przeprowadza migrację i daje mi link do podpięcia maszyny pod konto. I gotowe: mogę się wylogować z SSH, nigdy więcej o tym komputerze nie pomyśleć i ogarniać go w całości z aplikacji na desktopie albo z telefonu. To najprzyjemniejszy sposób zarządzania moimi zadaniami agentów, jaki znam. W zasadzie wcale nie uruchamiam już wątków na własnym komputerze — wszystko leci zdalnie na pozostałych maszynach, a T3 Code zrobiło z tego banał. Z pracą zdalną wiąże się jeszcze sporo fajnych rzeczy, do których wrócę — pilnujcie tylko, żebym nie zapomniał o webhookach. Obiecuję, że chcecie tego posłuchać.

Filar trzeci: zbudowane po to, żeby ogarniać robotę

Najprościej ujmując ten punkt: jesteśmy zbudowani po to, żeby robić robotę, a nie gubić użytkownika. Najlepiej wyjaśni to obecny stan aplikacji ChatGPT. Co tu się dzieje? Która praca jest świeża? Co wymaga mojej uwagi, a co nie? Skąd to wszystko? Gdzie są moje ostatnie wątki? Czym mam się zająć najpierw? Nie da się tego rozszyfrować. Ja w tym gubiłem się bez przerwy. Nie wiedziałem, które wątki są skończone, które czekają na mnie, gdzie podziały się rozmowy z ważnych projektów — bo wystarczyło dodać jakiś tymczasowy projekt, a ten wyskakiwał na górę i spychał wszystko pozostałe na dno. Już nie umiem w tej aplikacji niczego znaleźć; poddałem się i używam wyszukiwarki. Co zabawne, tak bardzo zainspirowali się naszym podejściem, że dodali mały przycisk — panel aktywności — próbujący podrobić kawałek tego, co zrobiliśmy. I powiem szczerze: im się to nie udało. Tak na to czekałem. Po prostu nie wyszło.

Postanowiłem więc przemyśleć temat — zdecydowanie za długo — i zbudowałem zupełnie inny panel boczny. Będę szczery do bólu: byłem przekonany, że ludzie go znienawidzą. Okazało się, że przeciwnie. Ukryłem go zresztą za szeregiem tajnych flag, bo nie chciałem nikogo przerzucać na siłę. Zapowiadam uczciwie: przy przesiadce będzie trochę bólu, przepraszam z góry. Ale kiedy nauczycie się myśleć o wątkach tak, jak tu namawiam, zrozumiecie dlaczego.

Panel boczny jako skrzynka odbiorcza

Ogólnie T3 Code jest absurdalnie nieideologiczne — nie wmawiamy wam, jak pracować. Panel boczny to jeden z niewielu zakątków, w których mamy zdanie. W przyszłości będzie go dało się bardziej dopasować, ale na razie jest skrzynką odbiorczą. Za każdym razem, gdy otwieracie wątek, celem powinno być jego zamknięcie. Zamknięcie może oznaczać scalenie zmiany, odpowiedź na pytanie albo stwierdzenie, że rzecz już nie jest potrzebna. Zawsze jednak, gdy otwieracie wątek, powinniście dążyć do tego, żeby się go pozbyć. Mamy sporo mechanizmów, które w tym pomagają.

Najprostszy to rozliczanie. Wątków się nie archiwizuje — rozlicza; brzmi to dużo mniej ostatecznie. Rozliczone schodzą na dół listy: klikaciePT checkbox i jedziecie dalej. Pomyłka? Command‑Z i wątek wraca. Ten akurat odpaliłem na pokaz podagentów; nie obchodzi mnie, co tam napisał, więc rozliczam i patrzę dalej. Następny: „przywróć przeciąganie referencji w wątkach roboczych”. Gdybym nie kręcił teraz filmu, poszedłbym sprawdzić, czy da się w końcu wylądować te PR-y. Ale jestem zajęty, więc odsuwam temat do jutra — wątek trafia do sekcji odroczonych i po określonym czasie sam wróci. Kolejny jest zakończony: audyt produkcyjnego wydania w mojej chmurze, z komunikatem „wydanie weszło na stabilną, nic się nie wysypało”. Rozliczam. Następny ma do mnie pytanie, więc wyskoczył na samą górę z małym wskaźnikiem, że jest rzecz do odpowiedzenia. Skąd ten szacunek trzydziestu kilku godzin — nie wiem, chyba ta maszyna nie ma dostępu, i szczerze niewiele mnie to obchodzi: to rekwizyt do innego filmu. Rozliczam i ten.

Kolejny to świeżo utworzone zadanie cykliczne — aha, T3 Code obsługuje już planowanie zadań. Mówię mu, że wygląda dobrze, i ustawiam harmonogram. Bardzo podoba mi się, że Claude wie, czym jest kompakcja — skracanie historii rozmowy, gdy ta przestaje mieścić się w oknie kontekstowym — i rozumie, że może zgubić instrukcje, jeśli ich nie zapisze w trwały sposób. To bardzo dobrze, że modele są tego świadome. Mamy oczywiście też sterowanie: gdy model zaczyna was wkurzać, wtrącacie wiadomość po drodze. Jest i kolejkowanie — wiadomość czeka na koniec — a skrótem klawiszowym przełączacie się między trybami. Ja nie znoszę kolejek, więc mam domyślnie sterowanie, ale w ustawieniach można to zmienić. Zadanie zaplanowane: ten wątek będzie odpalał się codziennie o 21:00, więc mogę go rozliczyć — wróci sam, gdy będzie miał co robić. A tamten, odłożony wcześniej, nadal mnie nie interesuje: odsuwam do czasu po streamie.

Zauważcie jeszcze jedno: wątki mi pracują, a na liście nic nie widać. To zasługa sekcji „w toku” na dole — opcjonalnej, na razie bety. Chowa wątki, dopóki aktywnie pracują. Myślałem, że to kolejna zmiana, którą wszyscy znienawidzą; dziś nie wyobrażam sobie bez niej życia i widzę, że mnóstwo osób doszło do tego samego. Choć to loteria — zależy, kim jesteście i co lubicie. Mam parę sposobów, żeby używać jej i jednocześnie mieć oko na rzeczy: przypięty wątek przestaje znikać, nawet gdy pracuje albo czeka.

Jeśli pracujecie nad wieloma rzeczami naraz albo macie w głowie trzy pomysły do odpalenia — powiedzmy: „posortuj mi wszystkie otwarte PR-y i pomóż ustalić priorytety”, a zaraz po tym coś jeszcze — to zamiast wysyłać, wciskać skrót nowego wątku i zaczynać od nowa, wystarczy Command‑Enter: prompt leci w tle, a wy od razu piszecie następny i odpalacie tak samo. Wszystkie te wątki lądują w sekcji „w toku”. Ten akurat się skończył, więc wskoczył na górę; z resztą będzie tak samo. Sam Enter wysyła normalnie i przenosi was do wątku; Command‑Enter wysyła w tle — bardzo wygodne.

Zacznienie zauważać pewien wzorzec: T3 Code powstało po to, żeby dużo robić równolegle i nie rozkruszyć układu nerwowego ludziom z ADHD takim jak ja. Nie chcę niczego przed oczami, dopóki nie wymaga mojej uwagi. A wszystkie pozostałe narzędzia do budowania z AI zbyt starannie starają się wszystko wciskać pod nos i wszystko udostępniać. Ja tego nie chcę. Jak coś pracuje — znikaj mi z ocz. Nie zawracaj mi głowy, dopóki nie będzie gotowe.

Lepsze jeszcze: gdy wątek otwiera PR, PR zostaje z nim powiązany. Widzieliście to pewnie wcześniej — ten wątek ma pięć PR-ów, ten dwa, tamten jeden. Kliknięcie otwiera wewnętrzną przeglądarkę PR-ów, co jest niesamowicie pomocne; Command‑klik otworzy go w wybranej przeglądarce. A gdy PR zostanie scalony, wątek rozlicza się sam. Po co wam wątek, skoro kod już jest w mainie? Znikaj. Wątek powinien być widoczny tylko wtedy, gdy jest powód: pracuje albo czeka na scalenie. To ustawienie skonfigurujecie globalnie i osobno dla każdego wątku — jeśli nie chcę, żeby ten konkretny rozliczał się sam, wyłączam mu automat. Na telefonie działa to jeszcze lepiej, bo jest gest przesunięcia do rozliczania i odraczania — przelecieć przez listę i rozstrzygnąć, co z każdym zrobić, to kwestia chwili.

To wszystko służy utrzymaniu porządku i przywróceniu czegoś, co nazywam poczuciem przestrzeni. Kiedy pracowałem w klasycznych bazach kodu, po prostu rękami, z czasem budowałem dobrą intuicję, gdzie co leży i gdzie iść, żeby to znaleźć. T3 Code próbuje przywrócić to uczucie — wiedzy, gdzie rzeczy są — żeby nie zalewać was bez przerwy tym, co akurat krzyczy najgłośniej. Te wszystkie przepływy są zbudowane po to, żeby nie utonąć, gdy równoległych zajęć przybywa.

Szybki obchód funkcji: od terminala po webhooki

Uwierzycie, że dopiero rozkręcamy temat? Zdecydowanie jest jeszcze trochę rzeczy wartych wspomnienia. Spróbuję przelecieć przez wszystkie.

T3 Code jest otwarte naprawdę: wszystko, nad czym pracujemy, jest publicznie w repozytorium — łącznie z backendem infrastruktury i T3 Connect. Wszystko, co chcielibyście zobaczyć, leży otworem. Możecie sforkować i uruchomić u siebie; forka podłączycie nawet przez T3 Connect. Zdalne połączenia świetnie sprawdzają się do promptów, ale nadają się do znacznie więcej — na przykład do terminala. To nie SSH, to T3 Connect, a bywa stabilniejszy, zwłaszcza na telefonie. Odpalam BTOP-a w T3 Code, przez T3 Connect, wewnątrz samego T3 Code. W panelu zbieramy pełną diagnostykę każdej podłączonej maszyny: widzę, ile mocy zużywają moje skrzynki — i to właśnie tych danych używamy do kierowania zadań we właściwe miejsce.

Agenci nie ograniczają się do renderowania markdownu — potrafią budować pełne wizualizacje HTML z interaktywnym JavaScriptem, których naprawdę można używać w aplikacji: wykresy, diagramy i mnóstwo więcej. Sam korzystam z tego codziennie po dziesięć razy. Miecie dość grzebania w pull requestach na GitHubie? Już nie musicie: w zakładce na dole widzicie wszystkie swoje PR-y, zarządzacie nimi, scalacie. Julius zmusił to do działania także w aplikacji mobilnej — i to działa lepiej niż apka GitHuba, która, nawiasem mówiąc, wcale nie była zła.

Martwicie się, gdzie idą wasze tokeny? Nie ma potrzeby. Zakładka zużycia pokazuje, co konsumuje limit. Nawet jeśli jeszcze nie pracujecie w samym T3 Code, ale środowisko jest podpięte, odczytamy zużycie z niego — spora część mojego Claude przepływa przez Claude Code w terminalu odpalonym w pętli, a i tak wszystko ładnie się tu pokazuje. Jeśli śledzicie limity i jeszcze nie używacie proxy, to też zobaczycie w T3 Code. Właśnie scaliłem poprawkę deduplikacji kont, bo ludzie mieli z tym problemy; w tej wersji jeszcze jej pewnie nie ma, ale docelowo jasno zobaczycie, ile zostało każdemu kontu. Nie loguję się na konta bezpośrednio, więc następnej funkcji nie pokażę, ale wiedzcie: gdy dobijecie do limitów, możecie zaplanować wiadomość, która wyśle się automatycznie po ich odnowieniu. Złapaliście pięciogodzinny limit i przez trzy godziny nie możecie nic wysłać? Piszecie teraz, a prompt wystartuje w pierwszej możliwej chwili.

Mogliście zauważyć, jak śmigam po interfejsie: T3 Code jest obrzydliwie szybkie. Włożyłem zdecydowanie za dużo czasu w minimalizowanie danych potrzebnych do przesyłu. Samo przeskakiwanie między wątkami przenosi sto razy mniej danych niż Codex — pewnie nawet więcej, bo oni trochę spuchli, a my trochę odchudziliśmy. Stąd świetnie działamy na fatalnym internecie komórkowym. Wysyłanie promptu na 3G? Obiecuję, że będzie to najlepsze takie doświadczenie w waszym życiu. Dużo koduję na pokładowym Wi-Fi — nie Starlinku, tylko takim zwykłym, lipnym — i orientuję się dopiero, gdy Command‑Tab przerzuca mnie do przeglądarki i wszystko nagle robi się wolne.

Drobna rzecz, ale zdumiewa mnie, że nikt inny jej nie ma: Shift‑klik zaznacza kilka wątków naraz, żeby rozliczyć albo odłożyć wszystkie jednym ruchem albo wygenerować im od nowa tytuły, gdy stare przestały pasować do tego, co wątek robi. Można nawet wybrać, które środowisko, model i poziom staranności ma pisać takie teksty — komunikaty commitów, tytuły wątków, opisy PR-ów. Wątki, których nie dotykaliście przez pewien czas, rozliczają się same — włączycie, wyłączycie, ustawicie czas; domyślne trzy dni to moim zdaniem uczciwa wartość. Ja podniosłem do siedmiu, bo chcę, żeby skrzynka mi się zapełniała i zmuszała do zajęcia się nią.

Nie chcecie instalować aplikacji? Nie musicie. Pod adresem app.t3.codes w dowolnej przeglądarce uruchomicie T3 Code i podłączycie się do instancji npx t3 działających na innych maszynach — dostęp do wszystkich waszych skrzynek staje się błahy. Co zabawne, sam przez dłuższy czas używałem głównie tej drogi. Piszecie prompt, a w głowie już macie kolejny? Wciskacie skrót jeszcze raz i macie drugie okno. Szkice gromadzą się na górze i łatwo je skasować. Chcecie coś wysłać gdzie indziej — bo źle wybraliście projekt albo wątek? Command‑S odkłada szkic do schowka, idziecie w inne miejsce i znowu Command‑S go aplikuje. Schować można nawet obrazki.

T3 Code ma nie tylko najlepsze w swojej klasie wsparcie symulatorów mobilnych wbudowane od razu — ono działa też zdalnie. To, co widzicie, nie działa na moim komputerze: to inna maszyna w mojej sieci, przez T3 Connect, i to nawet nie połączenie bezpośrednie. Mam tu pełne doświadczenie iOS-a uruchomione zdalnie. Da się to zrobić i na telefonie: obsługujecie symulowany iPhone w aplikacji na iPhone’a. I wiecie co — to pełne 3D. Jezu, sam nie wiedziałem: dwoma palcami obracacie urządzenie w trójwymiarze. Wciąż całkowicie zdalnie, przypominam. Boże, jakie to fajne — zwłaszcza z symulatorem iPhone’a Duo, którego Julius twardo pilnuje, żebyśmy wspierali od pierwszego dnia na poziomie, o jakim Xcode może pomarzyć. Dokładnie tak samo działa wbudowana przeglądarka: pracuje na zdalnym serwerze, a wyniki przesyła do was, więc nawet bezgłowa maszyna może kręcić rzecz w przeglądarce, a wy wciąż z nią interakcjonujecie i logujecie się.

Chciałem pokazać serwer MCP w moim Grockbocie, ale jak go otworzę, zobaczyczycie rzeczy prywatne — dużo z niego korzystam. Tak czy inaczej: serwer MCP T3 Code — ten, który pozwala wątkom rozmawiać ze sobą i odpalać podagentów — umożliwia też innym aplikacjom podłączenie się i sterowanie. Chcecie zarządzać swoją instancją z Grockbota, z ChatGPT czy czegoś innego? Możecie — pełna kontrola przez MCP. Ten wątek dalej pracuje i w pełni współdziała z T3 Code w ten zdalny sposób; okno z urządzeniem można nawet wyświetlić nad czatem, jeśli tak wygodniej.

Kolejna niedawna zabawka: przełączanie między środowiskami. Kiedyś siedziało się w tym, w którym zaczęło się wątek — wątek żył wewnątrz narzędzia. Zbudowaliśmy mechanizm, który pozwala kontekstowi się wydostać i pójść gdzie indziej. Wybieram więc Opusa 5.5, piszę „zobacz, czy coś jest nie tak z aplikacją”, wysyłam — kontekst przechodzi na Opusa, który przejmuje pałeczkę. Łączność z urządzeniem iOS zostaje zachowana i praca biegnie dalej.

Na dokładkę wspieramy zdecydowanie za dużo systemów operacyjnych. Windowsa ARM nienawidzę całym sercem: rozdążył nam czasy budowania i wysypuje się bez przerwy. Ale wspieramy, bo ilekroć coś wycofuję, ludzie się wściekają. Prawie połowa zdarzeń wysyłanych z T3 Code pochodzi od linuksowców, co jest szaleństwem. Linux jest wspierany bardzo, bardzo dobrze — to nie jest coś skleconego na kolanie. To rdzeń projektu, na tyle, że T3 Code jest już wbudowane bezpośrednio w Omari. (Informacja dodatkowa: Omari — dystrybucja Linuksa; z kontekstu wynika, że T3 Code dostępne jest w niej natywnie.) Osobiście większość agentów odpalam na Linuksie, ale nie lubię pracować na Linuksie na komputerze, którego dotykam i na którym piszę — dlatego steruję wszystkimi tymi skrzynkami z T3 Code na Maku.

Chcecie, żeby jeden wątek znał drugi? Przeciągacie go do środka — i już wie. Pytacie „czym jest ten wątek”, a on rozumie i potrafi z nim współpracować; można mu nawet kazać z tamtym porozmawiać. A jeśli chcecie odnieść się do czegoś, co padło w rozmowie, albo do fragmentu podglądu w przeglądarce — zaznaczacie, klikacie „zacytuj”, wpisujecie choćby „nie zgadzam się”, zapisujecie, i wszystkie te przypisy lecą razem z następnym promptem.

No i jak mogłem zapomnieć o motywach. Wiem, że nie każdemu podobają się nasze kolory — jeśli wam się podobały te z T3 Chat, włączacie je jednym kliknięciem. Inny motyw dla trybu jasnego i ciemnego? Proszę bardzo. Import z VS Code? Wspieramy. Własny? Wspieramy. Chcecie czat szeroki jak stodoła? Śmiało — będę was oceniać, ale jak bardzo chcecie, możecie. Mamy skróty klawiszowe konfigurowalne w stopniu niepotrzebnie dogłębnym, per maszyna albo dla wszystkich maszyn w środowisku. Mogliście zauważyć, że każda strona ustawień pyta, czy coś dotyczy jednego projektu czy konkretnych środowisk — nie musicie się więc martwić, że opcja działa w jednym miejscu, a w drugim nie. Widać nawet, które ustawienia są na których maszynach.

Da się też sterować, kiedy, jak i gdzie powstają drzewa robocze. Zdecydowanie polecam mieć je włączone domyślnie — przy pracy równoległej wszystko staje się prostsze — ale wybór wasz. Wątek można odpalić bez projektu albo z nowym: nadajecie nazwę, wybieracie maszynę i to, czy repo ma się automatycznie synchronizować z GitHubem. Odpalenie nowego projektu na dowolnej maszynie, z dowolnym pomysłem, robi się banalne — sam dzięki temu zakładam mnóstwo projektów, do których dawniej nigdy bym nie zasiadł.

Boli mnie to trochę, ale wspieramy praktycznie każdego dostawcę Gita, którego da się rozsądnie chcieć: Azure DevOps, GitLab, Bitbucket, Forgejo, Gitea i oczywiście uwielbiany, wcale nieirytujący GitHub. Wrzuciłem też obrzydliwie dużo czasu w mechanizmy monitorowania PR-ów, wbudowane już bezpośrednio w T3 Code. Zamiast kazać agentowi za każdym razem wynajdować od nowa pilnowanie zmian, dostajecie sprawdzoną metodę, która zjada ułamek limitu API GitHuba — według moich pomiarów nawet setną część tego, co potrafią spalić agenci improwizujące na gorąco.

Drobiazg, ale bardzo mi się podoba: do jednej maszyny można ustawić wiele tras łączenia — przez Tailscale, T3 Connect, po LAN, czymkolwiek. Do tego bardzo drobnoziarnisty system uprawnień do tego, co wolno przez takie zdalne połączenia, a czego nie. Jednym kliknięciem na maszynie kopiujecie też adres jej serwera MCP i wystawiacie go innym maszynom.

I wreszcie webhooki, obiecane. Skoro łączycie się przez T3 Connect, możecie wystawić wątek pod webhookiem: wątki potrafią odpalać się na określone zdarzenia — otwarcie PR-a, coś w Stripe. Dostajecie adres, który przekazuje zdarzenia do waszego środowiska; można też zdecydować się na przytrzymanie ich i odtworzenie do 24 godzin, gdyby wasz serwer leżał. Można nawet podpiąć własny publiczny adres — i w efekcie zwykły curl odpala wam wątek zdalnie. To takie fajne. No i dziękuję wszystkim, którzy przypomnieli mi o ikonach folderów: gdy dodajecie projekt i ma on faviconę, stanie się ona ikoną projektu, o ile leży w standardowym miejscu. A jeśli nie — prawy klik, ustawienia projektu, wybór ikony albo wygenerowanie nowej w naszym małym kreatorze.

Theo z przyszłości dopowiada

Tu Theo z przyszłości. Parę funkcji zapomniałem pokazać, a parę kolejnych doszło od czasu nagrywania — chcę mieć pewność, że wszystko będzie.

Pierwsza przydaje się akurat teraz, bo mam mnóstwo maszyn i chcę je wszystkie zaktualizować. Przycisk aktualizacji w T3 Code podnosi nie tylko wersję aplikacji na waszym komputerze, ale też dostawców — Claude, Codex i cokolwiek innego — a do tego wersję aplikacji na wszystkich podłączonych maszynach. Jeden klik i aktualizuję Claude, Codex i T3 Code na dziewięciu komputerach naraz.

Za drugą zapomniałem tak bardzo, że nagrałem dodatkowy fragment: przycisk „otwórz w VS Code”. Działa też z innymi edytorami, ale pewnie zastanawiacie się, czemu aż tyle emocji. Bo to działa — no jasne, że działa, prawda? Otwieram projekt. Ale zauważyliście, że tego projektu nie ma na moim komputerze? Siedzi na innej maszynie, na BBOX. T3 Code jest tak zrobione, że przy otwieraniu w VS Code — pod warunkiem że wasz klient ma dostęp SSH do tamtej maszyny — edytor wstaje automatycznie w trybie SSH i łączy się zdalnie. Mogę więc edytować kod do woli. Kiedy już na niego patrzę, bo rzadko patrzę — szczerze, używam tego głównie do zmiennych środowiskowych i czasem poprawek w markdownie. Ale możliwość otwarcia jednym kliknięciem, po SSH, na skrzynce, gdziekolwiek leży kod, to czysta przyjemność.

A skoro przy wielu maszynach: niedawno dodałem przenoszenie projektów między nimi. Mam pewien projekt na paru skrzynkach, ale gdybym chciał postawić go na Mainbooku albo BB‑1, klikam i repo klonuje się w całości na wybraną maszynę. Przy okazji można zabrać pliki zmiennych środowiskowych i resztę pomijaną przez gita, jeśli są w repo. Po chwili wszystko stoi na drugiej maszynie i mogę słać prompty, gdzie chcę.

I gdyby coś przestało działać: do terminala i npx t3 triage. Wybieracie Claude Code albo Codex, a polecenie przekazuje cały potrzebny kontekst, żebyście sami zdiagnozowali problem na swojej maszynie — i nawet wystawili zgłoszenie, jeśli okaże się, że problem jest uniwersalny i powinien zostać naprawiony w samym T3 Code. Zgłoszenia śledzimy uważnie, więc jak coś znajdziecie, koniecznie dajcie znać — naprawimy, jak najszybciej. T3 Code integruje się z tak wieloma rzeczami, że niszowe przypadki brzegowe i bugi zawsze będą się trafiać. Triage nie tylko potrafi je rozpoznać i zameldować o nich zespołowi — w większości wypadków odblokowuje was lokalnie, na waszej konkretnej konfiguracji. Z tego, co widzę, ponad 80 procent problemów da się rozwiązać jednym tym poleceniem i odrobiną kontekstu podaną modelowi.

Chyba wszystko, co mi umknęło. Można wracać do tego, co tamten Theo właśnie gadał.

Co najbardziej podoba się użytkownikom

Ludzie kochają apkę webową. Kochają HTML w czacie. Kochają załączniki — a to kolejna rzecz, w którą włożyłem za dużo czasu. Gdy w T3 Code przypinacie obrazek, leci on do modelu tak jak wszędzie indzie, ale dodatkowo plik ląduje w miejscu systemu, do którego agenci mają dostęp. Wklejacie obrazek i mówicie „dodaj to do PR-a” — i on może. Żadne inne narzędzie tego nie potrafi: widzą treść obrazka, ale nie przekazują modelowi samych bajtów, żeby mógł coś z nimi zrobić. My przekazujemy, więc przypiąć możecie cokolwiek.

Ludzie uwielbiają przeglądarkę PR-ów i nie mogą się doczekać MCP oraz webhooków. Aplikacja renderuje też wideo i zdjęcia przez zdalne połączenia — superprzydatne, gdy chcecie do PR-a wpiąć filmik z poprawki, którą zrobił agent. Wbudowany monitoringu też cieszy. GitHub CLI nie umie wrzucać obrazków — no, prawie umie już, tylko wasi agenci o tym nie wiedzą i musicie być na najnowszej wersji. Ja mam skill wgrywania plików, moi agenci o nim wiedzą i mogą osadzać. Podoba im się nasze customowe renderowanie.

O, snapshoty! Jak mogłem zapomnieć — pewnie dlatego, że mam je wyłączone. Snapshoty pozwalają jednym naciśnięciem obu shiftów dorzucić kontekst do T3 Code. Siedzę w przeglądarce, chcę, żeby T3 Code znało tę treść — wciskam dwa shifty, narzędzie ją przechwytuje i otwiera wątek z tym, co właśnie złapało. I to nie tylko treść aplikacji, w której byłem, ale też cała masa danych dostępnościowych z systemu. Nasze wsparcie własnych czcionek jest dziś lepsze niż u wszystkich — miło to widzieć, sam używam domyślnych. A że projekt jest otwarty, wasi agenci mogą go modyfikować do woli. Pracujemy nad systemami personalizacji, przy których będziecie zmieniać aplikację u siebie na maszynie, bez klonowania.

I jeśli doprowadzicie coś do totalnej katastrofy, w terminalu czeka npx t3 triage: zbiera cały kontekst dla Claude Code albo Codexa, żeby zdiagnozować, co się, do diabła, stało. Nie tylko pozwoli wam naprawić zepsute lokalnie, ale też łatwo wystawicie szczegółowe zgłoszenie z logami, żebyśmy mogli naprawić problem u źródła. Aktywności na żywo w aplikacji mobilnej są niesamowite. Ja nie mam włączonych powiadomień — chcę patrzeć na T3 Code tylko wtedy, gdy z niego korzystam. Ale jeśli należycie do osób, które chcą wiedzieć, jak miewają się ich agenci, możecie mieć to wprost w powiadomieniach na iPhonie. Właśnie się dowiedziałem, że w zakładce PR-ów można sortować według gotowości do scalenia. Nie wiem, jak to mierzy, ale jest bardzo pomocne.

Minusy, których nie zamaskuję

Za bardzo ten produkt rozpieszczaliśmy. Przelecę szybko po minusach — nawet je sobie zapisałem.

Sprzęt przynosisie własny. Nie mamy chmury, na której robimy marżę. T3 Code musi na czymś działać — może to być wasza chmura, wszystko jedno, ale to wasz temat. T3 Connect jest na razie ograniczone do trzech urządzeń, więc przy większej flocie musicie łączyć się inaczej: chcecie siedemnaście komputerów, lepiej umiecie Tailscale. Wkrótce pozwolimy na więcej niż trzy urządzenia — po prostu nie chcemy zbankrutować na projekcie open source. Sterowanie komputerem nie jest jeszcze wbudowane. Można z niego korzystać, jeśli zapewnia je samo środowisko — Codex ma to domyślnie; można nawet wziąć MCP do computer use z aplikacji Codex, podać je Claude’owi i zadziała. Nasze własne będzie niedługo.

I zapewne najgorsze z wszystkiego: zrobił to Theo, co jest dramatem. Szczerze mówiąc, największy problem T3 Code. Na szczęście projekt jest otwarty, więc jak wam to przeszkadza — forknijcie.

Poza tym zniszczy wam rytm snu. Wiem, że mnóstwu osobom tak się stało — czacie, dajcie znać. No właśnie: jeśli więc chcecie kłaść się o stałych porach i nie chcecie, żeby uzależnienie od vibe codingu trzymało was na nogach całą noc, może nie próbujcie. Rozmawiałem o tym z terapeutą. Aha, wy nie macie telefonów w łóżku? No dokładnie — tylko że wtedy zamiast tego siedzę całą noc i promptuję z telefonu w aplikacji mobilnej. Musiałem odbyć rozmowę z byłą o mojej nieumiejętności odłożenia telefonu, bo całą noc promptowałem T3 Code. Powiem tylko: nie bez powodu jest byłą.

No i naturalnie spalicie więcej tokenów. Nie dlatego, że T3 Code jest nieoszczędne — to mocno optymalizowałem. Zużywa limit tak samo szybko, jak gdybyście przepuszczali go bezpośrednio przez Claude czy Codex. Po prostu będziecie odpalać tyle wątków więcej, że zużycie poczujecie mocniej — bo będziecie robić o wiele więcej.

Zakończenie: narzędzie od inżynierów dla inżynierów

Chyba powiedziałem wszystko. Jeśli czegoś T3 Code nie robi, a waszym zdaniem powinno — wystawcie zgłoszenie albo dołączcie do dyskusji na GitHubie. Może was zaskoczyć, ilu innych chce tego samego, a jak mnie wystarczająco zmotywujecie, może dodamy.

Ogólnie: T3 Code powstało po to, żeby programiści byli w programowaniu skuteczniejsi. Świat zdaje się iść w drugą stronę. ChatGPT wpycha wam pod nos kropki, spacje i wtyczki. Claude Code próbuje być narzędziem „do pracy”, nie „do kodu”, co jest wkurzające. Cała reszta upycha kod w zakładkę swoich pozostałych aplikacji. T3 Code jest zbudowane dla kodu. Zbudowali je inżynierowie dla inżynierów i na tym nie zamierzamy ustępować. Jeśli tęsknicie za czasami, gdy te narzędzia robione były dla was — dla was, programistów — to T3 Code jest dla was. I rzecz najważniejsza: buduje je zespół inżynierów klasy światowej, którzy absolutnie nie spędzają całego dnia na wrzucaniu postów. Zdecydowanie nie. Zdecydowanie sami inżynierowie. Boże, jak ja tego nienawidzę.

Pobierając dziś T3 Code ze strony, dostaniecie wersję stabilną — a w chwili publikacji tego filmu wersja stabilna będzie już zawierać wszystko, co pokazałem. Jeśli jednak wolicie żyć na krawędzi, dostawać świeżynki od razu i akceptujecie, że rzeczy się zmieniają w trakcie iteracji i mogą na krótkie chwile pękać — kliknijcie przycisk nightly na stronie pobierania. W najgorszym razie będziecie dostawać aktualizacje znacznie szybciej.

Nie mogę uwierzyć, że tak długo zwlekałem z osobnym materiałem o T3 Code, ale w końcu uznałem, że czas. Robię to głównie dlatego, że mój zespół pracuje niewiarygodnie ciężko i wstyd mi nie pokazywać, co porabiali. Zakończę więc ukłonami w stronę wszystkich, którzy wnieśli do projektu najwięcej. Dzięki, Juliusie, za doprowadzenie go tam, gdzie jest. Dzięki, Mario, za przejęcie szturmu PR-ów, w którym tonęliśmy. Dzięki, Shiv, za ratunek w ostatniej chwili i sprzątanie po drodze. Dzięki, Wow, za masę integracji wokół Pi i Orchestratora v2. Dzięki, Bal, za pierwotną wersję przeglądarki PR-ów — niesamowitą i po prostu fajną. I oczywiście dzięki pozostałym kontrybutorom — zapominam o połowie z was, a jest was już 516, więc mam nadzieję, że rozumiecie, jak trudno wszystko wyśledzić. Dzięki też wszystkim 27 tysiącom osób, które dały nam gwiazdkę na GitHubie — a jeśli jeszcze nie, będziemy wdzięczni.

To już wszystko. Trochę surrealistyczne jest to, jak pozytywnie wszystko to przyjęliście. Chciałem tylko, żeby narzędzia przyszłości, którymi będziemy się posługiwać, nie były drogimi, zamkniętymi, prywatnymi wynalazkami. Jestem wdzięczny, że przed open source wciąż rysuje się jasna przyszłość i że tak wiele osób wspiera chaotyczne rzeczy, które budujemy. Dzięki, że jesteście ze mną na tej szalonej przejażdżce. Nie mogę się doczekać, co wymyślimy dalej. Do następnego — pa, nerdzi.