Od MCP do OpenCLI, način na koji Agent upravlja browserom postaje sve glatkiji.
Nedavno stalno razmišljam o jednom pitanju: kako da Agent glatkije upravlja browserom.
Ranije sam vam spomenuo Chrome Devtools MCP — iskustvo je prilično dobro.
https://paicoding.com/article/detail/2606800001310720
Pored toga, mnogi Agenti imaju ugrađene Puppeteer, Playwright, browser-use i druge alate.
Ali u suštini i dalje se radi kroz proces screenshot → prepoznavanje → klik. Tokeni se brzo troše, i odziv je spor.

OpenCLI pristup je potpuno drugačiji — ne ide preko MCP-a, ne radi GUI automatizaciju. Ide putem izdvajanja API interfejsa sajta i pakovanja u determinističku CLI komandu.
Isprobao sam, zaista ima nečega.
01. Šta je OpenCLI
Slogan OpenCLI-ja je "Make Any Website & Tool Your CLI" — pretvori bilo koji sajt i alat u tvoj command line. Core ideja je jedna rečenica: nemoj terati LLM da upravlja web stranicom, neka CLI poziva interfejse.
GitHub adresa: https://github.com/jackwener/opencli

Od izdavanja v0.1.0 14. marta do sadašnje v1.7.3, za mesec dana iterirano je preko 80 verzija, uz pomoć AI-a, kod je zaista intenzivno iteriran.
Tradicionalna GUI automatizacija tera AI da gleda screenshot-ove, klikće dugmiće, popunjava formular, svaki korak zahteva poziv vizuelnom modelu. OpenCLI pristup je: svi podaci koje vidite na stranici, iza njih stoje API interfejsi koji vraćaju podatke. Ja ne diram interfejs, direktno pozivam interfejs da uzmem podatke, preskačem čitav GUI sloj.
Kao što želite da znate ko je Ergov pomoćnik, GUI automatizacija uči čoveka da otvori Chrome, skoči na Baidu pretragu, unese ključnu reč, napravi screenshot, sa OCR prepozna tekst; OpenCLI direktno poziva API pretrage, jedan HTTP zahtev i gotovo.
02. Instalacija i početak rada
Instalacija je jednostavna, direktno u Agent unesite sledeći prompt:
Pogledaj https://github.com/jackwener/opencli i instaliraj, reci mi kako da koristim.
Nakon instalacije otvorite u Chromeu chrome://extensions, uključite "Developer mode", kliknite "Load unpacked", izaberite unpacked direktorijum Chrome/Chromium-a, Agent ga je već preuzeo i raspakovao u ovaj direktorijum.

Nakon izbora možete ga videti.

Zatim izvršite opencli doctor da potvrdite:
opencli doctorAko su sve zelene, spremno je za upotrebu.

Hajde da probamo Bilibili:
opencli bilibili hot --limit 10Izlaz podržava plain text i JSON, JSON format je zgodan za kasnije korišćenje od strane Agenta.

Brzina je visoka. Ove komande se u suštini izvršavaju u vremenu HTTP zahteva, jednodve sekunde.
03. Praćenje sadržaja sa OpenCLI
Želim da znam da li na Xiaohongshuu, V2EX, Zhihu neko priča o temama vezanim za AI Agent, da vidim koje su prave potrebe korisnika.
Ranije, za ovu stvar, ili sam išao platformu po platformu da pretražujem, ili koristio web-access Skill da Agent otvori browser da lista.
Sada sa OpenCLI, tri komande i gotovo:
opencli xiaohongshu search "AI Agent" -f json --limit 10
opencli v2ex search "AI Agent" --limit 10
opencli zhihu search "AI Agent" -f json --limit 10Pošto nisam prijavljen na Xiaohongshu, nije uspelo.

OK, nakon što sam se ponovo prijavio na Xiaohongshu, mogu da pretražujem sadržaj.

Još bolje, pošto je izlaz strukturirani JSON, mogu direktno da bacim rezultat na Codex, neka mi ga sredi u tabelu.

Iskreno, ubuduće, ovaj način "CLI uzima podatke" je ono što Agent najviše voli.
04. record komanda za obrtanje novog sajta
Takođe sam probao record komandu, koja može da generiše adapter za sajt koji još uvek nema adapter.
Ovog puta sam izabrao tehnički tim (paicoding.com).
opencli record https://paicoding.com
Nakon izvršenja komande, OpenCLI automatski otvara browser prozor, ubacuje fetch/XHR interceptor. Zatim normalno operišete na stranici — kliknete na listu članaka na naslovnoj, prelistate, kliknete na detalje članka.
OpenCLI u pozadini tiho beleži sve API zahteve koje ove operacije okinu. Posle 60 sekundi automatski staje, generisao je nekoliko kandidata YAML adaptera.

Prepoznao je interfejs liste članaka i interfejs detalja članka, čak je generisao i mapiranje parametara zahteva i polja odgovora.
Ceo proces ne zahteva da u browser Network panelu listate zahteve, ne zahteva analizu API dokumentacije, OpenCLI je interceptorom odradio sav posao.

Ovaj record princip komande je takođe veoma zanimljiv: ubacuje JavaScript na stranicu, prepisuje window.fetch i XMLHttpRequest.prototype.open, svi mrežni zahtevi koji prođu kroz ova dva ulaza se hvataju i beleže. Sve dve sekunde radi polling liste uhvaćenih zahteva, posle 60 sekundi se automatski završava.
05. Browser Bridge arhitektura — dublje
Najzanimljivija tehnička tačka OpenCLI-ja je Browser Bridge arhitektura.
Tradicionalni alati za hvatanje paketa (kao Charles, Fiddler) zahtevaju konfiguraciju proxy-ja, instaliranje sertifikata, visok prag. OpenCLI koristi elegantniji pristup — Chrome ekstenziju.
Cela arhitektura je podeljena u dva dela:
Lak Daemon proces radi lokalno, odgovoran za primanje CLI komandi. Chrome ekstenzija (Browser Bridge) ubacuje se u sve tabove browsera, služi kao komunikacioni most između CLI-ja i browsera.
CLI šalje komandu Daemon-u, Daemon prosleđuje Chrome ekstenziji, ekstenzija koristi postojeće cookije i status autentifikacije browsera da zatraži API ciljnog sajta, nakon preuzimanja podataka vraća ih istim putem.

Najvažnija je strategija autentifikacije, OpenCLI je podelio težinu autentifikacije sajtova u četiri nivoa:
Prvi nivo, Public. Potpuno javni interfejsi, dovoljan običan HTTP zahtev, ne zahteva nikakvu autentifikaciju. Interfejs hot tema na HackerNews je ovakav.
Drugi nivo, Cookie. Interfejsi koji zahtevaju cookie browsera za pristup. Većina kineskih platformi (Bilibili, Zhihu, Xiaohongshu) su ovakve. OpenCLI kroz Chrome ekstenziju uzima cookie, automatski ga prilaže pri zahtevu.
Treći nivo, Header. Pored cookie-ja potrebno je i dodatno autentifikaciono zaglavlje, kao Bearer token, CSRF token. Neki sistemi za upravljanje pozadinom koriste ovaj način.
Četvrti nivo, Intercept. Najteža kategorija — interfejs unutar stranice radi normalno, ali pri direktnom zahtevu spolja ne uspeva. U ovom slučaju OpenCLI radi intercept na nivou stranice, ubacuje kod da uhvati zahtev.
opencli cascade komanda može automatski da otkrije kom nivou pripada ciljni sajt i automatski izabere najprikladniju strategiju autentifikacije.
Još jedan detalj — OpenCLI radi obradu anti-detekcije. Mnogi sajtovi detektuju tragove alata za automatizaciju, kao što su navigator.webdriver svojstvo, window.chrome objekat, da li je lista pluginova normalna. OpenCLI pri zahtevu patchuje ove karakteristike: postavlja navigator.webdriver na false, lažira listu pluginova, čisti globalne promenljive ChromeDriver-a i Playwright-a, čak iz Error stack traca izbacuje okvire vezane za CDP.
Ovaj anti-detekcija mehanizam nije svemoćan (zaista hardcode anti-scraper i dalje može da prepozna), ali za osnovnu detekciju većine platformi je dovoljan.
06. Sistem adaptera
OpenCLI trenutno ima 87+ ugrađenih adaptera za sajtove, pokrivenost je prilično široka.
Za kineske platforme, tu su Bilibili, Zhihu, Xiaohongshu, Weibo, Douban, V2EX, Jike, JD, Taobao, Zsxq, Maimai, Beke, Mubu, Xiaoe-tech. Inostrane platforme uključuju Twitter/X, Reddit, HackerNews, YouTube, Amazon, GitHub Trending, Binance.
Svaki adapter je u suštini YAML fajl koji definiše pipeline: fetch → extract → transform → output. Na primer, adapter za Bilibili hot izgleda otprilike ovako:
name: bilibili
commands:
hot:
url: https://api.bilibili.com/x/web-interface/ranking/v2
auth: public
extract: $.data.list
transform:
title: $.title
play: $.stat.view
url: https://www.bilibili.com/video/{{$.bvid}}Deklarativno, ne zahteva pisanje nijedne linije koda.
Ako želite da napravite adapter za sajt koji ga još uvek nema, OpenCLI nudi record komandu:
opencli record https://example.comOtvara automatski prozor, ubacuje fetch/XHR interceptor, hvata sve API pozive koje napravite pri operaciji na stranici, a zatim automatski generiše kandidate YAML adaptera. Samo operišite normalno na stranici — pretraga, listanje, klik — OpenCLI u pozadini tiho beleži, nakon 60 sekundi automatski generiše nacrt adaptera.
07. GUI vs CLI, šta izabrati
GUI interfejs je za ljude, ne za programe. Pozicija dugmeta se promeni, iskoči još jedan prozor, brzina učitavanja varira, automatizovana skripta pukne.
browser-use i slična AI-vođena rešenja su malo bolja, ali svaki korak zahteva poziv vizuelnog modela, tokeni se brzo troše, odziv je spor.
Prednost CLI rešenja (OpenCLI) je u tome što ista komanda uvek vraća iste strukture podataka.
Ali CLI rešenje ima i očiglednu slabu tačku — može da upravlja samo sajtovima koji imaju adapter. 87 adaptera zvuči mnogo, ali sajtova na internetu ima na milione. Kada naiđete na sajt bez adaptera, ili sami snimite sa record, ili morate da promenite rešenje.

Kombinovana upotreba je trenutno najpragmatičnija strategija alatnog sloja za Agente. Ne stavljajte sva jaja u jednu korpu, birajte najprikladnije rešenje prema konkretnom scenariju.
Na kraju krajeva, alati služe scenarijima, ne postoji srebrni metak.
ending
Od GUI automatizacije do OpenCLI, rešenja za Web automatizaciju su sve prilagođenija Agentima.
To je i razlog zašto CLI postaje sve popularniji.
LLM je zadužen za razmišljanje i odlučivanje, CLI za izvršavanje i pribavljanje podataka. Svako na svom mestu, efikasnost na maksimumu.
[Zaista dobar alat nije onaj sa mnogo funkcija, već onaj koji svaki korak čini determinističkim.]
CLI i JSON, prirodno prijateljski za Agenta.
Vidimo se u sledećem.
