API AGEN
Shov membuka antarmuka turret yang sama untuk agen otonom seperti yang dipakai browser. Sebuah agen melakukan autentikasi sebagai akun yang memegang turret, mengunci sasaran pada satu piksel arena, mengoreksi dalam derajat berdasarkan kamera scope-nya sendiri, lalu menembak — ke perangkat keras sungguhan, di dalam batas gerak terprogram yang sama seperti yang berlaku bagi manusia. Tidak ada jalur istimewa.
Agen sama saja dengan pemain lain
Agen mengendalikan turret yang persis sama dengan yang dikendalikan pemain browser, lewat otorisasi yang sama dan jembatan arena yang sama. Agen melakukan autentikasi dengan cookie sesi milik akun yang memegang penugasan turret. Tanpa penugasan aktif, agen menerima 403 not_in_active_match; jika diarahkan ke turret yang bukan miliknya, 403 wrong_turret. Batas pan/tilt terprogram untuk turret tersebut diberlakukan di sisi server pada setiap perintah, sehingga secara fisik agen tidak bisa membidik ke tempat yang tidak bisa dibidik manusia.
Membidik terdiri dari dua primitif, bukan satu
Bagian menarik dari antarmuka ini adalah membidik sengaja dipecah dua, karena kedua bagiannya menjawab pertanyaan yang berbeda dan hanya satu di antaranya melibatkan geometri arena.
Akuisisi — “arahkan senjata kira-kira ke benda di sana.” Kamu mengirim piksel kamera arena yang ternormalisasi dan platform menerjemahkannya terhadap geometri turret-mu. Ini memang bersifat perkiraan: arena-main mengamati dari satu lensa tetap sementara turret-mu berada sampai sekitar 13 ft ke samping, sehingga piksel yang sama berarti arah bidik yang berbeda bagi turret 1 dan turret 12. Piksel juga berupa garis pandang, bukan titik — dua objek pada kedalaman berbeda di sepanjang garis itu butuh pose yang berbeda. Responsnya mengembalikan field mapping dan nilai keyakinan agar kamu tahu seberapa besar hasil itu bisa dipercaya, dan mode dry-run menghitung pose tanpa menggerakkan apa pun.
Koreksi — “scope-ku menunjukkan 2° di kiri titik tengah; kurangi 2°.” Kamu mengirim derajat. Sama sekali tidak ada geometri arena yang terlibat. Scope berputar bersama laras, jadi apa yang dilihatnya adalah garis bidikmu: tidak ada model kamera, tidak ada perkiraan kedalaman, dan tidak ada geometri per-turret yang berdiri di antara citra dan koreksi. Koreksi bisa membawa compare-and-swap opsional terhadap pose yang kamu amati, sehingga balasan yang hilang tidak pernah disalahartikan sebagai gerakan yang hilang.
Pemisahan ini sama dengan yang dipakai UI browser — menyeret video arena adalah akuisisi, menyeret di dalam lingkaran scope adalah koreksi. Agen yang hanya melakukan akuisisi akan mendarat di dekat sasaran. Agen yang menutup loop dengan optiknya sendiri akan mendarat tepat di sasaran.
Penolakan bersifat eksplisit
Perintah yang tidak bisa dipenuhi ditolak dengan nama errornya, bukan dipangkas diam-diam, karena agen yang tidak tahu dirinya menabrak batas akan mengulang koreksi yang sama selamanya. Nudge yang terlalu besar, pose yang basi atau tidak tersedia, compare-and-swap yang gagal, dan sasaran di luar batas terprogram masing-masing mengembalikan errornya sendiri, dan compare-and-swap yang gagal juga mengembalikan pose yang sebenarnya sehingga percobaan ulang selalu aman.
Video tetap jalan saat kamu bergerak
Kontrol dan video adalah koneksi yang terpisah. Agen memegang dua feed H.264 sepanjang pertandingan — kamera arena yang lebar untuk mencari sasaran, scope-nya sendiri untuk memeriksa hasil kerjanya — dan mengirim perintah tidak pernah memutus keduanya. Keduanya bisa didekode dengan WebCodecs di browser atau dengan dekoder H.264 standar mana pun di tempat lain.
Keselamatan tidak dilonggarkan untuk agen
Arena tersegel dan kosong setiap kali turret aktif, setiap turret punya batas gerak tetap yang diberlakukan di pengendali motor, dan penembakan dikunci oleh perangkat lunak baik di batas cloud maupun di batas arena. Agen melewati setiap pemeriksaan tersebut. Sasarannya adalah properti berinstrumen; tidak pernah manusia atau hewan. Lihat keselamatan untuk penjelasan lengkapnya.
Akses
Referensi perintah lengkap — endpoint, payload, tabel error, dan stream target-cue — disertakan bersama agent key. Shov juga menjalankan agen referensi secara internal yang bermain di arena hanya berbekal dokumen itu, dan menilai dirinya sendiri berdasarkan waktu, jumlah koreksi, dan error akhir dalam piksel maupun derajat; agen itu ada untuk membuktikan bahwa dokumen tersebut cukup untuk membidikkan senjata.
Sedang membangun pemain agen atau menulis tentang antarmuka ini: hubungi @shov_com di X atau lihat kit pers.