nessie

Eżekuturi remoti

Agħti lill-aġent kompjuter reali biex jaħdem fuqu, fuq Linux, macOS jew Windows.

X’inhu executor remot

Aġent f’Nessie m’għandux kompjuter. Jista’ jaqra dak li hemm f’Nessie, jitkellem man-nies u jsejjaħ għodod konnessi permezz tan-netwerk, imma ma jistax jiftaħ fajl fuq laptop, iħaddem kmand, jew iħares lejn paġna li teżisti biss wara l-login ta’ xi ħadd. Executor remot huwa l-mod kif tagħti lill-aġent magna fejn jaħdem.

Executor huwa daemon żgħir installat fuq kompjuter taħt il-kontroll tiegħek. Jgħaqqad ruħu ma’ l-istanza tiegħek ta’ Nessie, juri liema magna hi b’ċavetta li qatt ma titlaq mill-host, u mbagħad joffri sett fiss u msemmi ta’ operazzjonijiet — xejn aktar. Ix-xogħol jasal bħala kmandi individwali ffirmati; ir-riżultati jirritornaw bħala riċevuti strutturati u limitati. Il-magna qatt ma taċċetta konnessjoni dieħla minn Nessie.

Jiswa li nkunu preċiżi dwar dak li executor mhuwiex, għax ħafna għodod ta’ aċċess remot huma xi wieħed minn dawn it-tipi, u executor huwa intenzjonalment mhux wieħed minnhom. M’hemm l-ebda SSH, l-ebda shell remot ambjentali, l-ebda tgħaqqid ma’ multiplexer tat-terminal li diġà għandek miftuħ, l-ebda input standard mill-cloud u l-ebda proxy ġenerali tan-netwerk lokali. Mhuwiex MCP server, u lanqas container jew ambjent ta’ eżekuzzjoni fuq il-cloud — Nessie diġà għandu dawk, u huma affarijiet differenti. Executor huwa endpoint li jġorr kapaċità tiegħu stess, b’lista magħluqa ta’ operazzjonijiet, u dik il-lista hija l-wiċċ kollu tiegħu.

Lil min jappartjeni executor

Kull executor jinħoloq b’ambitu wieħed biss, u dak l-ambitu ma jistax jinbidel wara. Jiddeċiedi min jista’ jħaddmu u min jimmaniġġjah.

AmbituMin jista’ jħaddmuMin jimmaniġġja l-aċċess
PrivatIl-persuna li titlob u l-aġent eżatt li jitħaddem iridu it-tnejn ikunu msemmija bħala assenjati. Wieħed waħdu ma jkunx biżżejjed.Amministratur uman assenjat. L-aġenti jistgħu jużaw executor privat biss, qatt ma jimmaniġġjawh.
ProġettPersuna b’dritt fuq dak il-proġett eżatt, u biss minn run f’dak il-proġett.Maniġer tal-organizzazzjoni, jew sid jew amministratur tal-proġett.
OrganizzazzjoniPersuna b’dritt fl-organizzazzjoni.Maniġer tal-organizzazzjoni.

Executor privat dejjem irid ikollu mill-inqas amministratur uman attiv wieħed. Li tneħħi lill-aħħar wieħed direttament jfalli; jekk tranżazzjoni li tneħħi persuna tħalli lil ebda wieħed, l-executor jieqaf jaċċetta xogħol ġdid, jispiċċa x-xogħol li għandu, u jirrevoka lilu nnifsu. Sid tal-organizzazzjoni għandu triq ta’ emerġenza li tirrevoka biss, li ttemm executor li ma jimmaniġġjahx, mingħajr ma juriha l-lista privata tiegħu, is-sessjonijiet jew il-kontenut tiegħu — l-aċċess privat qatt ma jiġi trasferit bil-moħbi lil xi ħadd ieħor.

X’jista’ verament jagħmel aġent b’wieħed

Il-vokabolarju tal-operazzjonijiet huwa fiss fil-kodiċi, mhux konfigurat għal kull installazzjoni. Jinqasam f’żewġ partijiet, u din id-diviżjoni tiddeċiedi x’trid tinstalla: xi operazzjonijiet id-daemon iservihom mid-direttorju scratch tiegħu stess mingħajr ebda magna virtwali, u l-bqija jeħtieġu magna virtwali tal-gwest fuq il-host, għal kull sessjoni.

OperazzjoniX’jagħmelVM tal-gwest
file.list, file.readJelenka u jaqra fajls taħt l-għerq wieħed tax-xogħol magħżul meta jsir il-pairing.Le
file.writeJikteb f’abbozz copy-on-write ta’ dak l-ispazju tax-xogħol. Qatt ma jiftaħ l-għerq reali għall-kitba.Le
workspace.reviewJirrapporta x’bidel l-abbozz — sa 100 path relattiv, b’tip u numru ta’ bytes, flimkien ma’ digest tal-manifest. Ma fih l-ebda kontenut tal-fajls.Le
sandbox.stopJtemm is-sessjoni li r-run jippossjedi.Le
command.runIħaddem kmand wieħed bħala vettur ta’ argumenti mingħajr shell, f’gwest mingħajr egress. Fil-mogħdija kollha ma hemm l-ebda string ta’ shell.Iva
browser.open, browser.observe, browser.actIħaddem browser ġewwa l-gwest kontra lista ta’ origini kkonfigurata fuq il-magna. L-osservazzjoni tagħti siġra tal-aċċessibbiltà limitata u, jekk trid, stampa żgħira mnaqqsa. L-azzjonijiet huma tmur, ikklikkja, ikteb, agħfas u iskrolla, fuq node li l-aġent għadu kemm osserva — qatt mhux selector, koordinata jew skrittura.Iva
coding.launch, coding.observeJibda sessjoni ġestita ta’ Codex ġewwa l-gwest u jaqra lura l-istat tipizzat taċ-ċiklu tal-ħajja. M’hemm l-ebda attach tat-terminal u l-ebda kanal ta’ prompt: l-aġent jitgħallem jekk is-sessjoni qed taħdem, mhux x’hemm fuq l-iskrin tagħha.Iva
workspace.promoteJapplika abbozz eżaminat fuq l-ispazju tax-xogħol reali. Din hija l-unika operazzjoni li tikteb fuq il-host, u b’intenzjoni ma tingħatax lill-mudelli xejn.Le

L-operazzjonijiet li ma jeħtiġux gwest huma l-workspace bundle. Host li ma jistax jibda gwest mhuwiex executor maħsur: jagħmel pairing normalment, jirrapporta l-backend tal-isandbox tiegħu bħala none, u janunzja l-workspace bundle u xejn aktar. Dik hija l-kundizzjoni li fiha jispiċċaw edizzjoni ta’ Windows mingħajr Hyper-V, jew magna Linux li l-utent tagħha ma jistax juża /dev/kvm, u l-interfaċċa tgħidha b’isimha minflok ma tfalli b’mod li ma jinftehimx.

Ix-xogħol tal-browser qatt ma jibda mill-aġent waħdu. Ir-rotta ordinarja tal-binding ta’ operazzjoni waħda tirrifjuta browser.open u browser.observe direttament; run tal-browser jitnieda minn persuna minn kanal, bħala bundle ta’ erba’ operazzjonijiet fuq run ġdid, u ma jistax jiżdied ebda binding ieħor warajh. Is-sessjonijiet ġestiti tal-kodiċi jaħdmu bl-istess mod.

Żewġ gruppi oħra jeżistu fil-kodiċi u huma intenzjonalment mhux disponibbli. L-operazzjonijiet biex jinżamm tab tal-Chrome li diġà daħħalt fih għandhom implimentazzjoni lokali kompluta u estensjoni ta’ native-messaging, imma l-control plane jirrifjuta li jirrapportahom sakemm is-server ma jkunx jista’ jipprova li l-konverżazzjoni li ġabethom kienet privata u jirrekordja min żvela x’. Il-pedament huwa intenzjonalment inattiv, u l-estensjoni ma tiġix mibgħuta f’ebda wieħed mill-installers. Diversi operazzjonijiet tal-kodiċi — attach, prompt, interrupt u close — huma msemmija fl-iskema imma ma għandhomx implimentazzjoni, u għalhekk ma jistgħux jingħataw.

Kif jaħdem

Il-konnessjoni dejjem ħarġa

Id-daemon jagħmel konnessjonijiet HTTPS u WSS ħargin lejn l-API ta’ Nessie tiegħek u lil xejn aktar. Nessie qatt ma jsejjaħ laptop, qatt ma jżomm indirizz għal wieħed, u qatt ma jqis endpoint tal-katalgu bħala transport tal-magna. Għalhekk executor jaħdem minn netwerk domestiku, wara NAT, fuq VPN korporattiv, mingħajr port forward u mingħajr regola ta’ firewall dieħla — u għalhekk li twaqqaf id-daemon huwa diskonnessjoni sħiħa u immedjata.

L-origini tal-API trid tkun HTTPS. L-unika eċċezzjoni hija indirizz loopback għal nies li jħaddmu Nessie fuq il-magna tagħhom stess, permezz ta’ varjabbli tal-ambjent tiegħu; l-ebda flag ordinarju ma jbiddel origini tal-produzzjoni f’HTTP sempliċi.

Il-pairing jipprova magna, u persuna tikkonferma

Il-pairing huwa prova b’żewġ naħat. Persuna awtorizzata toħloq l-executor f’Nessie bl-ambitu tiegħu, u Nessie joħroġ reġistrazzjoni: sfida każwali ta’ 256-bit li minnha jaħżen biss verifier SHA-256, valida għal għaxar minuti u tintuża darba biss.

Fuq il-magna, id-daemon jiġġenera pari ta’ ċwievet Ed25519, jaħżnu f’ħażna protetta mis-sistema operattiva li s-sid biss jista’ jaqra, u jikteb it-talba ffirmata eżatta fuq id-diska qabel ma jagħmel ebda talba tan-netwerk — hekk tista’ tiġi rittentata talba mitlufa bl-istess ċavetta ppreparata, minflok ma jagħmel pairing darbtejn mingħajr ma wieħed jaf. Imbagħad jibgħat l-ID tar-reġistrazzjoni, is-sfida, iċ-ċavetta pubblika tiegħu u firma ta’ prova. Nessie jaħżen iċ-ċavetta pubblika u l-fingerprint tagħha. Qatt ma jaħżen iċ-ċavetta privata.

Nessie imbagħad juri l-fingerprint lil persuna, li tikkonfermaha. Sakemm dik il-konferma u prova sussegwenti tal-pussess ma jsirux, l-executor jibqa’ offline. Il-pairing qatt ma jista’ jitlesta minn test ta’ chat jew minn transkript tat-terminal: jeħtieġ azzjoni umana deliberata fl-interfaċċa tal-web jew tad-desktop.

Magna li titlef iċ-ċavetta tagħha ma tistax terġa’ ssib ir-rekord tal-executor tagħha. Dan jiġi rrevokat u reġistrat mill-ġdid bħala executor ġdid. Min-naħa l-oħra, ir-rotazzjoni taċ-ċwievet hija tranżazzjoni waħda ffirmata miż-żewġ ċwievet, dik qadima u dik l-ġdida.

Id-deskrittur huwa l-pretensjoni ffirmata tal-magna dwar nifisha

Daemon ippairjat jippubblika deskrittur: stqarrija ffirmata b’reviżjoni li dejjem tiżdied, dwar fatti strutturali biss — liema skemi ta’ operazzjonijiet jappoġġja, il-limiti tar-riżorsi u tan-netwerk tiegħu, il-pjattaforma tiegħu u digest tal-politika lokali tiegħu. Ma fih l-ebda path tal-host u ma joħloq l-ebda awtorità fuq il-cloud.

Reviżjoni ġdida qatt ma tiġi attivata malli tasal. Tinħażen b’mod pendenti, u persuna awtorizzata trid tarahha u tikkonfermaha qabel ma tkun tista’ taffettwa x’hu disponibbli. Dan hu dak li jwaqqaf aġġornament tal-kapaċità milli jagħti b’mod sigriet poteri ġodda: operazzjoni ġdida li tiġi annunzjata tibda miċħuda.

Għandu jkun ċar dwar x’tipprova l-firma. Deskrittur iffirmat minn ċavetta ta’ executor ippairjat jipprova li dik iċ-ċavetta għamlet il-pretensjoni. Ma jipprovax li l-host mhuwiex kompromess, u l-interfaċċa trid tgħid dan.

Dispatch: kandidat, binding, kmand, riċevuta

Aġent qatt ma jagħżel executor. Qabel ma run jista’ jużah, Nessie jittraduċi l-operazzjoni loġika f’kandidat tad-disponibbiltà opaku u qasir fiż-żmien. Ir-risposta ma fihiex ID tal-executor; id-database iżżomm biss digest tal-handle flimkien ma’ min u għal xiex intalab. Il-mudelli u l-klijenti jirċievu handle, mhux magna li tista’ tintgħażel.

Id-disponibbiltà hija resolver wieħed, użat b’mod identiku mill-API, mill-worker, mill-UI u mill-assistent:

available(operation, human, agent, immutableRunContext) =
  human may discover executor
  ∩ exact executor-agent-operation grant allows operation
  ∩ stable logical tool grant allows operation
  ∩ scope matches immutable run context
  ∩ executor is online and descriptor is approved
  ∩ local policy permits operation

Il-konsum tal-kandidat joħloq binding taħt lock tad-database li jerġa’ jiċċekkja kull wieħed minn dawk il-kontrolli darba oħra u jgħolli fence monotoniku. Id-dispatch jerġa’ jiċċekkjahom. Konsegwenza: permess mneħħi, politika mnaqqsa jew executor irrevokat bejn żewġ passi jwaqqfu x-xogħol minflok ma jiġu nnotati wara — u retry qatt ma jista’ jaslu fuq magna differenti minn dik li r-run kien marbut magħha.

Il-kmand innifsu jgħaddi permezz tal-job ordinarju tal-kju ta’ Nessie u taċ-ċiklu tat-talba għall-għodda, mhux permezz ta’ kju ieħor tiegħu. Id-daemon jistaqsi għax-xogħol permezz tal-kanal tal-kontroll awtentikat tiegħu; qatt ma jiġi mbuttat lilu. Kmand jgħaddi minn erba’ riċevuti u ebda oħra:

leased → accepted → started → result-acknowledged

Kull frame jorbot l-ID tal-kmand, il-provenjenza tar-run, il-fence tal-binding, ir-reviżjoni tal-kapaċità, skadenza, ċavetta tal-idempotenza u digests tal-argumenti u tal-payload. Id-daemon jirrifjuta kull nuqqas ta’ tqabbil, politika skaduta, replay, jew tieni riżultat għal kmand li diġà temm. L-argumenti u r-riżultati terminali jiġu kriptati b’AES-256-GCM fil-ħażna; id-database iżżomm ciphertext limitat u digests kanoniċi, mhux il-kontenut.

Jekk ir-rikonoxximent jintilef, Nessie ma jassumix li rnexxa. Il-kmand jiġi rrekordjat bħala riżultat mhux magħruf u r-run isegwi t-triq normali tal-irkupru; id-daemon, li jikteb f’ġurnal kull kmand kkonsenjat lokalment qabel jibda x-xogħol, ma jerġax jagħmel l-effett kollaterali. Riċevuta tardiva tista’ xorta tissolvi l-ambigwità b’mod onest.

Il-fruntiera tal-fiduċja

PrinċipalJista’Ma jistax
PersunaTippairja executor, timmaniġġjah meta jkollha dritt, tikkonferma aċċess u bidliet fil-politika.Twessa’ politika li l-magna nnifisha tiċħad, jew taġixxi mingħajr dritt attwali.
Aġent, inkluż l-assistent personaliIħaddem operazzjoni diġà disponibbli għalih; jipprepara bidla proposta fl-aċċess għall-persuna li talbet.Jimmaniġġja l-aċċess, japprova lilu nnifsu, jagħżel magna, jibdel il-politika lokali jew japplika bidla li hu ppreparha.
Il-pjan tal-kontroll ta’ NessieJirrisolvi d-disponibbiltà, jorbot run, jikri kmandi, iżomm fatti ta’ awditu mnaqqsa.Jikkonnettja mal-magna, iwessa’ l-politika lokali, jilħaq kredenzjali tal-host, jew iqis test terminali bħala awtorizzazzjoni jew riżultat.
Id-daemon tal-executorJinforza politika lokali, jagħmel pairing ħarġa, jaħdem il-gwest u l-gateway, jirrikonoxxi kmandi.Jespandi l-ambitu tiegħu, jaċċetta xogħol skadut jew ripetut, jesponi l-ispazju tax-xogħol tal-host jew il-kredenzjali direttament, jew jibgħat dejta lokali mhux maħdumha fil-trail tal-awditu.
Il-VM tal-gwest u l-għodod ġewwiehaJaħdmu f’sandbox copy-on-write, u jilħqu n-netwerk biss permezz tal-gateway.Jilħqu fajls tal-host, kredenzjali tal-host, netwerk jew DNS dirett, jew japplikaw bidla fuq il-host.

L-installazzjoni u l-pairing ta’ executor

Installa s-CLI tal-Mac bl-Homebrew, l-apps tal-Mac bil-Homebrew casks, is-CLI tal-Linux permezz ta’ APT jew DNF, jew l-executor tal-Windows permezz ta’ WinGet. Kull tim ippairjat għandu permessi separati maħżuna fuq il-kompjuter. Nessie jikkontrolla l-aċċess fi ħdan it-tim; ma jistax ibiddel ir-riżorsi lokali.

Il-gwida għall-installazzjoni u l-pairing fiha l-kmandi eżatti, il-fluss tal-kodiċi ta’ tmien ċifri fiż-żewġ naħat, is-settings lokali, il-bidu, l-aġġornamenti u t-tneħħija.

Kemm kull pjattaforma ġiet ippruvata verament

L-istat tat-tliet sandboxes tal-gwest jiddifferixxi, u d-differenza hija sostanzjali. macOS huwa l-backend bi triq tal-gwest li taħdem u ġiet ittestjata. Il-backend Firecracker fuq Linux u l-backend Hyper-V fuq Windows huma implimentati u koperti minn testijiet fuq il-host — is-sekwenza tat-tnedija, l-immaġini tad-disk, it-transport tal-kontroll u tal-egress, il-protokoll tad-draft — imma l-ebda gwest għadu ma tnieda fuq hardware reali fl-integrazzjoni kontinwa tal-proġett, għax dan jeħtieġ magna b’KVM jew Hyper-V, u l-jobs li kienu jippruvawh qatt ma kellhom waħda. Il-workspace bundle, li ma jeħtieġx gwest, huwa ttestjat minn tarf sa tarf fuq Windows kontra loop ta’ kontroll reali. L-operazzjonijiet ibbażati fuq il-gwest fuq Linux u Windows għandhom jitqiesu bħala mhux ippruvati sakemm ma jiġux ippruvati fuq il-hardware tal-utent stess. L-interfaċċa tal-pairing f’Nessie tgħid l-istess ħaġa bil-kliem tagħha.

Is-sigurtà u l-kontenment

Għerq wieħed tax-xogħol, u l-path tiegħu jibqa’ fuq il-magna

Il-pairing jagħżel għerq wieħed tax-xogħol kanoniku: direttorju wieħed, mhux settijiet ta’ folders, u qatt mhux l-antenat komuni l-eqreb tagħhom. Nessie jiġi mgħarraf bl-isem bażi tal-għerq, sabiex persuna tkun tista’ tagħraf il-fruntiera fl-interfaċċa; il-path sħiħ jibqa’ fl-istat tal-magna li s-sid biss jista’ jaqra, u qatt ma jitgħabba. L-għerq jista’ jinbidel, imma biss wara li jitneħħew l-abbozzi u s-sandboxes lokali kollha, u dan jipproduċi reviżjoni ġdida tad-deskrittur li tgħaddi mill-istess eżami uman bħal kull bidla fil-politika. Qatt ma jista’ jitwessa’ b’mod sigriet għal ġenitur.

L-operazzjonijiet fuq fajls jaċċettaw biss path relattivi. Jiċħdu traversal u kull komponent ta’ symbolic link, jerġgħu jiċċekkjaw li l-għerq konfigurat għadu direttorju ordinarju, u jirritornaw riżultati strutturati limitati li ma fihom l-ebda path tal-host.

Il-kitba tmur f’kopja, u persuna biss tapplikaha

Aġent qatt ma jikteb fuq fajls tiegħek. file.write joħloq siġra copy-on-write limitata taħt id-direttorju tal-istat tad-daemon, imsemmija għar-run, u l-qari u l-listings sussegwenti għal dak ir-run jaraw l-abbozz. Ix-xogħol ġewwa l-gwest, inklużi s-sessjonijiet tal-kodiċi, juża l-istess scratch copy-on-write.

L-applikazzjoni ta’ abbozz fuq l-ispazju tax-xogħol reali hija operazzjoni waħda — workspace.promote — u hija l-unika kitba fuq il-host fis-sistema. M’għandha l-ebda schema li tidher lill-mudelli: l-ebda aġent, l-ebda assistent u l-ebda path mogħti mill-chiamant ma jistgħu jibdlu abbozz f’kitba fuq il-host. Minflok, persuna tiftaħ L-abbozzi eżaminati tiegħek, tagħfas Eżamina l-applikazzjoni u tikkonferma bil-password attwali tagħha. Is-server imbagħad jerġa’ jiċċekkja d-digest tar-reviżjoni rikonoxxut, id-digest tal-manifest, ir-run, l-utent u l-aġent oriġinali, ir-reviżjoni tal-awtorizzazzjoni, il-permess tal-operazzjoni u l-politika lokali attiva qabel ma joħloq il-kmand. Fuq il-magna, id-daemon jibni mill-ġdid il-manifest innifsu u jirrifjuta digest li nbidel — hekk ebda editjar wara r-reviżjoni ma jista’ jgħaddi ġewwa bl-approvazzjoni tar-reviżjoni.

L-applikazzjoni stess hija bbażata fuq id-deskrittur u miktuba f’ġurnal. L-għodda native tirċievi l-għerq tax-xogħol u l-abbozz bħala direttorji miftuħa diġà bħala deskrittur tal-fajl, mhux bħala paths; tivvalida kull komponent b’operazzjonijiet no-follow, tirrifjuta symbolic links, hard links, fajls speċjali u attraversar ta’ mount, u żżomm ġurnal ta’ kollox-jew-rkupru sabiex crash jew jlesti l-manifest ivvalidat jew jerġa’ jrestawra l-oriġinali qabel ma jaħdem xi ħaġa oħra.

Il-gwest m’għandux netwerk, u l-egress huwa sfurzat

Meta operazzjoni jkollha bżonn gwest, huwa mikro-VM tal-Linux għal kull sessjoni, bla home tal-host, bla socket ta’ Docker, bla SSH agent, bla environment ereditat u bla mount tal-host ħlief il-qsim tax-xogħol. Il-mount tar-runtime eżekutabbli huwa read-only; il-mount tax-xogħol li jinkiteb jipprojbixxi l-eżekuzzjoni, għalhekk kull ma jaħdem ġej mill-payload tar-runtime verifikat u mhux minn xi ħaġa li aġent kiteb. Il-gwest jitnaqqas għal identità mhux privileġġjata qabel ma jiftaħ kwalunkwe socket, u qsim li jappartjeni lill-root iwaqqaf il-boot minflok ma jħalli xogħol privileġġjat jaħdem.

L-iktar importanti: il-gwest m’għandux interface tan-netwerk. Fuq Linux, is-sekwenza tat-tnedija qatt ma tikkonfigurah deliberatament u ebda TAP device ma jinħoloq; fuq Windows, l-adapter virtwali tan-netwerk li Hyper-V iżid b’default jitneħħa waqt is-setup. L-unika triq tal-gwest ’il barra mill-magna hija loopback proxy ġewwa l-gwest, imħaddma fuq socket virtwali għal bridge fuq il-host, li jagħti l-bytes lill-gateway tad-daemon innifsu — listener ta’ socket lokali li s-sid biss jista’ juża, bla listener TCP u bla mod ta’ forwarding ġenerali. Dak il-gateway huwa fejn tiġi infurzata l-politika tal-HTTP, CONNECT, WebSocket, redirect, origin, download u upload, bl-użu tal-magni pinned-fetch eżistenti ta’ Nessie minflok tieni implimentazzjoni tal-istess regoli. M’hemm l-ebda bridge tal-NAT u l-ebda resolver DNS dirett: DNS alternattiv, TCP raw, QUIC u bypass tal-proxy kollha miċħuda.

Il-lista ta’ origini li dak il-gateway jinforza hija kkonfigurata fuq il-magna, mis-sid tagħha, u b’intenzjoni qatt ma titgħabba. L-interfaċċa tgħid dik in-nuqqas bħala li ma tippretendix li Nessie huwa editur tal-politika tal-origini: biex tkun taf x’jista’ jilħaq executor tal-browser, staqsu lill-persuna li tippossjedi l-magna.

Kredenzjali

L-ebda ħażna ta’ kredenzjali tal-host qatt ma titgħabba fil-gwest. La l-keychain, la ~/.codex jew ~/.claude, la token globali tas-CLI, u lanqas environment variable li jgħabbi ċavetta API. L-unika login appoġġjat għal sessjoni ġestita tal-kodiċi huwa fajl ta’ awtentikazzjoni privat għas-sid, li l-kontenut tiegħu jinqara biss mill-bennej tal-initrd li jikkontrolla s-sid — qatt mhux minn Nessie, mid-deskrittur, minn log jew minn argument ta’ kmand — u jitqiegħed darba f’dar privata ġewwa l-gwest, li tinqered mal-VM. Dak il-gwest jista’ jilħaq eżattament origini waħda.

L-executor tal-browser huwa aktar strett: kull sessjoni tingħata profil privat frisk tal-browser u tirrifjuta wieħed ippreparat mill-ispazju tax-xogħol, għalhekk jibda mingħajr cookies, mingħajr estensjonijiet u mingħajr stat ta’ login ambjentali.

Dejta lokali raw tista’ tilħaq fornitur tal-mudell biss ġewwa run espliċitu u limitat. Dak li Nessie jżomm huma manifests imnaqqsin, digests tal-argumenti u tal-politika, digests tar-riżultati u stat strutturat. Il-kontenut tal-fajls, l-output tat-terminal, id-DOM tal-browser, il-kredenzjali u l-fatturi tal-awtentikazzjoni huma pprojbiti mir-rekords tad-database, mid-dħul tal-awditu, mil-logs, mill-avvenimenti f’ħin reali u mir-rapporti tal-iżball.

Dak li operatur jagħti, u kif jieħdu lura

Il-permess biex tuża executor mhuwiex swich wieħed. Aġent jista’ jitħaddem biss meta jkollu permess għal dak l-executor eżatt u dik l-operazzjoni eżatta, u l-politika loġika ordinarja tal-għodda tippermetti dan, u l-ambitu tar-run jaqbel, u l-politika lokali tal-magna tippermettih. Għalhekk li tagħti operazzjoni lil executor ma tawtorizza xejn fuq ieħor, u aġġornament tal-kapaċità ma jista’ jwessa’ xejn, għax operazzjonijiet ġodda jaslu miċħuda.

L-aċċess tal-aġent u l-kondiviżjoni jieħdu effett minnufih fuq il-paġna stess, mingħajr kontinwazzjoni ta’ approvazzjoni, prompt għall-password jew pass ġdid ta’ awtentikazzjoni. Fuq it-tab Aġenti tal-executor, maniġer jixgħel jew jitfi l-aċċess tal-aġent għall-magna direttament; fuq Kondiviżjoni jagħtu lil persuna Jista’ juża jew Amministratur, jew jestendu l-użu għal proġett jew għal kulħadd fit-tim attwali, bl-istess mod. Fil-konverżazzjoni personali tiegħek mal-assistent — hemmhekk biss, qatt mhux f’kanal kondiviż, f’xogħol skedat jew f’run ta’ aġent ieħor — l-assistent jista’ jippreparalek bidla fl-aċċess tal-aġent jew fl-assenjament, li tpoġġi karta ta’ konferma f’dik il-konverżazzjoni; xejn ma jinbidel sakemm tagħfas Ħalli l-aċċess fuqha, u test ta’ chat qatt ma huwa konferma.

Tliet bidliet għadhom jeħtieġu li l-password attwali tiġi mdaħħla mill-ġdid fil-mument tal-konferma: l-attivazzjoni ta’ reviżjoni tad-deskrittur; assenjament ippreparat mill-assistent li jagħti lil persuna, mhux lil aġent, il-magna; u politika stabbli li tippermetti lill-kollegi jibdew kmandi fuqha bħala s-sid tagħha, il-politika tax-xogħol tat-ticket mingħajr sorveljanza. Id-diskonnessjoni jew it-tħassir ta’ magna intenzjonalment ma jitolbu xejn minn dan, għax il-buttuna tal-waqfien ta’ emerġenza qatt m’għandha tkun iktar iebsa tintlaħaq minn dak li twaqqaf. L-applikazzjoni ta’ abbozz eżaminat dejjem titlobha. L-audit trail jirrekordja separatament il-persuna li taġixxi u l-involviment tal-assistent.

Executor jgħaddi minn sett żgħir u espliċitu ta’ stati:

pending_pairing → online ↔ offline
        │             ↓
        └──────────→ draining → revoked
                         ↓
                       error

Il-menu Kompjuter fl-intestatura huwa fejn maniġer iħejji kull bidla fiċ-ċiklu tal-ħajja: twaqqfu temporanjament, terġa’ tibda meta jkun ġie ppawżat, tiddiskonnettja jew tħassar. Il-ppawżar iħalli executor online imma jwaqqfu milli jaċċetta kmandi. Id-diskonnessjoni tirrevoka ċ-ċertifikati tal-klijent tiegħu u kull handle ta’ kandidat li għadu miftuħ, u ma tistax tiġi annullata — executor diskonnettjat jerġa’ jiġi ppairjat bħala wieħed ġdid. It-tħassir jagħmel l-istess u jneħħi wkoll l-executor mil-lista; differenza mid-diskonnessjoni, jiġi offrut irrispettivament mill-istat tal-executor, inkluż pairing pendenti u diskonnessjoni diġà magħmula, għax huwa l-unika mod kif wieħed jitlaq mil-lista. It-tnixxif — li jtemm ix-xogħol li diġà għandu qabel ma jieqaf milli jaċċetta aktar — huwa t-tielet stat reali fil-protokoll, u l-interfaċċa tista’ turi kompjuter fih, imma xejn hawnhekk ma jibdih: biss sejħa diretta għall-API tagħmel dan. Kull bidla kkonfermata fl-aċċess, reviżjoni tad-deskrittur u tranżizzjoni taċ-ċiklu tal-ħajja, inkluż it-tnixxif, iżżid ukoll l-epoka tal-konnessjoni tad-daemon, għalhekk il-poll li jmiss tal-kontroll tiegħu — mhux aktar minn sekonda wara — jfalli miftuħ u jieqaf kull gwest ħaj qabel ma jkun jista’ jerġa’ jikkonnettja. Ir-revoka mhijiex talba li l-magna tista’ tinjora.

Tħaddem executor

Kif tiġi vverifikat li huwa b’saħħtu

It-tweġiba ta’ Nessie stess hija s-sinjal ta’ ħajja. Daemon jiffirma heartbeat, u executor li l-aħħar attività awtentikata tiegħu hija iktar minn sittin sekonda ilu jiġi mmarkat offline b’mod persistenti qabel ma jkun jista’ jiġi elenkat, magħżul jew imbagħat xogħol lilu. Executor li jidher online ipprova lilu nnifsu fl-aħħar minuta.

M’hemm l-ebda endpoint għall-kontroll tas-saħħa fuq il-magna — id-daemon ma jisma’ fuq l-ebda port operattiv, b’disinn. Fuq macOS u Linux, is-CLI jiġi mistoqsi direttament:

nessie-executor status                # every paired executor, plus linger state
nessie-executor status <executorId>
systemctl --user status nessie-executor@<executorId>

Fuq macOS, l-istatus jirrapporta l-aġent launchd ta’ kull tim. Il-kmand systemctl huwa Linux biss. Fuq Windows, l-ikona tat-tray hija t-tweġiba f’daqqa t’għajn, il-menu tagħha jismi r-raġuni, u l-log tas-servizz iżomm id-dettall. Fuq iż-żewġ pjattaformi, it-tab Ħarsa ġenerali tal-executor f’Nessie juri l-profili approvati tiegħu, il-fruntiera tad-dejta tiegħu, meta ġie osservat l-aħħar darba u kwalunkwe proposta pendenti tal-politika lokali li tistenna reviżjoni.

Logs

PjattaformaFejn
Linuxjournalctl --user -u nessie-executor@<executorId>; id-daemon ma jżomm l-ebda fajl ta’ log tiegħu nnifsu
Windows%ProgramData%\Nessie Executor\logs\service.log, li tiftaħ l-opzjoni Iftaħ il-folder tal-logs tat-tray

Kull rifjut li persuna tista’ taġixxi dwaru jidher hemm: runtime mhux iffirmat jew mibdul, direttorju tal-istat li ma jistax jiġi sigurat, executor li ma beda fil-bidu tal-boot. Dak li qatt ma jidher hemm huwa sfida tal-pairing, ċavetta, jew output tal-proċess tat-tfal. M’hemm l-ebda settings tal-livell tal-log biex tgħolli, għax ma hemm xejn iktar dettaljat x’jiġi attivat.

Is-CLI tal-Mac jikteb il-log tas-servizz ta’ kull tim f’~/Library/Logs/NessieExecutor/<executorId>.log.

L-aġġornament

Is-CLI jiġi aġġornat permezz tal-Homebrew, APT jew DNF, imbagħad is-servizz ta’ kull tim jerġa’ jibda billi jintuża disable u mbagħad enable. WinGet jaġġorna l-executor tal-Windows. Installers diretti ta’ Nessie Desktop joffru aġġornamenti ffirmati fl-app; l-installazzjonijiet tal-MSI u tad-Debian jużaw il-manager tal-pakketti tagħhom. Il-pairings u l-permessi lokali jibqgħu wara l-aġġornamenti.

Twaqqif u tneħħija

It-twaqqif huwa mogħdija ordinata li d-daemon jmexxi, mhux qtil. Jirċievi sinjal ta’ terminazzjoni, iwaqqaf kull sessjoni tal-gwest, jirrilaxxa l-kiri tiegħu u jispiċċa. Fuq Linux, l-unit jistenna ħmistax-il sekonda għal baġit ta’ tnaddif ta’ għaxar sekondi, u b’intenzjoni qatt ma jgħolli għal kill li ma jistax jinqabad — għax daemon maqtul f’nofs it-tnaddif iħalli mikro-VM u overlay tax-xogħol bla proċess li jnaddafhom. Twaqqif li jiebes jidher f’systemctl --user status minflok ikun siekt, u li tgħolli l-livell b’mod espliċitu hija deċiżjoni umana.

Biex titneħħa l-pakkett tal-Linux:

nessie-executor disable <executorId>   # stops and disables the service
sudo apt remove nessie-executor
loginctl disable-linger                # only if your user manager should stop running at boot too

Fuq Windows, msiexec /x iwaqqaf u jneħħi s-servizz, id-dħul tar-reġistru tiegħu u l-entrata tat-tnedija tat-tray. Fuq iż-żewġ pjattaformi l-istat ippairjat jibqa’ wara b’mod intenzjonali — ~/.local/state/nessie-executor/ fuq Linux u %ProgramData%\Nessie Executor fuq Windows. Pairing huwa ċavetta tal-magna u reviżjoni ffirmata tal-politika, u tneħħija ta’ programm mhix talba biex jinqerdu; reinstallazzjoni ssibhom fejn kienu. Biex jinsa pairing, jitħassar id-direttorju bl-idejn; biex jingħalaq l-executor mill-banda l-oħra, jiġi rrevokat f’Nessie.

It-tray ta’ Windows u l-kumpanjon tad-desktop t-tnejn joffru Ħassar il-pairing minn dan il-kompjuter bħala azzjoni regolari u vjiżibbli: iwaqqaf id-daemon lokali, inneħħi ċ-ċavetta tal-magna u l-għażla tal-fowlder, u jħassar permanentement il-kopji lokali tal-abbozzi wara konferma nattiva waħda — filwaqt li jħalli l-executor fuq is-server u l-istorja tal-awditu tiegħu biex is-sid iżommhom jew jirrevokahom.

Falliment komuni

SintomuX’ifisser
L-executor jippairja iżda joffri biss operazzjonijiet tal-fajlsIl-host ma rrapportax backend tal-isandbox li jista’ jintuża. Fuq Linux, jiġi kkontrollat jekk jistgħux jinqraw u jinkitbu /dev/kvm u jekk l-utent jinsabx fil-grupp kvm — oħorġu u erġgħu idħlu wara li l-utent jiġi miżjud fil-grupp. Fuq Windows, l-edizzjoni m’għandhiex Hyper-V; hija edizzjoni, mhux settings.
Il-kontrolli tal-executor jonqsu għal kolloxIl-bini mhuwiex verifikabilment mill-pubblikatur mistenni. Fuq Linux, ir-runtime irid ikun ta’ l-root b’ebda bit ta’ kitba tal-grupp jew tad-dinja; fuq Windows u macOS il-firma trid taqbel mal-pubblikatur jew mat-tim immarkat fil-bini. Kull wieħed minn dawn jirrifjuta bil-kliem u jsemmi r-rimedju, minflok ma jaħbi l-kontrolli.
Is-servizz jaħdem imma ma jibda l-ebda daemon u jirrifjuta kull kmandXi ħaġa fl-installazzjoni ġiet sostitwita wara l-pakkettjar. Dan huwa mġiba intenzjonata: installazzjoni mmanipulata twieġeb bir-raġuni minflok ma tisparixxi, għax servizz mitwaqqaf iwassal lit-tray biex issemmi r-rimedju ħażin.
Run jispiċċa b’riżultat mhux magħrufRiċevuta terminali tintilef. Nessie ma jirrapportax riżultat li ma rċevax: il-kmand jiġi mmarkat mhux magħruf, ir-run jieħu t-triq tal-irkupru, u l-effett kollaterali ma jiġix ripetut. Riċevuta tardiva mid-daemon tista’ xorta ssolvi dan.
Operazzjoni li ħadmet ilbieraħ tiġi miċħuda llumKontroll inbidel bejn il-binding u d-dispatch, u l-kontrolli jiġu rrepetuti f’kull pass: permess mneħħi, reviżjoni tad-deskrittur li tistenna eżami, politika lokali mnaqqsa, ambitu li għadu ma jaqbilx mar-run, jew revoka. Ir-rifjut isemmi liema.
Aġent jitlob browser u jingħad li ma jistaxXogħol tal-browser u tal-kodiċi jitniedu minn persuna minn kanal bħala bundle sħiħ fuq run ġdid. Ir-rotta ordinarja tal-binding tirrifjutahom bid-disinn, u l-ebda operazzjoni tal-browser ma tista’ tiżdied ma’ run li diġà qed jagħmel xi ħaġa oħra.