AX Code’u edinin · ÜcretsizBelgeler

Bu sayfa İngilizce belgenin çevirisidir. Komutlar, tanımlayıcılar ve örnekler aynıdır. Çalışma zamanı 7.24.4 · SDK 2.6.7. İngilizce kaynak

Uzun süren iş için AX Code işletmek

Durum: Etkin Kapsam: güncel durum Son inceleme: 2026-09-13 Sahip: AX Code bakımcıları

AX Code tek bir etkileşimli Super-Long çalıştırmayı 72 saat ile sınırlar. Günler veya haftalar boyunca işletmek için gözetimli bir ax-code serve süreci çalıştırın ve işi kalıcı zamanlanmış oluşumlara bölün. Gözetmen sunucuyu yeniden başlatır; proje veritabanı zamanlamaları ve kuyruk durumunu korur.

Kalıcı etkileşimli çalışma alanı

Terminali kapattıktan sonra sürmesi gereken yerel iş için bir proje çalışma zamanına katılın:

ax-code runtime start --dir /absolute/path/project
ax-code runtime attach --dir /absolute/path/project --continue
ax-code runtime status --dir /absolute/path/project
ax-code runtime list                  # every managed runtime on this machine
ax-code runtime stop --dir /absolute/path/project

runtime attach de hiçbiri yoksa çalışma zamanını başlatır. Çalışma zamanı kurallı proje dizinine göre anahtarlanır; eşzamanlı başlangıçlar tek bir süreci yeniden kullanır. TUI yürütme ana makinesini ve bir Bağlantıyı kes eylemini gösterir. Bağlantıyı kesmek istemciyi kapatır ve kabul edilmiş işi çalışır tutar. runtime stop o projenin çalışma zamanını kapatır ve etkin işini keser. Olağan ax-code mevcut ön plan yaşam döngüsünü korur.

Bir oturum meşgulken gönderilen kabul edilmiş izleyenler sunucuda saklanır. Varsayılan olarak çalışan tur bittikten sonra başlarlar; böylece ilgisiz bir istek süren işi raydan çıkarmaz. Bunun yerine çalışan turu düzeltmek için yalnızca metin bir taslakla ctrl+s tuşuna basın (input_submit_steer, keybinds içinde): metin etkin üretime kabul edilir ve döngünün sonraki adım sınırında, uçuştaki araç çağrıları oturduktan sonra ve sonraki model isteğinden önce bir kullanıcı iletisi olarak yazılır. Tur bitmekteyken kabul edilen bir düzeltme, düşürülmek yerine çalıştırmayı bir yineleme uzatır. Yönlendirme elinden gelenin en iyisidir: artık etkin bir üretim yoksa taslak olağan yoldan gönderilir; bir kanca veto ederse taslak gerekçesiyle bestecide kalır. Ekli taslaklar ve eğik çizgi komutları her zaman izleyen kuyruğunu kullanır. Aynı teslim, koşum denetimleri içinde anlatılan yönlendirme API’si üzerinden diğer istemcilere de açıktır. Kaydedilmiş izleyenler sonradan da yönlendirilebilir: boş bir besteciyle ctrl+s tuşuna basmak kuyruğun yönlendirilebilir önekini sırayla yükseltir ve ilk yönlendirilemeyen satırda durur; kenar çubuğu İzleyenler bölümü ve /queue iletişim kutusu aynı satır başına şimdi yönlendir eylemini sunar. Duraklatılmış satırlar yerinde yönlendirilebilir — bir turu kesmek bekleyen izleyenleri duraklatır ve birini yönlendirmek metnini kuyruğun geri kalanını sürdürmeden teslim eder. Yalnızca izleyen olmayan satırlar (kuyruklu eğik çizgi komutları, kabuk komutları), ekli satırlar, boş veya fazla büyük metin ve hâlihazırda çalışan veya bitmiş satırlar engeldir. Yönlendirilen satırlar steeredInto denetim iziyle iptal edilir ve /queue geçmişinde görünür kalır. Etkin bir üretim yokken şimdi yönlendir, satırı kuyruğun önüne önceliklendirmeye düşer — yine de yalnızca tur bittikten sonra başlar. Besteci yalnızca onaydan sonra temizlenir. Aynı oturuma yeniden bağlanın ve onları incelemek, duraklatmak, düzenlemek, sürdürmek veya iptal etmek için /queue kullanın. Düzenlemek önce öğeyi duraklatır ve ekler ile model seçimini korur; kaydetmek onu sürdürmez. Eşzamanlı eskimiş düzenlemeler reddedilir. /queue içinde Ctrl+R tamamlanan ve iptal edilen geçmişi içerir. Dar terminaller tıklanabilir bir Follow-ups başlığı da gösterir. Bağlantısı kesilmiş bir görünüm önbelleğe alınır ve öğeleri değiştiremez. Etkin turu kesmek bekleyen izleyenleri duraklatır; böylece hemen başka bir tur başlatmazlar. Hazır olduğunuzda onları açıkça sürdürün.

Bir arka uç yeniden başlatmasından sonra kabul edilmiş bekleyen izleyenler sürdürülebilir. O yeniden başlatmayla kesilen olağan bir uçuştaki istem başarısız işaretlenir ve yeniden denemeden önce inceleme gerektirir; kuyruk kayıtlarını geri yüklemek yürütülen bir kabuk sürecini geri yüklemez. Kayıp bir onay, o istemci oturumu sırasında değişmeyen besteciden aynı istek kimliğiyle yeniden denenebilir. Kaydedilmemiş taslaklar kabul edilmiş iş değildir ve bu, dış etkilerin tam olarak bir kez olacağını garanti etmez.

Bu mod bir oturum açma hizmeti kurmaz, çöken bir sunucuyu otomatik yeniden başlatmaz veya ana makine uyurken ya da kapalıyken yürütmez. Bir çökmeden sonra yeniden başlatın veya bağlanın; gözetimsiz sunucu yeniden başlatmaları için aşağıdaki gözetimli hizmet örneklerini kullanın. SSH kullanıcıları çalışma zamanını uyanık bir uzak ana makinede çalıştırmalı ve oraya bağlanmalıdır. HTTP bağlantı noktasını herkese açık etmeyin.

Çalışma zamanı keşfi, AX Code durum dizininin runtime/ klasörü altında özel bir yetenek ve günlük saklar. Durum çıktısı yeteneği atlar. Kapatma, yalnızca kaydedilmiş bir PID değil, kimliği doğrulanmış eşleşen bir çalışma zamanı kimliği gerektirir. Kullanılamayan canlı bir süreç, bozuk kayıt veya sürüm uyuşmazlığı inceleme gerektirir; CLI doğrulanmamış bir süreci sonlandırmayı reddeder. Yükseltmeden önce sağlıklı bir çalışma zamanını durdurun ve yeni yürütülebilir dosyayla yeniden başlatın.

Güvenilirlik modeli

Olay Davranış
Bir vadesi gelen oluşum işlenmeden önce arka uç çıkar Oluşum vadesi gelmiş kalır
Zamanlamadan kuyruğa işlem işlendikten sonra arka uç çıkar Aynı kuyruk öğesi önyüklemede sürdürülür
Bir istem başladıktan sonra arka uç çıkar Kesilen öğe otomatik yeniden oynatılmak yerine başarısız işaretlenir
Ana makine birkaç oluşumu kaçırır run_once onları tek çalıştırmada birleştirir; skip çalıştırmadan ilerler
Bir kuyruk çalıştırması son tarihini aşar Yürütücü oturumu iptal eder ve başarısız bir kuyruk öğesi kaydeder
Gözetmen sunucunun çıktığını görür Aşağıdaki örnekler kısa bir gecikmeden sonra onu yeniden başlatır

Bu, keyfi dış etkiler için tam olarak bir kez teslim değil, yinelemeye dayanıklı kurtarmadır. Dış sistemlere yazan bütünleştirmeler hâlâ kendi eşgüçlülük anahtarlarını kullanmalıdır.

Bir hizmet kurmadan önce

  1. Hizmeti çalıştıracak aynı kullanıcı olarak ax-code yürütülebilir dosyasını kurun ve sınayın.
  2. Tek bir mutlak proje yolu seçin. Sunucu başlangıcı o projeyi ön ısıtsın ve zamanlayıcısını başlatsın diye onu AX_CODE_PROJECT olarak ayarlayın.
  3. Sunucuyu 127.0.0.1 üzerinde tutun; AX Code sunucusu yalnızca yereldir.
  4. Sağlayıcı kimlik bilgilerini işlenmiş bir hizmet dosyasında değil, gözetmenin korumalı ortamında tutun.
  5. Seçilen örnekteki her /absolute/path/... yer tutucusunu değiştirin.

Örnekler, Desktop veya SDK istemcileri yeniden bağlanabilsin diye sabit bir bağlantı noktası kullanır:

ax-code serve --hostname=127.0.0.1 --port=4096

systemd kullanıcı hizmeti

systemd örneğini ~/.config/systemd/user/ax-code.service konumuna kopyalayın, mutlak yollarını değiştirin ve isteğe bağlı olarak kimlik bilgilerini ~/.config/ax-code/server.env içine koyun.

chmod 600 ~/.config/ax-code/server.env
systemctl --user daemon-reload
systemctl --user enable --now ax-code.service
systemctl --user status ax-code.service
journalctl --user -u ax-code.service -f

Kullanıcı oturumu kapalıyken kullanıcı hizmetinin çalışmasına işletim ilkeniz izin veriyorsa yalnızca loginctl enable-linger "$USER" kullanın.

launchd ajanı

launchd örneğini ~/Library/LaunchAgents/com.axcode.server.plist konumuna kopyalayın, mutlak yollarını değiştirin, sonra doğrulayın ve yükleyin:

plutil -lint ~/Library/LaunchAgents/com.axcode.server.plist
launchctl bootstrap "gui/$(id -u)" ~/Library/LaunchAgents/com.axcode.server.plist
launchctl kickstart -k "gui/$(id -u)/com.axcode.server"

launchd, ProgramArguments içinde kabuk değişkenlerini genişletmez. Mutlak yollar kullanın ve gereken kimlik bilgilerini operatörün yönettiği bir düzenekle sağlayın.

PM2

PM2 örneğini kopyalayın, yollarını değiştirin ve başlatın:

pm2 start docs/examples/ax-code-ecosystem.config.cjs
pm2 save
pm2 logs ax-code-server

Süreç bir ana makine yeniden başlatmasından sonra dönmeliyse PM2’nin platforma özgü başlangıç yönergelerini izleyin.

Son tarihler, yetişme ve kurtarma

Zamanlanmış görevler varsayılan olarak catchUpPolicy: "run_once" kullanır. Kesinti sonrasında AX Code sınırsız bir birikim oluşturmak yerine birleştirilmiş tek bir oluşum çalıştırır. Geç iş yanıltıcı veya güvensiz olacaksa "skip" seçin.

Her zamanlanmış görev maxRunDurationMs değerini 1 saniye ile 72 saat arasında ayarlayabilir. Görev kuyruğu yürütmesi aksi halde 72 saatlik tavanı kullanır. Etkin öğeler her 30 saniyede bir kalp atışı zaman damgasını günceller; uç durum ve hata ayrıntıları proje veritabanında kalır.

Zaman uyumsuz istem, komut ve kabuk uç noktaları HTTP 202 yanıtında kalıcı kuyruk öğesini döndürür. İstemciler id değerini saklamalı ve GET /task-queue/:id yoklamalıdır; durum completed, failed veya cancelled olana kadar. Kabul tek başına tamamlanma değildir.

Başlangıçta kalıcı bir AX Code arka ucu, zamanlanmış kuyruk öğelerini ve işlenmiş ama başlamamış, açıkça işaretlenmiş zaman uyumsuz öğeleri sürdürür. Tek seferlik CLI komutları bu öğelerin sahipliğini almaz. Hâlihazırda başlamış istem işi, bir operatör yan etkileri yeniden denemeden önce inceleyebilsin diye yeniden başlatma açıklamasıyla başarısız olur.

Zamanlanmış görevlerin ne yaptığını görmek

Her zamanlanmış görev oluşumu olurken görünür ve sonrasında denetlenebilir:

  • Başlama, tamamlama, başarısız olma, atlama ve kalıcı başarısızlıkta otomatik duraklatma her biri görevi adlandıran bir uygulama içi bildirim yükseltir.
  • /schedule TUI komutu her görevi durumu, zamanlaması, sonraki çalıştırma zamanı ve son hatasıyla listeler ve son çalıştırma geçmişini açar. Oradan duraklatabilir, sürdürebilir, şimdi çalıştırabilir, silebilir (onaylamak için ctrl+d tuşuna iki kez basın) ve bir çalıştırmanın ürettiği oturuma atlayabilirsiniz. Ajanın list_scheduled_tasks ve list_scheduled_task_runs araçları aynı soruları konuşarak yanıtlar.
  • Her çalıştırma, görev başlığıyla başlıklı yeni bir oturumda yürütülür; böylece bir bildirim kaçırılsa bile sonuçlar bir oturum listesi girdisi uzaktadır.
  • Bir çalıştırma siz başka bir konuşmayı görüntülerken izin veya soru yanıtı isterse bir uyarı bildirimi sizi gerektiren oturumu adlandırır; /attention bilinen bekleyen istekleri listeler ve isteyen oturumu açar. İstekler o oturumda veya yüklü bir atanın görünümünde, çocuk ve torun oturumlar dahil, yanıtlanabilir. Bir isteği açmak onu asla otomatik onaylamaz.
  • Tek seferlik bir görev yalnızca başarılı bir çalıştırmadan sonra devre dışı bırakılır. Başarısız bir oluşum sınırlı bir geri çekilmeyle yeniden dener ve yinelenen başarısızlıklar görevi bir bildirimle duraklatır — bir anımsatıcı artık sessizce yok olamaz.

Operasyonel denetimler

  • Gözetmenin yeniden başlatma sayısını ve sunucu günlüklerini izleyin.
  • Yeniden denemeden önce başarısız görev kuyruğu öğelerini ve zamanlanmış görev hatalarını inceleyin.
  • Proje SQLite veritabanı ve günlükler için yeterli disk alanı olduğunu doğrulayın.
  • Kimlik bilgileri, modeller veya hizmet yolları değiştikten sonra elle şimdi çalıştır deneyin.
  • AX Code SIGTERM alsın diye gözetmen üzerinden durdurun; örnekler zarif kapanış için 90 saniyeye kadar izin verir.

/loop kasıtlı olarak sürece yereldir ve bir yeniden başlatmadan sağ çıkmaz. Kalıcı gözetimsiz iş için zamanlanmış görevler kullanın.

146 terminal sütunu veya daha genişinde sol bir gezinti kenar çubuğu, güncel çalışma alanındaki oturumları ve yüklü çocuk ajanlarını gösterir. Bir satırı + denetimiyle genişletin ve açmak için bir başlığa tıklayın. Sabitlenmiş oturumlar sırasını ve kısayol numaralarını korur. Tam etkinlik etiketleri çalışmayı, yeniden denemeyi, onayları ve soruları ayırır; ebeveynler ayrıca alt öğelerden gelen istekleri yansıtır. Bu etiketler bir görevin doğrulamayı geçtiği anlamına gelmez. Mevcut sağ kenar çubuğu güncel oturumun bağlamını ve denetimlerini tutar.

Proje başlığı güncel dizini tanımlar. Tam proje yolunu ve güncel oturum başlığını görmek için ona tıklayın veya /navigation-info kullanın. Son, yüklü oturumları gösterir; Etkin, çalışan veya bekleyen oturum ağaçlarını ve güncel oturum ağacını tutar. Süzgeç gezinti seçiciyle paylaşılır ve anımsanır. Klavyeden geçiş için /navigation-filter kullanın. Bağlantı kesildiğinde hangi oturumların etkin olduğunu çıkarmak yerine önbelleğe alınmış oturumları gösterir. Temizle (veya /navigation-clear) onay ister, sonra tarihsel satırları yalnızca sol raydan ve gezinti seçiciden gizler. Oturumları silmez; /sessions onları hâlâ listeler. Güncel oturum ağacı, sabitlenmiş oturumlar ve gözlenen çalışan veya bekleyen ağaçlar rayda kalır. /sessions üzerinden bir oturum açmak onu listeye geri getirir.

20, 24, 28, 30, 32, 36 veya 40 sütun seçmek için /navigation-width veya gezinti Genişlik eylemini kullanın (varsayılan 28). Sağ oturum kenar çubuğunun aynı Genişlik eylemi ve /sidebar-width vardır (varsayılan 32). Her iki tercih anımsanır ve ana içeriği korumak gerektiğinde otomatik küçülür. Geniş terminallerde sol gezinti rayını gizlemek veya geri getirmek için /navigation kullanın. /sidebar sağ oturum kenar çubuğunu aynı şekilde gizler veya geri getirir. Daha dar terminallerde /navigation bunun yerine bir oturum ve ajan seçici açar. Görünür bir Oturumlar çubuğu, gezinti rayı yokken aynı eylemi sağlar. Bekleyen eylemi, bilinen istekler girdi istediğinde görünür; bağlantı kesildiğinde bir yıldız önbelleğe alınmış bir sayıyı işaretler. /sessions normal oturum seçicisini açmaya devam eder. /attention her genişlikte kullanılabilir. Bağlantı kesildiğinde listesi önbelleğe alınmış olarak etiketlenir; önbelleğe alınmış girdileri açmak hâlâ olanaklıdır ama istekler başka yerde yanıtlanmış olabilir. Kenar çubuğunun Bilinen istekler eylemi, bilinen çalışma alanları boyunca bekleyen istekleri açar; oturum ağacı güncel projeye kapsamlı kalır. Tüm bu görünümler bağlı örnek ve yüklü oturum verisiyle sınırlıdır; bu sayı diğer sunucuların veya yüklenmemiş çalışma alanlarının tam bir envanteri değildir.

Gönderilmemiş taslaklar, çalışan TUI içinde proje ve oturuma göre yalıtılır. Oturum değiştirmek metni, ekleri, imleç konumunu ve kabuk kipini korur; dönmek eşleşen taslağı geri getirir. Bu taslaklar yalnızca bellektedir ve TUI kapanınca sağ kalmaz.

İsteğe bağlı tamamlama bildirimi artık Session idle der. Görüntülenen oturum alt ağacındaki gözlenen işi izler ve gözlenen etkin alt öğelerin, bekleyen istek olmadan açıkça boşta kalmasını bekler. Bağlantı kesilmeleri, yeniden eşitlemeler, eksik durum, hatalar ve iptal bildirimi bastırabilir. Bu bir yaşam döngüsü bildirimidir; testlerin geçtiğinin veya bir hedefin tamamlandığının kanıtı değildir.

Yeni görevler ve kurulum

Normal başlangıç, altta bir besteci ve oturum gezintisi olan Yeni görev çalışma yüzeyini açar. Onu açmak veya bir taslak yazmak kaydedilmiş bir oturum oluşturmaz; bir oturum gönderdiğinizde oluşturulur. Mevcut işi sürdürmek için /sessions veya sol gezintiyi kullanın. Açık --session, --continue ve --prompt davranışı kullanılabilir kalır; başlangıç otomatik sürdürmeyi açmaz.

Sağlayıcı kurulumu otomatik açılmaz. Hiç sağlayıcı yapılandırılmadığında çalışma alanındaki görünür /connect eylemini kullanın. Bir sağlayıcı yapılandırılmış ama geçerli bir model seçilmemişse eylem /models olur. Başarısız sağlayıcı keşfi /status adresine işaret eder; /connect ve /providers yapılandırmayı onarmak için kullanılabilir kalır. Seçilen bir model bir yapılandırma seçimidir, bir kimlik bilgisi veya çalışma zamanı hazırlık denetimi değildir. İpuçları, yapılandırması dikkat isteyen geri dönen kullanıcılar için de görünür.