NexRemote

AI ajanları için masaüstü kontrolü · Linux · Windows · macOS

Ajanına eller ver.

NexRemote masaüstünü kabuk komutlarına çevirir; Linux'ta, Windows'ta ve macOS'ta aynı komutlarla: her pencere, gerçek fare ve klavye, adıyla basılan düğmeler ve zaten açık olan terminallerin, diğer ajanlar dahil. Root yok, SDK yok; görsel model ancak uygulama okunacak başka bir şey vermediğinde devreye girer.

./install.sh && nexremote setup

MIT · Linux · Windows · macOS (önizleme) · Python 3.9+

Bir masaüstü çizimi (burada Linux'ta KDE Plasma): terminaller, bir ayarlar penceresi ve bir video oynatıcı. Ajanın imleci pencereleri listeler, Koyu anahtarını adıyla bulup basar, bir terminali okur ve ekran görüntüsünden oynatıcıya tıklar. api : claude — Konsole claude claude ssh ● Running test suite… tests/test_api.py ........F.F tests/test_ui.py ........... ✗ 2 failed · test_login, test_refresh Should I fix them? (y/n, or tell me) › ● Reading tests/test_api.py… win:{c31f…} org.kde.konsole codex — tmux codex › refactor the auth module editing src/auth.py ✓ 14 passed codex › _ Appearance — System Settings Appearance Colors Fonts Icons Cursors Global Theme Colors Dark Accent Apply atspi:4:0/2/7 [checkbox] Dark win:{8c1e…} systemsettings Player — Mozilla Firefox localhost:5173/player win:{a41f…} zen 14:32

Kurulumu belgelenmiş ortamlar

  • Claude Desktop
  • Claude Code
  • Cursor
  • Continue
  • Roo
  • Aider
  • Codex CLI
  • Gemini CLI
  • kendi CLI'ın
  • HTTP ile uzak ajanlar
  • tool calling'i olmayan modeller
  • görsel modeller
  • ekransız sunucular

Sorun

Ajanlar terminalde yaşıyor. İşiniz ise ekranda.

Kodlama ajanları dosya düzenler, build çalıştırır. İş bir ayarlar penceresine, çalışan bir uygulamaya ya da başka bir terminale dokunmayı gerektirdiği anda durur ve işi size geri verir. Bilinen çözümlerin her biri bir yerde tıkanır.

  1. Her adımda ekran görüntüsü

    Model bütün ekrana bakar, koordinat tahmin eder, tıklar, sonra ne olduğunu görmek için bir ekran görüntüsü daha alır.

    Tıkandığı yer: her adım bir görsel model çağrısıdır; yavaş ve pahalıdır, birkaç piksellik sapma yanlış tıklama demektir. Ekranda zaten yazılı olan metin bile görüntüden geri okunur.

  2. Her uygulamaya ayrı entegrasyon

    API'ler, SDK'lar ve tarayıcı sürücüleri kesindir; ama her biri tek bir programı kapsar ve ayrıca yazılıp bakımı yapılmalıdır.

    Tıkandığı yer: API'si olmayan masaüstü uygulamaları ve ekranda zaten açık olan terminaller erişim dışında kalır.

  3. X11 otomasyon betikleri

    xdotool ve benzerleri, her istemcinin her pencereyi okuyup ona yazabildiği X11 için yapıldı.

    Tıkandığı yer: Wayland bu kapıyı kapattı. Bilinen geçici çözüm ydotool ise /dev/uinput'a yazar; bu da root ya da bir udev kuralı ister.

NexRemote, masaüstünün zaten sunduğu en doğrudan kanalı kullanır; piksele ancak başka hiçbir şey kalmadığında başvurur.

Nasıl çalışır

Önce yapı. Piksel en son.

NexRemote tek bir piksele bakmadan önce masaüstüne zaten ne bildiğini sorar. Bir alt basamağa ancak üstteki basamak verecek bir şey bulamadığında iner.

  1. Pencere yöneticisine sor

    Pencere yöneticisi her pencereyi başlığı, uygulaması, konumu ve odağıyla listeler: Linux'ta KWin, Sway, Hyprland ya da EWMH, Windows'ta Win32, macOS'ta CGWindowList. Ajan bir pencereyi öne getirebilir, küçültebilir ya da kapatabilir; başka hiçbir şey yayınlamayan uygulamalar dahil.

    Kanal KWin · EnumWindows · CGWindowList Modele giden metin

    $ nexremote windows
    * win:{c31f…}  org.kde.konsole  1100x780+0+0      api : claude — Konsole
      win:{8c1e…}  systemsettings   760x540+1180+60   Appearance — System Settings
      win:{a41f…}  firefox          880x560+1060+520  Player — Mozilla Firefox
  2. Erişilebilirlik ağacını oku, adıyla bas

    Düğmeler, anahtarlar ve alanlar adları ve rolleriyle gelir; AT-SPI, UI Automation ya da macOS'un erişilebilirlik arayüzü üzerinden. Ajan “Dark” anahtarına adıyla basar. Fare hiç oynamaz ve hiçbir şey kontrolün ekranda nerede çizildiğine bağlı değildir.

    Kanal AT-SPI · UI Automation · AX Modele giden metin

    $ nexremote find "Dark" --window win:{8c1e…}
    atspi:4:0/2/7	[checkbox] Dark  <toggle,click>
    $ nexremote click atspi:4:0/2/7 --json
    { "ok": true, "ref": "atspi:4:0/2/7" }
  3. Terminal metnini doğrudan oku

    Konsole sekmeleri ve tmux bölmeleri metinlerini, her birinde çalışan programla birlikte verir; Windows konsolları, Terminal.app ve iTerm2 de metnini verir. Ekran görüntüsü yok, OCR yok, odak değişmez.

    Kanal Konsole D-Bus · tmux · AttachConsole · Terminal.app Modele giden metin

    $ nexremote term-read konsole:7891:2
    ● Running test suite…
      tests/test_api.py ........F.F
    ✗ 2 failed · test_login, test_refresh
    Should I fix them? (y/n, or tell me)
  4. Ancak o zaman: ekran görüntüsü ve piksel

    Oyunlar, canvas uygulamaları ve launch ile başlatılmamış Chromium uygulamaları için. Görüntü tek pencereye kırpılır ve modele göre küçültülür; o görüntüdeki bir piksel ekrana geri çevrilir ve sistemin kendi girdi kanalıyla tıklanır: RemoteDesktop portalı, XTEST ya da Sway IPC, SendInput, CGEvent.

    Kanal spectacle / grim · GDI · screencapture Modele giden tek görüntü

    $ nexremote screenshot --window win:{a41f…} --max-width 1568
    $ nexremote click 440 190 --from-shot --json
    { "ok": true, "x": 1500, "y": 710, "button": "left" }

Her ajanla masaüstü arasında tek çekirdek

Adaptörler yalnızca çekirdeği bilir; çekirdek yalnızca masaüstünün zaten sunduğu kanallarla konuşur. Bir backend eksikse geri kalanı çalışmaya devam eder ve nexremote caps neyin kapalı olduğunu söyler.

Ajanınher harness, her modelShell CLInexremoteMCPnexremote-mcpHTTPnexremote-httpMetin döngüsünexremote-agentÇekirdeknexremote.pyPencerelerKWin · Win32 · CGWindowListAdıyla kontrollerAT-SPI · UIA · AXFare + klavyeportal · SendInput · CGEventAçık terminallerKonsole · wincon · TerminalKendi kabuğutmux · PTY · cmd.exeEkran görüntülerigrim · GDI · screencaptureMasaüstünLinux · Windows · macOSAjanınher harness, her modelShellCLIMCPstdioHTTPtokenMetindöngüsüÇekirdeknexremote.pyPencerelerKWin · Win32 · CGWindowListAdıyla kontrollerAT-SPI · UIA · AXFare + klavyeportal · SendInput · CGEventAçık terminallerKonsole · wincon · TerminalKendi kabuğutmux · PTY · cmd.exeEkran görüntülerigrim · GDI · screencaptureMasaüstünLinux · Windows · macOS

Oturum

Bir oturumun tekrarı

Komutlar ve çıktılar, CLI'ın yazdığı biçimin birebir aynısı. Masaüstü çizimdir; her komutun nereye dokunduğunu görebilesin diye.

nexremote windows
* win:{c31f…} org.kde.konsole 1100x780+0+0 api : claude — Konsole win:{8c1e…} systemsettings 760x540+1180+60 Appearance — System Settings win:{a41f…} firefox 880x560+1060+520 Player — Mozilla Firefox
nexremote terms
konsole:7891:2 claude ~/projects/api api : claude

Ajan ekranda ne olduğunu sorar: ref'iyle her pencere, içinde çalışan programla her terminal.

Erişim

Neye uzanır

Linux'ta, Windows'ta ve macOS'ta aynı komutlar. Her yüzey, sistemin sunduğu en doğrudan kanalı kullanır (aşağıdaki platform tablosu hangisi olduğunu gösterir); biri eksikse nexremote caps bunu söyler.

  • Pencereler

    Ekrandaki her pencere; erişilebilirlik ağacı yayınlamayan uygulamalar dahil.

    Komutlar
    windows window REF activate
  • Fare

    Her tıktan hemen sonra imleciniz eski yerine konur.

    Komutlar
    click X Y scroll drag
  • Klavye

    Her dil. Metin Unicode olarak gider; kanalın taşıyamadığı karakter yapıştırılır, panonuz geri yüklenir.

    Komutlar
    type key ctrl+s
  • Adıyla kontroller

    Düğmelere ve anahtarlara, fareyi hiç oynatmadan basar.

    Komutlar
    find click REF
  • Adıyla Electron

    Discord'u, VS Code'u ya da Slack'i ağaçları açık başlatır; onların düğmelerinin de adı olur.

    Komutlar
    launch vesktop
  • Açık terminaller

    Her birinde ne çalıştığını gösterir: claude, ssh, vim, bir build.

    Komutlar
    terms term-read term-send
  • Kendi kabuğu

    Oturumlar çağrılar arasında yaşar; bir şeyi başlatıp sonra dönüp bakabilir.

    Komutlar
    run screen keys
  • Ekran

    Kırpma ve ölçek hatırlanır; click X Y --from-shot doğru piksele düşer.

    Komutlar
    screenshot --window --max-width
  • Ajan imleci

    Ajanın çalıştığı yere ikinci, görünür bir ok süzülür. Fareniz sizde kalır: tıklamalar içinden geçer, odak kaymaz.

    Komutlar
    point cursor cursor-hide
  • Bir şey eksik mi?

    Tek komut, bu makinede hangi kanalların çalıştığını ve geri kalanı için hangi paketlerin gerektiğini söyler.

    Komutlar
    nexremote caps

Platformlar

Üç masaüstü, tek komut seti.

Ref'ler, çıktı ve bayraklar her yerde aynı. Altta her platform kendi kanalını kullanır; tablo hangisi olduğunu gösterir. Her birinin ne kadar test edildiği ortam ortam yazılı, yuvarlanmadan.

  • Linux

    KDE Plasma 6, GNOME, X11, Sway, Hyprland

    Test durumu

    • KDE Plasma 6 · WaylandGerçek masaüstü

      Gerçek masaüstünde çalıştırıldı. Girdi testleri kendi D-Bus'ı, sanal KWin'i, portalı ve PipeWire'ı olan bir sandbox'ta koşar.

    • X11Xvfb sandbox

      Ekransız bir X sunucusunda uçtan uca test: XTEST girdisi, EWMH pencereleri, ekran görüntüsü, CLI.

    • SwayEkransız Sway

      Ekransız çalışan gerçek bir Sway 1.10: pencereler, Sway IPC ile tıklama ve kaydırma, wtype ile yazma, grim ile ekran görüntüsü.

    • HyprlandSahte IPC

      hyprctl yerine sahtesi konur; henüz gerçek bir compositor'da çalıştırılmadı.

    • GNOMETest edilmedi

      Portal yolu çalışmalı; pencere listesi AT-SPI'ye düşer.

  • Windows

    Windows 10 ve 11 için yazıldı

    Test durumu

    • Wine 1047/47 geçti

      Wine içinde gerçek Windows Python'u; gerçek bir Notepad penceresi ve cmd.exe konsoluyla. Henüz gerçek Windows 10 ya da 11 donanımında çalıştırılmadı.

      İsimle tıklama sınanamadı: Wine'ın UI Automation'ı gezilecek bir denetim ağacı vermiyor.

  • macOS Önizleme

    Quartz olayları ve erişilebilirlik arayüzü

    Test durumu

    • Birim testleriSahte Quartz

      Mantık, sahte bir Quartz kütüphanesiyle birim testinden geçti. Henüz gerçek bir Mac'te çalıştırılmadı.

      Erişilebilirlik ve Ekran Kaydı izni Sistem Ayarları'ndan bir kez verilir.

Dolu: gerçek masaüstü. Çerçeve: ekransız ya da Wine altında çalışan gerçek bir görüntü sunucusu. Amber: mantık sahtelerle sınandı. Kesikli: test edilmedi.

9 yüzey × 3 platform

Her yeteneğin Linux, Windows ve macOS'ta kullandığı kanal
YetenekLinuxWindowsmacOS Önizleme
Ekrandaki her pencereKWin · hyprctl · swaymsg · EWMHGNOME'da yalnızca AT-SPIEnumWindowsCGWindowList + AX
Gerçek fareXTEST · RemoteDesktop portalı · Sway IPCSendInputCGEvent
Gerçek klavyeXTEST · portal + pano · wtypeSendInput (Unicode)CGEvent (Unicode)
Butona adıyla basmaAT-SPIUI AutomationWine'da sınanamadıAccessibility (AX)
Ağacı açık Electron ve Chromiumbayrak + ortambayrakbayrak
Açık terminallerKonsole D-Bus, tmuxkonsol tamponu (AttachConsole)Terminal.app, iTerm2, tmux
Kendi terminalitmux / PTYcmd.exetmux / PTY
Görünür ajan imleciX11/XWayland pencere · imleç temankatmanlı pencere · sistem okuNSWindow · sistem oku
Ekran görüntüsüspectacle · grim · XlibGDIscreencapture

Kanallar, sayfa her üretildiğinde proje README'sinden okunur.

Terminaller

Sekiz ajan açık mı? Biri diğerlerini yönetebilir.

Her Konsole sekmesi ve tmux bölmesi ön plandaki programıyla listelenir; Windows konsolları, Terminal.app ve iTerm2 pencereleri de listededir. Bir ajan başka bir ajanın ekranını okuyabilir, sorusuna cevap verebilir ya da --key C-c ile durdurabilir.

Bunların hiçbiri pencere odağı ya da klavyeniz gerektirmez. O çalışırken siz de çalışmaya devam edersiniz.

$ nexremote terms
konsole:7891:1       claude         ~/projects/api      api : claude
konsole:7891:2       claude         ~/projects/web      web : claude
konsole:7891:3       vim            ~/projects/docs     docs : vim
konsole:29769:1      ssh            ~                   deploy@staging

$ nexremote term-send konsole:63308:1 'echo NEXR_$((6*7))' --enter
$ nexremote term-read konsole:63308:1
bash-5.2$ echo NEXR_$((6*7))
NEXR_42
bash-5.2$
Çıktı CLI'ın birebir biçiminde; terminal adları örnektir. Son iki komut test sandbox'ında çalıştı.

Son çare

Okunacak bir şey yoksa bakar.

Oyunlar, canvas uygulamaları ve nexremote launch olmadan başlatılan Chromium uygulamaları kontrollerini yayınlamaz. Tek pencereye kırpılmış ve modele göre küçültülmüş bir ekran görüntüsü alın; model o görüntüdeki piksele tıklar, NexRemote onu ekrana geri çevirir.

screen = origin + image ÷ scale
(3000, 0) + (412, 230) ÷ 0.8333 = (3494, 276)
Üç monitörlü masaüstündeki bir pencere kırpılır, 800'e 900 boyutuna küçültülür ve görüntüdeki bir nokta ekran koordinatına geri çevrilir. HDMI-1 DP-1 DP-2 · x=3000 800×900 · scale 0.8333 win:{3fd7…} 960×1080 (412, 230) (3494, 276)
Üç monitörlü bir düzen, ölçekli. Tek nokta, iki koordinat sistemi.

Karşılaştırma

Nerede duruyor

Ürünlerle değil, bugün kullanılan araç türleriyle karşılaştırma. Her yaklaşımın bir yeri var; tablo, NexRemote'un yapmak için tasarlandığı işte nerede durduklarını gösteriyor.

NexRemote Yalnızca ekran görüntüsüyle çalışan bilgisayar kullanım ajanları Klasik RPA ve xdotool betikleri Uygulamaya özel API ve SDK'lar
Kontrollere koordinatla değil, adıyla basar EvetAT-SPI · UI Automation · AX Hayırkoordinatı görüntüden tahmin eder Kısmenbazı RPA araçları seçici kullanır; xdotool koordinata tıklar Evetyalnızca o uygulamada
Ekrandaki metni görsel model olmadan okur Eveterişilebilirlik ağacı ve terminal metni Hayırher okuma bir görüntüdür Kısmenaraca bağlı Evetyalnızca o uygulamada
Okunacak hiçbir şey yayınlamayan uygulamalarda çalışır Evetekran görüntüsüne düşer Evetasıl çalışma biçimi Kısmenkör koordinatlar HayırAPI gerekir
Zaten açık terminalleri okur ve onlara cevap verir EvetKonsole · tmux · Windows konsolları · Terminal.app Kısmenpencere görünürse, pikselden Kısmenyazabilir, okuyamaz Hayırkapsam dışı
Root ya da yönetici yetkisi olmadan çalışır, Wayland dahil EvetWayland'de portal; Windows ve macOS'ta kullanıcı yetkisi Kısmenkuruluma bağlı; çoğu zaman sanal makine Hayıryalnızca X11 ya da /dev/uinput için root Evetgirdiye dokunmaz
Her ajana tek bir kabuk komutuyla takılır Evetayrıca MCP, HTTP ve metin döngüsü Kısmençoğunlukla tek bir modelin araç biçimine bağlı Eveto da bir komut Kısmenher uygulamaya ayrı entegrasyon

Ürünler değil, kategoriler. “Evet”, yaklaşımın bunu kutudan çıktığı gibi yaptığı anlamına gelir; “Kısmen”, araca ya da kuruluma bağlı demektir.

Rakamlar

Rakamlarla

Bu sayfa her üretildiğinde v0.5.0 kaynak kodundan sayılır. Tahmin yok, öngörü yok.

MCP aracı
23
CLI komutu
28
bağlanma yolu: kabuk, MCP, HTTP, metin döngüsü
4
ulaştığı masaüstü yüzeyi
9
kurulumu belgelenmiş harness
11
test paketi; 4 tanesi atılabilir bir masaüstünde
15
satır Python, çekirdek ve adaptörler
11.258
gereken root ya da yönetici yetkisi
0

Neden şimdi

Parçalar yerine oturdu.

Öngörüye gerek yok. Araçlar zaten bu noktada.

  1. Ajanlar zaten terminalde çalışıyor

    Claude Code, Codex, Aider ve Gemini CLI gibi kodlama ajanları bir kabukta çalışır. Hepsinin ortak tek arayüzü kabuk komutudur; NexRemote da bu arayüzü konuşur.

  2. MCP ortak bir araç protokolü oldu

    Editörler ve ajan istemcileri araçlarını MCP üzerinden yükler. Tek bir NexRemote sunucusu hepsine aynı masaüstü araçlarını verir; ekran görüntüleri görsel olarak döner.

  3. Linux masaüstleri Wayland'e geçti

    Wayland, eski otomasyonun dayandığı X11 kestirmelerini kaldırdı. Resmî giriş yolu, kullanıcıya bir kez soran xdg-desktop-portal RemoteDesktop arayüzüdür. NexRemote Linux'ta bunun üzerine kurulu.

Yol haritası

Bugün olan, sırada olan

Sol sütun bugün indirdiğiniz pakette var. Sağ sütun planlandı, henüz yapılmadı.

Bugün v0.5.0 içinde

  • KDE Plasma: KWin betikleriyle her pencere, bir kez onaylanan RemoteDesktop portalı üzerinden fare ve klavye
  • Aynı komutların arkasında X11 (XTEST, EWMH), Sway ve Hyprland (kendi IPC'leri); Sway'de fare için ek paket gerekmez
  • Açık Konsole sekmelerini ve tmux bölmelerini okuma ve onlara yazma
  • 23 MCP aracı, 28 CLI komutu, bir HTTP API ve tool calling'i olmayan modeller için metin döngüsü
  • Windows: Win32 pencereleri, SendInput ile Unicode girdi, GDI ekran görüntüsü, UI Automation, açık konsolları okuma ve onlara yazma
  • macOS önizlemesi: Quartz girdisi, CGWindowList pencereleri, erişilebilirlik ağacı, Terminal.app, iTerm2 ve tmux
  • Electron ve Chromium uygulamaları adıyla: nexremote launch vesktop onları ağaçları açık başlatır
  • Sade ağaç: gizli öğeler ve boş sarmalayıcılar çıkarılır, her kontrol tıklamak için gereken ref'i taşır
  • Pencereler, terminaller ve erişilebilirlik ağacı canlı MCP kaynakları olarak
  • Başka bir makineyi yönetmek için HTTP adaptörüne token dosyalı ve TLS'li kullanıcı servisi
  • Linux, Windows ve macOS'ta farenize dokunmayan görünür ajan imleci; her adaptörden: MCP, HTTP, CLI
  • Bir pip paketi: Linux'ta, Windows'ta ve macOS'ta pip install .[all]
  • Yalıtılmış bir sandbox masaüstünde girdi testleri; X11 Xvfb'de, Sway ekransız bir compositor'da, Windows Wine altında

Planlanan

  • Gerçek Windows ve Mac donanımı. Testleri Windows 10 ve 11'de ve bir Mac'te koşmak, sonra önizleme etiketini kaldırmak.
  • GNOME ve gerçek Hyprland. Portal yolunu ve pencere listesini GNOME'da test etmek; Hyprland'i sahte IPC yerine gerçek bir compositor'da çalıştırmak.

Bağlantı

Ajanına bağla

Aynı çekirdek, dört giriş. Harness'ın hangisini konuşuyorsa onu seç.

Komut çalıştırabilen her harness: Claude Code, Codex, Aider, opencode, bir cron işi. Ajana skill metnini ver, gerisini bilir.

nexremote skill        # ajanının talimatlarına yapıştır
nexremote observe --json

Güvenlik

Makinene ne yapar

Bir kez sorar
Wayland'de masaüstü ilk seferde bir uzaktan kontrol penceresi açar; Allow restoring kutusunu işaretleyin, bir daha sormaz (geri almak için ~/.config/nexremote/portal.json dosyasını silin). macOS'ta Erişilebilirlik ve Ekran Kaydı izni bir kez verilir. Windows ve X11 sormaz.
İmlecini geri verir
Ekranda tek imleç vardır. Tık onu ödünç alır ve eski yerine geri koyar.
Root yok, yönetici yok
/dev/uinput yok, sürücü yok, başka kullanıcı olarak çalışan servis yok. Windows'ta sizin hesabınızla çalışır; yönetici olarak çalışan pencerelere ancak NexRemote da yönetici olarak çalışırsa ulaşır.
Ağa kapalı
HTTP adaptörü en az 24 karakterlik bir token olmadan localhost dışını dinlemez. Token komut satırı yerine bir dosyada durabilir, trafik TLS üzerinden akabilir.
Zarar veremeyeceği yerde test edilir
Girdi testleri, kendi D-Bus'ı, sanal KWin'i, kendi portalı ve PipeWire'ı olan atılabilir bir masaüstünde koşar. X11 Xvfb'de, Windows ekransız bir görüntüde ayrı bir Wine prefix'inde çalışır.

Sınırlar

  • Linux: KDE Plasma 6 Wayland gerçek masaüstünde, X11 gerçek bir X sunucusunda (Xvfb), Sway gerçek bir ekransız compositor'da, Hyprland sahte IPC ile test edildi. GNOME'da pencere listesi yalnızca AT-SPI'ye düşer.
  • Windows: Wine 10 üzerinde test edildi; gerçek Windows 10/11'de doğrulanmadı. Wine'ın UI Automation'ı denetim ağacını gezemediği için isimle tıklama Wine'da sınanamadı. Yönetici olarak çalışan pencerelere yalnızca yönetici olarak çalışan NexRemote ulaşır (UIPI).
  • macOS: kod yazıldı ve mantığı sahte Quartz ile test edildi, ama gerçek bir Mac'te henüz doğrulanmadı; önizleme sürümü.
  • Konsole yalnızca görünen ekranı verir. Geçmiş satırlar için ajanı tmux içinde çalıştırın.
  • Electron ve Chromium uygulamaları ağaçlarını yalnızca --force-renderer-accessibility ile başlatılınca yayınlar. nexremote launch bu bayrağı ekler, ama zaten çalışan bir uygulamanın yeniden başlatılması gerekir. Oyunlar ve canvas uygulamaları ekran görüntüsü ve koordinatla kullanılır.
  • Linux'ta görünür ajan imleci X11 ya da XWayland ister; XWayland'siz Sway'de görünmez. Windows imleci Wine'da sınandı; macOS imleci henüz gerçek bir Mac'te çalıştırılmadı.

Kurulum

Üç adımda kurulum

Linux

  1. İndir ve aç

    unzip nexremote.zip && cd nexremote

    nexremote.zip (237 KB) · nexremote.tar.gz (192 KB)

  2. Komutları kur

    ./install.sh

    nexremote, nexremote-mcp, nexremote-http ve nexremote-agent komutlarını ~/bin altına koyar, eksik paketleri listeler.

  3. Erişimi bir kez ver

    nexremote setup && nexremote caps

    Erişilebilirlik ağacını açar; Wayland'de masaüstünün uzaktan kontrol penceresini getirir: Allow restoring işaretle, Share'e bas. X11 bir şey sormaz.

Gerekli: python3-dbus python3-gi xdg-desktop-portal-kde pipewire wl-clipboard. İsteğe bağlı: tmux python3-pil python3-xlib, pip install mcp. pip ile kurmak isterseniz: pipx install --system-site-packages . sistemdeki D-Bus ve GObject paketlerini görünür tutar.

Windows

  1. İndir ve aç

    Expand-Archive nexremote.zip -DestinationPath .; cd nexremote

    nexremote.zip (237 KB)

  2. pip ile kur

    py -m pip install .[all]

    nexremote, nexremote-mcp, nexremote-http ve nexremote-agent komutlarını kurar. UI Automation için comtypes da birlikte gelir.

  3. Neyin çalıştığına bak

    nexremote caps

    İzin penceresi yok. Yönetici olarak çalışan pencerelere yalnızca NexRemote da yönetici olarak çalışırsa ulaşılır.

Gerekli: Python 3.9 ya da daha yenisi, py başlatıcısıyla. [all], ekran görüntüsünü kırpıp küçültmek için pillow ve MCP sunucusu için mcp ekler. Wine 10 altında test edildi; gerçek Windows 10/11'de henüz değil.

macOS Önizleme

  1. İndir ve aç

    unzip nexremote.zip && cd nexremote

    nexremote.zip (237 KB) · nexremote.tar.gz (192 KB)

  2. pip ile kur

    python3 -m pip install '.[all]'

    Dört komutu kurar. [all] ekran görüntüsü küçültmeyi ve MCP sunucusunu ekler.

  3. Erişimi bir kez ver

    nexremote setup && nexremote caps

    Erişilebilirlik ve Ekran Kaydı izin istemlerini açar. Sistem Ayarları → Gizlilik ve Güvenlik'te terminalinize izin verin; bir daha sorulmaz.

Gerekli: Python 3.9 ya da daha yenisi. İsteğe bağlı: geçmiş satırlar için tmux. Önizleme: sahte Quartz ile test edildi, gerçek bir Mac'te henüz değil.

Ajanına masaüstünü ver.

Aç, kur, bir kez onayla. Proje, iş birliği ya da yatırım hakkında sorularınız için bize yazın.

./install.sh && nexremote setup

nexremote.tar.gz (192 KB) · MIT · Linux · Windows · macOS (önizleme) · Python 3.9+