Ana içeriğe geç

Laneward

Laneward, tek bir depo üzerinde aynı anda birden çok kodlama ajanı çalıştırır, her birini kendi git worktree'sine koyar ve birbirlerine çarpmalarını engeller. Onaylanmış iş, editörünü kapattıktan sonra da sürer.

Kur Neye karşı korumadığını oku

İş planlamaz, kod yazmaz. Neyin yapılacağına sen karar verirsin; Laneward her görevi kaydeder, ne zaman başlamanın güvenli olduğuna karar verir, ajanı başlatır, neye dokunduğunu denetler ve sonucu tek ekranda gösterir.

Bunu kurulumdan sonra değil, önce oku

Laneward 127.0.0.1 üzerinde, kimlik doğrulaması olmadan dinler. Tek kullanıcılı, güvenilen bir makine için tasarlandı. Dışarı açma.

Her lane'in worktree'si, sürülen deponun .env dosyasının bir kopyasını alır; yani ajan senin gerçek gizli değerlerini okuyabilir. Yalnızca DATABASE_URL yeniden yazılır, o lane için açılan veritabanına. Maskeleme yok. Bkz. Güvenlik ve sınırlar.

Üç hareketli parça

Hub, sürekli çalışan bir web servisidir. Bütün kayıtlar onundur (planlar, lane'ler, mesajlar, onaylar, bildirimler), 127.0.0.1:8787 üzerinden HTTP yanıtlar ve panoyu sunar. Kendi başına hiçbir şeye karar vermez: soru yanıtlar ve yanıtları saklar.

Conductor, hub'ın yalnızca kaydettiği işi yapan döngüdür. Her beş saniyede bir hub'a neyi başlatabileceğini sorar, izin verilen her lane için bir ajan başlatır, ajanın neye dokunduğunu puanlar ve sonucu geri bildirir. Açık bir editör oturumu yokken de işin sürmesi için vardır.

Ajan, tanımladığın kodlama ajanıdır: Codex, Claude Code veya kendi ham komutun. Brief'i stdin'den okur, kendisine verilen worktree içinde çalışır ve çıkış koduyla sinyal verir. Laneward varsayılan bir ajanla gelmez ve sen birini tanımlayana kadar ilk lane'i reddeder.

Lane

Lane, tek bir ajana verilen, sınırları belli tek bir iştir. Şunlara sahiptir:

  • bitmediği sürece başkasının dokunamayacağı bir dosya yolu kümesi,
  • <repo>-worktrees/<lane_id> altında bir worktree,
  • lane/<lane_id> adında bir dal,
  • ve genellikle kendi veritabanı: sürülen deponun bağlantısı kopyalanıp veritabanı adı değiştirilerek oluşturulur.

Yolları kesişen iki lane aynı anda çalışamaz; dahası hub, ilki bitmemişken ikincisini kaydetmeyi baştan reddeder. Sistemin bütün mesele ettiği şey bu reddir.

Bir lane nasıl biter

Bir lane nasıl biter Bir lane pending olarak kaydedilir, bütün kapılar geçilince running olur ve running durumundan üç sondan birine varır: completed, failed ya da waiting_approval. Yeniden denenebilir bir hata onu 1. ve 2. deneme için pending durumuna geri gönderir; çözülen bir onay da aynısını yapar. kaydedildi pending running completed failed waiting_approval bütün kapılar geçildi çıkış 0, kanıt temiz, kontroller geçti Git sınırı ihlali, ya da 3. deneme çıkış 10, ya da bir eskalasyon işareti yeniden denenebilir hata, 1. ve 2. deneme onay çözüldü

completed, ajanın 0 ile çıktığı, yalnızca sahip olduğu yollara dokunduğu ve sürülen deponun tanımladığı kontrollerin geçtiği anlamına gelir. İşin doğru, gözden geçirilmiş, commit edilmiş veya merge edilmiş olduğu anlamına gelmez. Commit ve merge, tasarım gereği elle yapılır.

Senin yerine yapmayacakları

  • İş planlamak, lane'lere bölmek, brief yazmak.
  • Commit, merge, push, pull request açmak. Dördü de bilerek elle bırakıldı.
  • Lane worktree'sine kopyaladığı .env içindeki sırları maskelemek.
  • Aynı veritabanına karşı ikinci bir conductor çalışmasını engellemek.
  • Herhangi bir kimlik doğrulaması yapmak veya 127.0.0.1 dışında sunmak.

Projenin durumu

Geliştirme durdu; sebep ilgi değil, para. Çalışan şeyler varsayılmadı, ölçüldü; koşular kanıt notlarında yazılı ve her biri neyi kanıtlayamadığını da söylüyor. Issue ve pull request'ler yanıtsız kalabilir. Lisans MIT: fork et, başka bir yere taşı, izin gerekmiyor.

Üretimde çalıştıracak bir şey arıyorsan bu o değil. Okunacak, sökülecek veya devam ettirilecek çalışan bir tasarım arıyorsan, burada olan tam olarak bu; bu kılavuz da onu çalıştırmanın yolu.

Nereye gitmeli

  • Kurulum ve ilk çalıştırma


    Bir hub, bir conductor ve bir veritabanı, bir klondan, bu makinede.

    Kur

  • Yapılandırma


    Bir ajan tanımla, model katmanlarını doldur, her değişkeni oku.

    Yapılandır

  • İlk lane


    Gerçek bir iş baştan sona: brief, lane, ajan, karar, sonuç elinde.

    Lane sür

  • Brief yazmak


    Ajanın gerçekten okuduğu sözleşme ve onu doğru puanlatmanın yolu.

    Brief yaz

  • Sorun giderme


    Bir lane neden başlamaz, sistemdeki her ret ne anlama gelir.

    Teşhis et

  • Güvenlik ve sınırlar


    Kimlik doğrulaması yok, kopyalanmış bir .env ve gerçekte doğrulanmış olan.

    Sınırları oku

Sözlük bu projenin belirli bir anlamda kullandığı terimlerdir ve mimari serisi her D-0NN referansının işaret ettiği karar kaydı dahil, altındaki tasarımdır.