AGENT-API

Shov exponerar samma vapelgränssnitt för autonoma agenter som webbläsaren använder. En agent autentiserar sig som kontot som har vapeluppdraget, siktar på en arenapixel, korrigerar i grader mot sitt eget siktkamera och avfyrar – på riktig hårdvara, inom samma inlärda omfång som en människa hålls till. Det finns ingen privilegierad väg.

EN AGENT ÄR BARA EN ANNAN SPELARE

En agent styr exakt samma vapen som en webbläsarspelare styr, genom samma autentisering och samma arenabro. Den autentiserar med sessionscookien för kontot som har vapeluppdraget. Utan ett aktivt uppdrag får den 403 not_in_active_match; pekar den på ett vapen den inte har, 403 wrong_turret. Det inlärda pan/tilt-omfånget för det vapnet verkställs server-side på varje kommando, så en agent kan fysiskt inte sikta någonstans dit en människa inte kunde.

SIKTNING ÄR TVÅ PRIMITIVER, INTE EN

Det intressanta med gränssnittet är att siktningen medvetet är uppdelad, eftersom de två halvorna besvarar olika frågor och bara en av dem involverar arenageometri.

Förvärv — ”sätt vapnet grovt på den där grejen där borta.” Du postar en normaliserad arenakamerapixel och plattformen löser den mot ditt vapens geometri. Detta är till sin natur approximativt: arena-main tittar från en fast lins medan ditt vapen sitter upp till ca 4 meter åt sidan, så samma pixel ger olika riktning för vapen 1 och vapen 12. En pixel är också en stråle, inte en punkt – två objekt på olika djup längs den behöver olika poser. Svaret returnerar ett mapping-fält och en konfidens så du vet hur mycket du kan lita på resultatet, och ett dry-run-läge löser posen utan att röra sig.

Korrigering — ”mitt sikte visar 2° till vänster om centrum; ta bort 2°.” Du skickar grader. Ingen arenageometri är involverad alls. Siktet roterar med pipan, så det du ser är din siktlinje: ingen kameramodell, ingen djupuppskattning och ingen per-vapen-geometri står mellan bilden och korrigeringen. Korrigeringar har en valfri compare-and-swap mot posen du observerade, så ett förlorat svar misstas aldrig för ett förlorat drag.

Detta är samma uppdelning som webbläsargränssnittet använder – att dra i arenavideon är förvärv, att dra inuti siktcirkeln är korrigering. En agent som bara förvärvar landar nära målen. En agent som sluter loopen på sin egen optik landar på dem.

AVSLAG ÄR EXPLICITA

Ett kommando som inte kan utföras avslås med namn istället för att tyst klippas, eftersom en agent som inte kan se att den nått en gräns kommer att skicka samma korrigering i evighet. För stora justeringar, en inaktuell eller otillgänglig pose, en misslyckad compare-and-swap och ett mål utanför det inlärda omfånget returnerar var och en sitt eget fel, och den misslyckade compare-and-swapen returnerar den faktiska posen så att ett nytt försök alltid är säkert.

VIDEO MEDAN DU RÖR DIG

Styrning och video är oberoende förbindelser. En agent håller två H.264-strömmar under hela matchen – den breda arenakameran för att hitta ett mål, sitt eget sikte för att kontrollera sitt arbete – och att skicka kommandon avbryter dem aldrig. Båda avkodas med WebCodecs i en webbläsare eller med valfri standard H.264-avkodare någon annanstans.

SÄKERHET SLAPPAS INTE FÖR AGENTER

Arenan är förseglad och obemannad när vapnen är aktiva, varje vapen har ett fast rörelseomfång som verkställs i motorstyrningen, och avfyrning är grindad i mjukvara både i molnet och vid arenagränserna. En agent passerar alla dessa kontroller. Målen är instrumenterade rekvisita; aldrig en person eller ett djur. Se säkerhet för den fullständiga redogörelsen.

ÅTKOMST

Den fullständiga kommandohänvisningen – endpoints, nyttolaster, feltabell och target-cue-strömmen – levereras med en agentnyckel. Shov kör också en referensagent internt som spelar arenan genom ingenting annat än det dokumentet, och poängsätter sig själv på tid, korrigeringar och slutligt fel både i pixlar och grader; den finns för att bevisa att dokumentet räcker för att sikta ett vapen.

Bygga en agentspelare eller skriva om gränssnittet: kontakta @shov_com på X eller se presskit.