Muhtasari wa mradi
Jev GUI Delegate ni mfano wa awali wa ugawaji wa GUI wa Windows na Chrome unaolenga Codex. Modeli kuu hutoa lengo la kazi na masharti ya kukubali, huku kidhibiti cha ndani kikichunguza kiolesura, kulinganisha vidhibiti, kutekeleza vitendo, na kukagua matokeo halisi katika kila hatua. Kidhibiti huita TypeSafe Jev tu kinapokutana na chaguo la kimaana ambalo haliwezi kushughulikiwa kwa sheria bainifu.
Tatizo kuu linalolengwa ni hili: modeli kuu inapofanya kazi hatua kwa hatua kwenye tovuti au programu ya eneo-kazi, inahitaji kusoma kiolesura mara kwa mara, kuchagua vidhibiti na kushughulikia majibu ya zana, hivyo kuunda mzunguko wa uendeshaji wenye gharama kubwa. Jev GUI Delegate hukabidhi mfululizo wa vitendo vinavyoweza kukubaliwa wazi kwa kidhibiti cha ndani ili kitekeleze mfululizo, huku ikihifadhi ukaguzi wa hali, urejeshaji wa hitilafu na uwezo wa mtumiaji kuchukua udhibiti.
Mradi huu ni mfano wa awali uliobuniwa binafsi, kutekelezwa kwa msaada wa AI na kukubaliwa kila mara. Mkataba wa kazi, upangaji wa zana, mbinu za urejeshaji, ukaguzi wa ruhusa, majaribio na maboresho kulingana na mrejesho ni michango ya mradi; modeli ya Jev, TypeSafe SDK, Codex na programu-jalizi ya kivinjari ni bidhaa za upstream.
Mtiririko wa kazi
Modeli kuu ya Codex hutuma lengo na masharti ya kukubali.
Kazi hupangwa kuwa mkataba wa ndani wa kazi unaoweza kukaguliwa.
Kidhibiti huchunguza kiolesura cha sasa na kujaribu kulinganisha vidhibiti kwa njia bainifu.
Isipoweza kuamua moja kwa moja, kidhibiti huita Jev kwa uteuzi wa kimaana.
Vitendo vya Chrome hutekelezwa kupitia kipindi rasmi cha kivinjari kinachotolewa na mwenyeji, huku vitendo vya Windows vikitumia UI Automation.
Kidhibiti huthibitisha matokeo halisi, huhifadhi maendeleo, na kuamua kuendelea, kurejesha, kusitisha, au kuomba maelezo ya ziada kutoka kwa modeli kuu.
Mtiririko huu hauinakili mipangilio ya kivinjari binafsi wala kutoa Cookie. Njia ya Chrome inategemea API ya kipindi rasmi cha kivinjari inayooana na kutolewa na mwenyeji wa Codex; hazina yenyewe haiwezi kuunda au kuchukua nafasi ya kipindi hicho.
Vipengele muhimu
Njia mbili za utekelezaji wa GUI
Chrome: Hutumia tena kipindi rasmi cha kivinjari kinachotolewa na mwenyeji.
Windows: Hutumia Windows UI Automation kuendesha vidhibiti vya eneo-kazi vinavyoweza kufikiwa.
Mkataba wa kazi ulio wazi
Mkataba wa kazi hueleza wazi lengo, vitendo vinavyoruhusiwa, wigo wa uendeshaji, ingizo linalohitajika, hatua za utekelezaji na masharti ya mafanikio. Kwa hivyo, kidhibiti kinaweza kukagua ruhusa na wigo kabla ya utekelezaji, kisha kutumia masharti ya mafanikio kuamua ikiwa kazi imekamilika kwa kweli.
Kumwita Jev inapohitajika
Vidhibiti vinavyoweza kubainishwa kwa sheria za ndani vinalinganishwa moja kwa moja na msimbo; Jev huitwa tu inapohitajika kuelewa maana ya maandishi au ya chaguo. Mradi hurekodi ipasavyo matumizi ya sifuri ya modeli, na hauhesabu kimakosa matumizi hayo kama hoja moja ya Jev iliyofanikiwa.
Utekelezaji mfululizo na urejeshaji
Kidhibiti kinaweza kuhifadhi maendeleo ya utekelezaji na kushughulikia ingizo lililokosekana, hitilafu za sehemu katika uteuzi, kusitisha, kughairi na mtumiaji kuchukua udhibiti. Ikiwa haiwezi kuthibitisha kama kitendo cha kuwasilisha kimefanikiwa, hakitakirudia kiotomatiki, ili kupunguza hatari ya uwasilishaji wa marudio.
Ukaguzi wa matokeo na usalama
mfumo hukagua utambulisho, idhini na wigo kabla ya operesheni, na hukagua thamani halisi au hali ya ukurasa baada ya operesheni. Matumizi ya modeli na sababu za kushindwa hurekodiwa kando, ili kurahisisha kutofautisha matatizo ya gharama na matatizo ya utekelezaji.
Mazingira ya uendeshaji na masharti ya awali
Mradi unalenga mazingira yafuatayo:
Windows x64
Python 3.12
Node.js
Eneo-kazi shirikishi kwa ajili ya uendeshaji wa asili wa GUI
Ili kutumia njia ya Chrome, API ya kipindi rasmi cha kivinjari inayooana na kutolewa na mwenyeji wa Codex pia inahitajika
Inapendekezwa kusakinisha mradi kwenye C:\jev\jev-bridge. Baadhi ya amri za zamani na mifano ya Codex skill hutumia eneo hili kwa chaguo-msingi. Ukichagua saraka nyingine, unahitaji kusasisha mifano na usanidi unaohusiana.
Kusakinisha mradi
Hatua ya kwanza: Klonga hazina na kuunda mazingira pepe
git clone https://github.com/YUTA-fywoo/jev-gui-delegate.git C:\jev\jev-bridge
cd C:\jev\jev-bridge
py -3.12 -m venv .venvHatua ya pili: Kusakinisha vitegemezi vilivyofungwa
.\.venv\Scripts\python.exe -m pip install --require-hashes -r requirements.lock--require-hashes husakinisha vitegemezi kwa kutumia heshi zilizo kwenye faili la kufunga, jambo linalosaidia kuhakikisha kuwa maudhui yaliyosakinishwa yanafanana na kumbukumbu ya mradi. Saraka ya vitegemezi vya wahusika wengine haijawekwa wazi pamoja na hazina; inapaswa kusakinishwa kutoka kwenye njia ya awali ya usambazaji.
Hatua ya tatu: Kuandaa wakati wa utekelezaji
.\.venv\Scripts\python.exe scripts/setup-runtime.pyHatua ya nne: Kuendesha majaribio ya nje ya mtandao
.\.venv\Scripts\python.exe -m unittest discover -s gui_delegate/tests -p "test_*.py"Majaribio haya yanashughulikia kidhibiti, mtiririko wa urejeshaji na hali za mipaka. Urejeshaji wa nje ya mtandao hutumia data sintetiki na vibadala vinavyodhibitiwa; si sawa na uendeshaji wa GUI wa moja kwa moja, wala haujifanyi kuwa maombi ya Jev ya wakati halisi. Kwa matokeo kamili zaidi, rejelea waraka wa uthibitishaji wa toleo ulio kwenye hazina.
Kusanidi ufunguo wa Jev
Ufunguo unaweza kutolewa kupitia kigezo cha mazingira cha kompyuta hii TYPESAFE_API_KEY au Windows Credential Manager. Mradi unapendekeza kutumia dirisha la ndani la ingizo linalofunguliwa na set-key.cmd kuusanidi.
set-key.cmdUsiweke ufunguo kwenye hazina ya Git, mkataba wa kazi au maudhui ya mazungumzo. chrome-runtime.json inayozalishwa na kisakinishi kwenye kompyuta hii imepuuzwa; hazina haitabeba njia za mazingira kutoka kwenye mashine ya mwandishi wa awali.
Kusajili kwenye Codex
Unapohitaji kuunganisha mradi kwenye Codex, endesha hati zifuatazo za usakinishaji ndani ya saraka ya mradi:
install.cmd
gui-install.cmdKisakinishi hubadilisha usanidi wa MCP, skill na uelekezaji wa kiwango cha mtumiaji, huku kikihifadhi nakala rudufu na kukagua migongano. Ikiwa saraka yenye jina hilo tayari ipo kwenye mashine, kwanza kagua matumizi yake; kisakinishi hakitafunika moja kwa moja mradi unaotumiwa na mashine hii.
Codex skill binafsi inayoweza kusakinishwa iko kwenye gui_delegate/skill/SKILL.md. Ikiwa mradi haujasakinishwa kwenye saraka ya chaguo-msingi, unapaswa pia kukagua mifano inayohusisha njia.
Matumizi ya msingi na uthibitishaji
Kukagua hali ya utayari wa ndani
Baada ya usakinishaji unaweza kuendesha:
health.cmdhealth.cmd hukagua tu ikiwa vipengele viko tayari; haimaanishi kuwa uthibitishaji wa Jev wa wakati halisi umefanyika, wala haimaanishi kuwa mashine ya sasa imepitisha kukubalika katika hali halisi ya GUI.
Kuendesha uthibitishaji wa wakati halisi
Mtiririko wa uthibitishaji wa wakati halisi unaotolewa na mradi, kama verify.cmd, huita huduma ya Jev:
verify.cmdKabla ya kuendesha, thibitisha kuwa ufunguo umesanidiwa ipasavyo, na tofautisha matokeo ya urejeshaji wa nje ya mtandao na matokeo ya huduma ya wakati halisi. README haichukulii kauli ya “imethibitishwa kwenye mashine hii” kutoka katika mazingira ya zamani ya uendelezaji kuwa hitimisho ambalo kila msakinishaji anaweza kurithi moja kwa moja.
Kuunda kazi inayofaa kukabidhiwa
Mfano huu wa awali unafaa kwa operesheni za GUI zenye mipaka wazi, hatua zinazoweza kuwekwa kikomo na matokeo yanayoweza kukaguliwa. Unapokabidhi kazi kwa kidhibiti, angalau mambo yafuatayo yanapaswa kubainishwa:
Lengo: Ni hali gani ya mwisho inayohitajika kufikiwa.
Wigo: Ni kurasa, madirisha au vitu gani vinavyoruhusiwa kuendeshwa.
Vitendo vinavyoruhusiwa: Ni aina gani za mwingiliano ambazo kidhibiti kinaweza kutekeleza.
Ingizo: Data inayohitajika na kuruhusiwa kutumiwa kutekeleza kazi.
Hatua: Awamu za vitendo zinazoweza kutekelezwa mfululizo.
Masharti ya mafanikio: Thamani halisi au hali ya ukurasa inayopaswa kuonekana baada ya kukamilika.
Kwa mfano, kazi inaweza kuhitaji kidhibiti kitafute kidhibiti lengwa ndani ya wigo maalum wa ukurasa, kijaze ingizo lililoidhinishwa, na kuthibitisha matokeo kupitia hali ya ukurasa. Sehemu mahususi za mkataba na modeli ya matokeo zinapaswa kufuata utekelezaji ulio kwenye gui_delegate/schema.py; usidhanie muundo ambao README haijafafanua.
Njia ya kusoma msimbo wa chanzo
Ikiwa unahitaji kuelewa utaratibu wa utekelezaji au kufanya uendelezaji zaidi, soma kwa mpangilio ufuatao:
gui_delegate/schema.py: Elewa mkataba wa kazi, hali na modeli ya matokeo.gui_delegate/controller.py: Angalia jinsi kidhibiti kinavyopanga mzunguko wa utekelezaji.gui_delegate/drivers.py: Elewa viendeshi na uchunguzi wa kiolesura uliopangwa.gui_delegate/security.py: Kagua wigo, idhini na ukaguzi wa ingizo.gui_delegate/chrome_gateway.mjs: Elewa kiingilio cha kipindi rasmi cha kivinjari.jev_client.py: Angalia ufungaji wa Jev SDK, ukaguzi wa toleo na rekodi za matumizi.gui_delegate/tests: Elewa mantiki ya urejeshaji na tabia za mipaka kupitia majaribio.
Mapendekezo ya matumizi ya juu
Tanguliza ulinganishaji bainifu
Ikiwa kidhibiti kinaweza kutambuliwa kupitia sifa thabiti au maelezo yaliyopangwa, pendelea msimbo wa ndani ukilinganishe. Mwite Jev tu inapohitajika uamuzi wa kimaana; hii inafuata muundo wa mradi na hurahisisha kurekodi kwa usahihi matumizi ya modeli.
Weka matokeo yanayoweza kuonekana kwa kila hatua
Usifafanue vitendo kama “bofya kitufe” pekee; pia fafanua thamani, hali ya kidhibiti au mabadiliko ya ukurasa yanayotarajiwa baada ya kubofya. Mradi unasisitiza kukagua matokeo halisi, badala ya kuhesabu mafanikio ya kuita zana moja kwa moja kama mafanikio ya kazi.
Shughulikia kwa tahadhari vitendo vya kuwasilisha
Ikiwa matokeo baada ya kuwasilisha hayako wazi, usidhanie kuwa kumeshindikana na kurudia operesheni kiotomatiki. Mradi huu huepuka wazi kurudia kiotomatiki uwasilishaji wakati matokeo hayajulikani. Katika hali kama hiyo, ni bora kusitisha, kuhifadhi maendeleo na kumwachia mtumiaji au modeli kuu uthibitishaji.
Tenganisha ingizo lililokosekana na hitilafu ya uteuzi
Ingizo muhimu linapokosekana, liongeze kisha endelea; ni pale tu ambapo kuna hitilafu ya sehemu katika uteuzi wa kimaana ndipo uteuzi huo unapaswa kurekebishwa. Hii huepuka kuendesha kazi upya kutoka mwanzo na huhifadhi maendeleo ambayo tayari yamethibitishwa.
Thibitisha tena baada ya kusasisha toleo la Jev
settings.json ya sasa imeweka jev-1.13.0 iliyotumika katika majaribio ya kihistoria. Toleo la upande wa huduma linapobadilika, linapaswa kukaguliwa tena na usanidi usasishwe; matokeo ya majaribio ya toleo la zamani hayawezi kuchukuliwa kuwa hakikisho la ubora wa toleo jipya. Mikakati ya mifano pia haimaanishi kuwa mashine ya sasa imekamilisha urekebishaji.
Kuelewa kwa usahihi majaribio ya kipimo
README inarekodi majaribio mawili ya kazi sintetiki yaliyofanywa tarehe 2026-09-23. Kila mzunguko ulikuwa na kazi 4 zilezile na vitendo 24, na makundi yote mawili yalikamilisha 4/4.
Katika mzunguko wa kwanza, tokeni za Astra zilipungua kutoka 2,266,693 hadi 236,295, punguzo la 89.6%, huku kasi ya kazi kutoka mwanzo hadi mwisho ikiwa mara 3.05 ya msingi.
Katika mzunguko wa pili, tokeni za Astra zilipungua kutoka 2,256,091 hadi 192,752, punguzo la 91.5%, huku kasi ya kazi kutoka mwanzo hadi mwisho ikiwa mara 3.53 ya msingi.
Tokeni za Astra hapa zinajumuisha ingizo lililohifadhiwa kwenye akiba; matumizi ya ziada ya Jev yanahesabiwa kando. Mizunguko yote miwili ilirudia kazi hizo nne zilezile, kwa hiyo haiwakilishi hali nane huru; nambari hizi pia si uwiano wa akiba ya bili, wala hazithibitishi kuwa kila programu, kazi yoyote au mazingira ya uwekaji yatapata matokeo sawa. Matokeo ya tokeni zisizo za akiba ya toleo la awali lenye kazi tatu hayakuboreshwa; kwa wigo wa kina, tazama maelezo ya majaribio.
Vikwazo vinavyojulikana
Mfano wa awali unategemea DOM au maelezo ya ufikivu yanayoweza kusomwa.
Canvas, uelewa wa picha, eneo-kazi salama na baadhi ya vidhibiti vinavyovuka mifumo huenda visishughulikiwe moja kwa moja.
Vipengele ambavyo mwenyeji hajafungua vinaweza kuhitaji modeli kuu ivishughulikie.
Njia ya Chrome haiwezi kujiendesha bila kipindi rasmi cha mwenyeji kinachooana.
Rekodi za uthibitishaji wa mashine za zamani si sawa na mazingira mapya ya usakinishaji kupita kukubalika.
Kumbukumbu za uendeshaji, usanidi wa kivinjari, funguo, nyenzo za kazi binafsi, hali ya usakinishaji wa mashine na vifurushi vya kurejesha havijawekwa wazi.
Hitimisho
Jev GUI Delegate hutenganisha vitendo vya GUI vinavyoweza kukubaliwa kutoka kwenye mzunguko wa hatua kwa hatua wa modeli kuu, na kuvipa kidhibiti cha ndani kitimize ulinganishaji bainifu, uteuzi wa kimaana inapohitajika, uthibitishaji wa hali na urejeshaji wa hitilafu. Wakati wa usakinishaji, kwanza kamilisha vitegemezi vilivyofungwa, usanidi wa wakati wa utekelezaji na majaribio ya nje ya mtandao, kisha sanidi ufunguo na uunganishe kwenye Codex. Katika matumizi halisi, wigo wa kazi ulio wazi, masharti ya mafanikio yanayoweza kuonekana, mkakati wa tahadhari wa urejeshaji wa uwasilishaji na uthibitishaji upya baada ya mabadiliko ya toleo ni muhimu kwa kupata matokeo ya kuaminika.
Jifunze zaidi kuhusu vipengele vya msingi kwa kutembelea nyaraka za TypeSafe, MCP Python SDK na pywinauto.
