[{"data":1,"prerenderedAt":268},["ShallowReactive",2],{"\u002Fblog\u002Fagent-harness-selection\u002F:pl":3,"\u002Fblog\u002Fagent-harness-selection\u002F-surround:pl":164,"blog-all-posts:pl":165},{"id":4,"title":5,"author":6,"body":10,"date":147,"description":148,"extension":149,"image":150,"locale":151,"meta":152,"minRead":153,"navigation":154,"original":155,"path":156,"pinned":155,"seo":157,"source":158,"sourceUrl":23,"stem":159,"tags":160,"updated":150,"__hash__":163},"blog\u002Fblog\u002Fagent-harness-selection.pl.md","Po testowaniu Pi Agent, OMP, Codex i ZCode: dlaczego ostatecznie wybrałem OpenCode + OpenChamber",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":135},"minimark",[13,28,31,36,41,44,47,59,63,66,69,72,76,79,83,89,95,108,115,119,122,125,128],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Pierwotnie opublikowane na ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2085410520459604026",[25],"nofollow","X",".",[17,29,30],{},"Ostatnio testowałem Agent Harnessy, takie jak Pi Agent, OMP, ZCode, Codex i OpenCode, i w końcu zrozumiałem, czego naprawdę potrzebuję.",[32,33,35],"h2",{"id":34},"moje-trzy-kryteria","Moje trzy kryteria",[37,38,40],"h3",{"id":39},"po-pierwsze-dojrzałe-stabilne-gui","Po pierwsze: dojrzałe, stabilne GUI",[17,42,43],{},"Przyzwyczaiłem się do GUI i naprawdę nie znoszę TUI. Czatowanie w czarnej ramce terminala to męka — musisz zapamiętać mnóstwo skrótów i komend, żeby w ogóle dało się z tego korzystać. GUI natomiast wystarczy intuicyjnie klikać ikony i przyciski.",[17,45,46],{},"Potrzebuję więc dojrzałego, stabilnego i ładnego GUI.",[17,48,49,50,54,55,58],{},"To jedno kryterium od razu wykluczyło ",[51,52,53],"strong",{},"Pi Agent"," i ",[51,56,57],{},"OMP",". Nie chodzi o to, że ich jądra są złe — po prostu stworzone wokół nich społecznościowe GUI są fatalne. Samodzielne zbudowanie własnego wymagałoby sporo wysiłku, a te narzędzia są tak konfigurowalne, że ręcznie sklecone GUI nie ma żadnej przenośności — zmieniasz maszynę albo osobę i wszystko trzeba zaczynać od zera.",[37,60,62],{"id":61},"po-drugie-bez-blokady-dostawcy-bez-faworyzowania-modeli","Po drugie: bez blokady dostawcy, bez faworyzowania modeli",[17,64,65],{},"Codex co prawda udostępnia interfejsy konfiguracji modeli firm trzecich, ale konfiguracja jest naprawdę uciążliwa, a modele firm trzecich zawsze są „obywatelami drugiej kategorii\" — tłamszone przez oficjalne modele i hamowane tempem aktualizacji, co mocno mnie irytuje.",[17,67,68],{},"ZCode jest jeszcze bardziej absurdalny: nie ma możliwości zalogowania się przez OAuth do planów kodowania poszczególnych dostawców (na przykład Kimi For Code i Grok Build w ogóle nie da się użyć w ZCode, chyba że uciekniesz się do hakerskich obejść).",[17,70,71],{},"Dlatego wykluczyłem ZCode i Codex — oprogramowanie faworyzujące modele własnych dostawców.",[37,73,75],{"id":74},"po-trzecie-open-source-i-otwartość-na-dalszy-rozwój","Po trzecie: open source i otwartość na dalszy rozwój",[17,77,78],{},"Potrzebuję prowadzić dalszy rozwój i dostosowania w oparciu o własne potrzeby, żeby łatwiej zapewnić klientom wygodne rozwiązanie działające od razu po uruchomieniu. Produkt musi więc być open source i przyjazny licencyjnie — wygodny dla mnie i prosty dla moich klientów, bez żadnych czarnomagicznych hacków.",[32,80,82],{"id":81},"ostateczna-odpowiedź-opencode-openchamber","Ostateczna odpowiedź: OpenCode + OpenChamber",[17,84,85,86,27],{},"Po wyeliminowaniu wszystkich kandydatów realnym wyborem zostaje tylko ",[51,87,88],{},"OpenCode",[17,90,91,92,27],{},"Ale OpenCode to tylko jądro Agenta. Żeby dobrać do niego dojrzałe, stabilne i wygodne GUI, w końcu znalazłem prawdziwą odpowiedź: ",[51,93,94],{},"OpenChamber",[96,97,98,102,105],"ul",{},[99,100,101],"li",{},"Jądro: OpenCode — open source, bez blokady dostawcy, obsługuje modele wszystkich dostawców",[99,103,104],{},"Interfejs: OpenChamber — dojrzały warsztat GUI",[99,106,107],{},"Kombinacja: stabilne jądro + wygodny interfejs, a do tego możliwość dalszego rozwoju w razie potrzeby",[17,109,110,111],{},"Kod źródłowy: ",[21,112,113],{"href":113,"rel":114},"https:\u002F\u002Fgithub.com\u002Fopenchamber\u002Fopenchamber",[25],[32,116,118],{"id":117},"kilka-refleksji","Kilka refleksji",[17,120,121],{},"Wybór narzędzia to w gruncie rzeczy wybór tego, „kto ma władzę nad tobą\".",[17,123,124],{},"Nieważne, jak dobre jest narzędzie o zamkniętym kodzie — kierunek aktualizacji, wsparcie modeli i strategia cenowa są ustalane przez kogoś innego, a ty możesz je tylko biernie przyjmować. Kombinacja open source i braku blokady daje ci zawsze wyjście awaryjne i zawsze swobodę modyfikacji.",[17,126,127],{},"Co do sporu TUI kontra GUI — nie upieraj się na siłę. Narzędzia służą do pracy, a nie do udowadniania, że znasz się na wierszu poleceń. Wygodny interfejs, z którego możesz korzystać na dłuższą metę, znaczy więcej niż cokolwiek innego.",[17,129,130,131],{},"Powiązana lektura: ",[21,132,134],{"href":133},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash — dogłębna recenzja wersji stabilnej",{"title":136,"searchDepth":137,"depth":137,"links":138},"",2,[139,145,146],{"id":34,"depth":137,"text":35,"children":140},[141,143,144],{"id":39,"depth":142,"text":40},3,{"id":61,"depth":142,"text":62},{"id":74,"depth":142,"text":75},{"id":81,"depth":137,"text":82},{"id":117,"depth":137,"text":118},"2026-08-06","Retrospektywa wyboru Agent Harnessa: trzy kryteria — wygoda GUI, blokada dostawcy i swoboda dalszego rozwoju — wykluczyły Pi Agent, OMP, Codex i ZCode, a wybór ostatecznie padł na jądro OpenCode z interfejsem OpenChamber.","md",null,"pl",{},6,true,false,"\u002Fblog\u002Fagent-harness-selection",{"title":5,"description":148},"x","blog\u002Fagent-harness-selection.pl",[161,162],"AI Agent","Wybór narzędzi","Qj1251uiFO-NYh5luoXknZZQ5-mOLeAWsV_LsSkIH-E",[150,150],[166,168,177,186,192,200,207,214,222,228,235,244,251,259],{"path":156,"title":5,"description":148,"date":147,"minRead":153,"tags":167},[161,162],{"path":169,"title":170,"description":171,"date":172,"minRead":153,"tags":173},"\u002Fblog\u002Fcloudflare-broke-stack","Najlepsze praktyki indie deva 2026: Cloudflare'owe kombo dla oszczędnych „od zera”","Technologiczny stos indie developera o zerowym koszcie: Codex pisze kod, GitHub trzyma wersje, Stripe przyjmuje płatności, frontend na TanStack Start, backend na Hono + Workers, baza D1, storage R2, cache KV — wszystko działa na Cloudflare.","2026-06-15",[174,175,176],"Cloudflare","Indie development","Stos technologiczny",{"path":178,"title":179,"description":180,"date":181,"minRead":153,"tags":182},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek ma w API wbudowane wyszukiwanie w sieci — darmowa oficjalna funkcja wyszukiwania przez Responses API","DeepSeek wbudował wyszukiwanie w sieci prosto w API: wywołaj deepseek-v4-flash przez interfejs Responses i zadeklaruj narzędzie web_search. Bez integracji z zewnętrzną wyszukiwarką, bez klucza API do wyszukiwania.","2026-08-05",[183,184,185],"DeepSeek","API","Narzędzia AI",{"path":133,"title":187,"description":188,"date":181,"minRead":189,"tags":190},"DeepSeek V4 Flash w wersji stabilnej, z praktyki: tani, szybki, 1M kontekstu, wbudowane wyszukiwanie","Kilka dni dogłębnego testowania stabilnej wersji DeepSeek V4 Flash: ekstremalnie tanio, szybko jak błyskawica, 1M kontekstu, oficjalne wbudowane wyszukiwanie w sieci, w pełni open source. Jedyna słabość to multimodalność — ale można ją załatać, łącząc inne modele.",7,[183,191,185],"Recenzja modelu",{"path":193,"title":194,"description":195,"date":172,"minRead":196,"tags":197},"\u002Fblog\u002Ffree-cloudflare","Jak darmowy użytkownik wycisnąć z Cloudflare wszystko — na ile realnie starcza darmowy plan?","Darmowy plan Cloudflare może unieść całą prywatną infrastrukturę internetową: DNS, CDN, Pages, Workers, KV, D1, R2, e-mail, Tunnel, AI Gateway i więcej.",8,[174,198,199],"Darmowy plan","Wdrożenie",{"path":201,"title":202,"description":203,"date":204,"minRead":196,"tags":205},"\u002Fblog\u002Fmodel-harness-decoupling","Harness first-party nie zawsze jest wersją zwycięską: w epoce modeli otwartych wybieraj model i Harness osobno","Używasz Claude? Bierzesz Claude Code. W epoce modeli otwartych ten instynkt wymaga aktualizacji. Przewaga first-party jest realna, ale wytrenowanie dobrego modelu i zbudowanie dobrego Harnessa to dwie różne dziedziny inżynierii — ten artykuł wyjaśnia, dlaczego model i Harness można już wybierać osobno, plus mapę pozycjonowania pięciu Harnessów.","2026-09-09",[161,206,162],"Harness",{"path":208,"title":209,"description":210,"date":204,"minRead":196,"tags":211},"\u002Fblog\u002Fopencode-productive-stack","Stabilnie, szybko, produktywnie, tanio: moje pełne zestawienie stacku AI Coding","OpenCode + OpenChamber + dwie subskrypcje DeepSeek V4 Flash: 15 projektów jednocześnie generuje kod, a limit ledwo drgnął. Rozkładam całą konfigurację na łopatki: przycinanie kontekstu, warstwowa pamięć, automatyzacja pulpitu oraz lekcja „trzymaj się oryginalnej pary”.",[88,212,213],"Programowanie z AI","Konfiguracja",{"path":215,"title":216,"description":217,"date":218,"minRead":219,"tags":220},"\u002Fblog\u002Fproduct-faxin-principle","Zasada pierwotnej intencji: dlaczego indie developer musi nauczyć się rezygnować","Dlaczego ruszasz? Dla kogo ruszasz? Który problem naprawdę chcesz rozwiązać? Ostrość produktu bierze się z tego, z czego masz odwagę zrezygnować.","2026-06-20",10,[221,175],"Myślenie produktowe",{"path":223,"title":224,"description":225,"date":218,"minRead":196,"tags":226},"\u002Fblog\u002Fproduct-pain-vs-itch","Nie wpadaj w uniesienie, gdy użytkownik mówi „świetne”: punkty bólu a punkty swędzenia","Ustna aprobata jest bezwartościowa. Jest tylko jeden twardy standard oceny popytu: to, co użytkownik jest gotów zapłacić.",[221,227],"Ocena popytu",{"path":229,"title":230,"description":231,"date":147,"minRead":232,"tags":233},"\u002Fblog\u002Fqwen-vision-for-deepseek","Dodawanie multimodalności DeepSeekowi: podejście wizyjne Qwen-3.7-Flash","DeepSeek V4 Flash nie ma multimodalności — co zrobić z rozumieniem obrazów? Po rozeznaniu rynku obecnie najkorzystniejszą cenowo opcją jest Qwen-3.7-Flash: rozpoznanie obrazu kosztuje niemal nic, a połączenie z V4 Flash łatuje tę lukę.",5,[183,234,191],"Multimodalność",{"path":236,"title":237,"description":238,"date":239,"minRead":240,"tags":241},"\u002Fblog\u002Fsub-store-cloudflare","Przeniosłem agregację subskrypcji proxy na Cloudflare","Połącz wiele usług proxy plus własne węzły w jedną subskrypcję, z regułami routingu skonfigurowanymi po stronie serwera — klient po prostu subskrybuje.","2026-06-28",4,[174,242,243],"Obejście cenzury","Projekt open source",{"path":245,"title":246,"description":247,"date":204,"minRead":189,"tags":248},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI zabija twoją przepustowość poznawczą: czas rozbić „geekowy filtr” w AI Coding","Coraz więcej agentów kodujących z AI ściga się w wypuszczaniu TUI, wpychając interakcję z powrotem w terminalowy paradygmat z lat 80. i nazywając to „immersywnym” i „szanującym programistów”. Ten artykuł rozbiera na części trzy mechanizmy, którymi TUI systematycznie obniża przepustowość poznawczą — i wyjaśnia, dlaczego właściwym rozwiązaniem jest Web UI.",[212,249,250],"Projektowanie interakcji","Esej",{"path":252,"title":253,"description":254,"date":255,"minRead":153,"tags":256},"\u002Fblog\u002Fvalue-not-external","Dyskutowanie, czy coś ma wartość, samo w sobie jest bezwartościowe","Nasza wartość nie jest definiowana przez nikogo. W epoce AI — jak powinniśmy rozumieć samych siebie?","2026-06-18",[257,258],"Myślenie o AI","Esej humanistyczny",{"path":260,"title":261,"description":262,"date":263,"minRead":264,"tags":265},"\u002Fblog\u002Fx-growth-1000-followers","Ponad 1000 obserwujących w nieco ponad dobę — co zrobiłem","W czerwcu poważnie poprowadziłem konto na X i zdobyłem ponad 1000 obserwujących w nieco ponad dobę. Ten post zapisuje, co zrobiłem i jakie dostałem odpowiedzi.","2026-06-16",12,[266,267],"Prowadzenie X","Wzrost treści",1789752320760]