Loop Harness · Kullanım Rehberi

İzole proje sandbox'larında ajanlarla çalışın

Her projenin kendi dizini, git deposu, container'ı, portu ve web UI'ı var. Projelerin içinde opencode ajanları (plan/build) çalışır.

Harness nedir?

Harness, her biri tamamen izole bir çalışma ortamı olan proje sandbox'larından oluşan bir altyapıdır. Her projenin kendi dizini, git deposu, container'ı, portu ve web UI'ı bulunur. Bir projedeki iş hiçbir zaman başka bir projeye sızmaz.

Sandbox'ların içinde opencode ajanları çalışır: plan ve build. Doğal dille görev verirsin, ajan gerisini halleder.

Yapılabilecekler

Nasıl komut verilir?

Özel bir komut diline gerek yok. Doğal dille isteğini yaz, ajan anlasın. Örnekler:

Ajanın anlaması gereken tek şey hedef ve istenen sonuç. İş belirsizse önce plan iste; netleşince build ile uygulat.

Komut Tabloları

Sık kullanılan ve ileri düzey komutlar aşağıda tablo halinde özetlenmiştir. Tüm istekler doğal dille yazılır; tablolardaki örnekler yalnızca başlangıç noktasıdır.

Temel komutlar

Komut Açıklama Örnek kullanım
Projeleri listele Tüm projeleri durumları ve portlarıyla gösterir. "Projeleri listele"
Yeni proje oluştur İsim kuralına uygun yeni bir sandbox başlatır. "Yeni proje oluştur — adı lab"
Görev ver (build) Kodu yazıp uygulayan ajana görev iletir. "lab'a build ver: login ekranını yap"
Önce plan al Büyük veya belirsiz işlerde önce analiz ürettirir. "lab'a plan ver: CLI mimarisini çıkar"
Kaldığın yerden devam Son oturumun durumunu ve kaldığı noktayı gösterir. "lab'da nerede kalmıştık?"
Kullanımı kontrol et Token ve bütçe istatistiklerini özetler. "Bu ayki kullanım ne kadar?"

Gelişmiş / yönetim komutları

Komut Açıklama Örnek kullanım
Web UI adresi Projenin erişim adresini söyler. "lab'ın adresi ne?"http://10.0.0.1:<PORT>
Port öğren Projenin dinlediği portu verir. "lab hangi portta?"
Loop oluştur Zamanlanmış görev (timer) tanımlar; durdurulana kadar periyodik çalışır. loopctl add harness-guide daily-triage L1
Loop'u durdur / kaldır Timer'ı geçici olarak durdurur veya tamamen kaldırır. loopctl stop / loopctl remove
Kill switch Tüm loop'ları anında durdurur (acil durum). touch ~/loop/projects/harness-guide/.loop-halt
Sorun bildir Beklenmedik davranışı tarif ederek düzeltilmesini ister. "lab şu hatayı veriyor: …"

Web UI erişimi

Her projenin web UI'ı WireGuard üzerinden aşağıdaki adreste sunulur:

http://10.0.0.1:<PORT> PORT, projeye atanan port numarasıdır (listeleme sonucundan öğrenilir).

Kullanım limitleri

Tüm projeler ortak bir bütçeyi paylaşır (OpenCode Go planı):

$12 5 saatte
$30 haftalık
$60 aylık

Hızlı Başlangıç

  1. Projeleri listele

    Mevcut projeleri ve hangi portta çalıştıklarını gör.

    Sen: "Projeleri listele"

    Harness: "lab (port 8080), docs (port 8081) — 2 proje var."

  2. Yeni proje oluştur

    İsim kuralına dikkat: küçük harf / rakam / tire, harfle başlar.

    Sen: "Yeni proje oluştur — adı lab olsun"

    Harness: "lab oluşturuldu. Container, git deposu ve port hazır."

  3. Görevi ver

    Büyük ya da belirsiz işlerde önce plan, ardından build.

    Sen: "lab'a plan ver: bir CLI aracının mimarisini çıkar"

    Harness: "Plan hazır. Onaylarsan build ile uygulatabilirim."

  4. Nerede kaldığını gör

    Oturum geçmişini incele, işi bıraktığın yerden sürdür.

    Sen: "lab'da nerede kalmıştık?"

    Harness: "Son oturum CLI mimarisini onayladı; build kısmı bekliyor."

  5. Bütçeni takip et

    Ara sıra kullanım istatistiklerine göz at.

    Sen: "Bu ayki kullanım ne kadar?"

    Harness: "Aylık $60 bütçesinden $14 harcandı."

Sıkça Sorulan Sorular

En çok merak edilenler, kısa ve net cevaplarla.

Kurulum yapmam gerekiyor mu?

Hayır. Harness her projeyi hazır bir sandbox içinde başlatır: dizin, git deposu, container ve portlar sizin için oluşturulur. Tek yapmanız gereken web UI'dan projeye girip komut vermek.

Özel bir komut dili öğrenmem gerekir mi?

Gerekmez. Doğal dille isteğini yazarsın; ajan hedefi ve beklenen sonucu anlayarak çalışır. Örnek: "Projeleri listele".

Plan ve build ajanları arasındaki fark nedir?

plan yalnızca analiz eder ve plan üretir, dosya değiştirmez. build kodu yazar ve uygular. Büyük ya da belirsiz işlerde önce plan al, sonra build ile uygulat.

Projenin web UI'ına nasıl ulaşırım?

WireGuard üzerinden http://10.0.0.1:<PORT> adresinden ulaşırsın. PORT, projeye atanan porttur ve "Projeleri listele" komutuyla öğrenilir.

Bütçe biterse ne olur?

Tüm projeler ortak bir bütçeyi paylaşır: $12 (5 saat), $30 (haftalık) ve $60 (aylık). Kullanım istatistiklerini izleyerek limite yaklaşmadan önlem alabilirsin.

Projeler gerçekten birbirinden izole mi?

Evet. Her projenin kendi dizini, git deposu, container'ı, portu ve web UI'ı vardır. Bir projedeki iş hiçbir zaman başka bir projeye sızmaz.

"Nerede kalmıştık?" nasıl çalışır?

Oturum geçmişi her proje için saklanır. "lab'da nerede kalmıştık?" gibi bir soru, son oturumun durumunu ve kaldığın noktayı gösterir.

Ajan istemediğim bir şey yaparsa ne yapmalıyım?

Sorunu açıkça tarif et, örneğin "lab şu hatayı veriyor: …". Gerekirse önce plan iste, düzeltmeyi gözden geçir ve onayladıktan sonra build ile uygulat.

Loop nedir ve ne zaman kullanmalıyım?

Loop, periyodik çalışan zamanlanmış görevdir (örn. günlük durum raporu). loopctl ile eklenir, durdurulur veya kaldırılır; acil durumda kill switch tüm loop'ları anında durdurur.