LoopSmith · 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 üç rol çalışır: analyst, build ve verifier; tüm projeler ortak bir bütçeyi paylaşır.

$125 saatte
$30haftalık
$60aylık bütçe

Temel kavram

LoopSmith nedir?

LoopSmith, her biri tamamen izole bir çalışma ortamı olan proje sandbox'larından oluşan bir platformdur. Her projenin kendi dizini, git deposu, container'ı, portu ve web UI'ı bulunur; her container 2 GB bellek ve ~1,5 CPU payıyla sınırlanır. Bir projedeki iş hiçbir zaman başka bir projeye sızmaz.

Her projenin üç adresi vardır: yayın adresi (<proje>.loopsmith.pro, dist/ içeriğini sunar), dev sunucu adresi (<proje>.dev.loopsmith.pro, dev sunucusu çalışırken erişilebilir) ve yalnızca WireGuard üzerinden erişilen studio. /links komutu üçünü birden tek seferde listeler.

Üç rol

Proje içindeki ajanlar

Sandbox'ların içinde opencode ajanları çalışır. Her rolün net bir görevi vardır:

🔍

analyst

Sorunları teşhis eder ve plan üretir; kodu hiçbir zaman değiştirmez. UI'ın ekran görüntüsünü alabilir ve gerçekten bakabilir. Devops teşhisini de üstlenir: dev sunucusu neden açılmıyor, build çıktısı neden yanlış yerde — bunları salt-okunur araçlarla inceler.

⚙️

build

Kodu yazar ve uygular. Net ve kapsamı dar bir istek geldiğinde doğrudan devreye girer; kendi ürettiği çıktıyı asla kendisi onaylamaz.

verifier

Bitmiş işi bağımsız olarak kontrol eder; kodu değiştirmez. Önemli işlerden sonra ayrı bir geçiş olarak çalıştırılır ve yalnızca rapor üretir.

İş nasıl yönlendirilir?

  • Yeşil saha (greenfield) işler önce analyst'ten plan ister.
  • Net ve dar bir istek doğrudan build'e gider.
  • Belirsiz bir belirti önce analyst'e gider.
  • Önemli, tamamlanmış işler verifier geçişinden geçer.
  • build kendi çıktısını onaylamaz; onay ayrı bir göz olan verifier'ındır.

Çalışma modeli

Kim neyi onaylatır?

İşi isteyen paydaştır (stakeholder). LoopSmith'te bir de ürün sahibi (product owner) vardır: istekleri ajanlara aktarır, önceliklendirir ve bir işin gerçekten bittiğini ilan eden kişidir.

Güven kapısı şudur: ajanların "tamam, bitti" demesi yetmez. Ürün sahibi, önemli işlerin verifier gibi bağımsız bir gözden geçtiğini ve sonucun beklentiyi karşıladığını doğrulamadan işi bitmiş ilan etmez.

Paralellik

Projeler paralel çalışır

Her projede aynı anda bir iş koşar; farklı projeler ise birbirinden bağımsız ve aynı anda ilerler. Bir projenin işi, diğer projelerin işlerini durdurmaz.

Yönlendirme özeti

  • Yeşil saha ve belirsiz işler önce analyst planı ister.
  • Net, dar istekler build'e gider.
  • Önemli, tamamlanmış işler verifier geçişinden geçer.
  • build kendi çıktısını onaylamaz.

Neler yapabilirsin

Yapılabilecekler

Nasıl çalışır

Nasıl komut verilir?

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

Birkaç kısayol ise slash komutudur. Örneğin /links, bir projenin tüm adreslerini (yayın, dev, studio) tek seferde listeler.

Yönlendirme kuralı: net ve dar bir istek doğrudan build'e gider; belirsiz bir belirti önce analyst'e; önemli tamamlanmış işler verifier geçişinden geçer.

Referans

Komut Tabloları

Sık kullanılan ve ileri düzey istekler 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 istekler

İstek 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) Net ve dar işlerde kodu yazıp uygulayan ajana görev iletir. "lab'a build ver: login ekranını yap"
Önce analiz al (analyst) Belirsiz belirti veya büyük işlerde önce teşhis ve plan ürettirir. "lab'a analyst ver: CLI mimarisini çıkar"
Doğrulama iste (verifier) Bitmiş önemli işi bağımsız bir geçişle kontrol ettirir. "lab'daki işi verifier ile doğrula"
Kaldığın yerden devam Son oturumun durumunu ve kaldığı noktayı gösterir. "lab'da nerede kalmıştık?"
Sunucu durumunu gör Proje container'ının sınırlarını ve sunucunun genel durumunu özetler. "lab'ın kaynak kullanımı nasıl?"
Kullanımı kontrol et Token ve bütçe istatistiklerini özetler; rakam token sayılarından hesaplanır. "Bu ayki kullanım ne kadar?"
Dosya / fotoğraf bırak Gönderdiğin dosyayı veya fotoğrafı projeye yerleştirir. "lab'a şu fotoğrafı koy: …"
Dosya çek Projeden bir dosyayı (ekran görüntüsü, rapor) çekip gösterir. "lab'dan son raporu çek"
Dosyaları doğrudan oku Projenin dosyalarını anında gösterir — ajan çalıştırmaz. "lab'ın dosyalarını göster"

Gelişmiş / yönetim istekleri

İstek Açıklama Örnek kullanım
Adresleri listele (/links) Projenin yayın, dev ve studio adreslerini birlikte gösterir. "/links"
Yayın adresi Projenin yayın adresi; dist/ içeriğini sunar (yalnızca statik). "lab'ın adresi ne?"lab.loopsmith.pro
Dev sunucusunu başlat / durdur / sor Dev adresini açar, kapatır ya da durumunu bildirir; package.json'da scripts.dev gerekir. "lab'ın dev sunucusunu başlat"lab.dev.loopsmith.pro
Studio adresi Yönetim arayüzü; yalnızca WireGuard üzerinden erişilir. "lab hangi portta?"http://10.0.0.1:<PORT>
Yayına al dist/ klasöründeki içeriği yayın adresinden sunar. "lab'ı yayınla"lab.loopsmith.pro
Disk alanını temizle Docker depolamasında biriken alanı loopctl prune ile geri kazandırır. "disk alanını temizle"
Maliyet raporu al Gerçek harcamayı token sayılarından hesaplar; rakam bir alt sınırdır. "Bu ayki kullanım ne kadar?"loopctl cost
Paralel iş koştur Başka projeleri durdurmadan bir projeye yeni iş verir; iş bitince haber verir. "docs'a paralel bir iş ver: …"
Zamanlanmış görev tanımla Periyodik veya tek seferlik işleri cron ile planlar (proje sandbox'larından ayrı). "her gün 09:00'da lab'ın durumunu raporla"
Sorun bildir Beklenmedik davranışı tarif ederek düzeltilmesini ister. "lab şu hatayı veriyor: …"

Adresler

Web erişimi

Her projenin üç adresi vardır: yayın, dev ve yalnızca WireGuard üzerinden erişilen studio. /links komutu üçünü birden listeler.

Yayın adresi <proje>.loopsmith.pro

dist/ klasöründeki statik siteyi sunar; her zaman açıktır. Yalnızca statik dosya sunar — çalışan bir sunucu gerektiren API tabanlı bir uygulama yayın adresinde tam olarak yaşayamaz.

Dev sunucusu <proje>.dev.loopsmith.pro

Dev sunucusu çalışırken erişilebilir; talep üzerine başlatılıp durdurulur. Gerçek uygulama burada çalışır: sunucu 0.0.0.0:3000'e bağlanır ve package.json'da scripts.dev tanımlı olmalıdır.

Studio (yönetim arayüzü) http://10.0.0.1:<PORT>

Yalnızca WireGuard üzerinden erişilir. PORT, projeye atanan porttur ve "Projeleri listele" ya da /links komutuyla öğrenilir.

Yayınlama: dist/ klasörüne üretilen çıktı yayın adresinden sunulur (yalnızca statik dosyalar). Çalışan bir sunucu gerektiren uygulamaların yeri dev adresidir.

Kaynaklar

Kaynaklar ve izleme

Her proje container'ı sınırlı kaynakla çalışır; sunucunun genel durumu ise ayrı bir araçla izlenir.

Dikkat: container içinden nproc ya da free çalıştırmak sunucunun tamamını gösterir — kendi limitlerini değil. Kendi sınırlarını öğrenmek için cgroup değerleri esas alınır.

Bütçe

Kullanım limitleri

Tüm projeler ortak bir bütçeyi paylaşır (OpenCode Go planı); bir projenin harcaması, diğerlerinin kullanabildiği alanı etkiler:

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

Gerçek harcama, token sayılarından hesaplanır. Proje bazlı harcamayı loopctl cost ile görürsün (tüm projeler için loopctl cost, tek proje için loopctl cost <proje>); pano opencode.ai/workspace üzerinde sunulur. Hesaplanan rakam bir alt sınırdır (floor): faturalanan tutar farklılık gösterebilir.

Model maliyetleri

Rol Model Girdi / 1M Çıktı / 1M
analyst (planner) gpt-5.6-luna $0.20 $1.20
build (executor) deepseek-v4-flash $0.14 $0.28

Zamanlanmış görevler (cron) proje sandbox'larından ayrı tanımlanır ve yine bu ortak bütçeden beslenir. Plancı model yaklaşık 4 kat daha pahalıdır; bir işte tekrar tekrar analiz istemek bütçeyi hızla yakar.

Adım adım

Hızlı Başlangıç

  1. Projeleri listele

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

    Sen"Projeleri listele"

    LoopSmith"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"

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

  3. Görevi ver

    Net ve dar istekler doğrudan build'e gider; belirsiz işlerde önce analyst'e danış.

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

    LoopSmith"Plan hazır. Onaylarsan build ile uygulatabilirim."

    Sen"Onayladım, build ile uygula"

    LoopSmith"Build tamamladı. İstersen verifier ile doğrulatayım."

  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?"

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

  5. Dosya bırak ve çek

    Bir tasarım fotoğrafı bırak, sonra da çıkan raporu geri çek.

    Sen"lab'a şu arayüz fotoğrafını koy"

    LoopSmith"Fotoğraf lab'a eklendi."

    Sen"lab'dan son ekran görüntüsünü çek"

    LoopSmith"Son ekran görüntüsü hazır, aşağıda."

  6. Kaynaklarını ve bütçeni izle

    Container sınırlarını ve gerçek harcamayı ara ara kontrol et.

    Sen"lab'ın kaynak kullanımı nasıl?"

    LoopSmith"lab 2 GB bellek limitinde; sunucu disk ve RAM açısından sağlıklı."

    Sen"Bu ayki kullanım ne kadar?"

    LoopSmith"Aylık $60 bütçesinden $14 harcandı (raporlanan rakam bir alt sınırdır)."

Sıkça sorulanlar

Sıkça Sorulan Sorular

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

Kurulum yapmam gerekiyor mu?

Hayır. LoopSmith 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 projeye doğal dille 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". Slash kısayolları da vardır: /links, bir projenin tüm adreslerini tek seferde listeler.

Analyst, build ve verifier arasındaki fark nedir?

analyst sorunları teşhis eder ve plan üretir, kod değiştirmez. build kodu yazar ve uygular; kendi çıktısını asla onaylamaz. verifier bitmiş önemli işi bağımsız olarak kontrol eder, kod değiştirmez. Net ve dar istekler doğrudan build'e gider; belirsiz belirtiler önce analyst'e; tamamlanan önemli işler verifier geçişinden geçer.

Bir işin "bittiğini" kim onaylar?

Ajanların "tamam, bitti" demesi yetmez. Ürün sahibi (product owner), önemli işlerin verifier gibi bağımsız bir gözden geçtiğini ve sonucun beklentiyi karşıladığını doğrulamadan işi bitmiş ilan etmez.

Projeler aynı anda çalışabilir mi?

Evet. Her projede aynı anda bir iş koşar; farklı projeler ise birbirinden bağımsız ve paralel ilerler. Uzun sürecek işler arka planda koşar ve bittiğinde haber verilir.

Projenin yayın ve dev adresleri nelerdir?

Her projenin üç adresi vardır: yayın adresi <proje>.loopsmith.pro (sürekli açıktır, dist/ içeriğini sunar), dev sunucu adresi <proje>.dev.loopsmith.pro (yalnızca dev sunucusu çalışırken erişilebilir) ve yalnızca WireGuard üzerinden erişilen studio. Üçünü birden /links komutuyla listelersin.

Studio'ya (yönetim arayüzü) nasıl ulaşırım?

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

Yayın adresinde API tabanlı uygulamam neden çalışmıyor?

Yayın adresi yalnızca statik dosya sunar: dist/ klasöründeki içeriği yayınlar, arka planda bir sunucu çalıştırmaz. Bu yüzden API gerektiren uygulamalar yayın adresinde tam olarak yaşayamaz; gerçek uygulama dev sunucusunda çalışır ve dev adresinden erişilir.

Dev sunucusu neden açılmıyor?

Dev sunucusunun dışarıdan görünmesi için iki şart vardır: package.json'da bir scripts.dev komutu tanımlı olmalı ve sunucu 0.0.0.0:3000'e bağlanmalıdır (yalnızca localhost'a bağlanan bir sunucu dışarıdan görünmez).

Projeye dosya veya fotoğraf bırakabilir miyim?

Evet. Gönderdiğin bir dosyayı ya da fotoğrafı doğrudan projeye bırakabilirsin; örneğin "lab'a şu tasarımı koy: …". Ters yönde de projeden bir dosyayı (ekran görüntüsü, rapor) çekip görüntüleyebilirsin.

Projenin dosyalarını kendim okuyabilir miyim?

Evet. Projenin dosyalarını doğrudan, anında okuyabilirsin — bu işlem ajan çalıştırmaz, yani beklemek gerekmez.

Bir proje ne kadar kaynak kullanabilir?

Her container 2 GB bellek ve ~1,5 CPU payıyla sınırlıdır. Sunucunun genel durumu (disk, RAM, yük) ise ayrı bir server_health aracıyla izlenir; container içinden host değerlerini göremezsin.

Docker disk alanı doluyorsa ne yapmalıyım?

İmaj ve hacimler zamanla geri kazanılabilir alan biriktirir. Biriken alanı loopctl prune komutuyla temizleyebilirsin (ör. "disk alanını temizle").

Maliyet nasıl hesaplanıyor?

Gerçek harcama, token sayılarından hesaplanır: proje bazlı loopctl cost, pano ise opencode.ai/workspace üzerinde sunulur. Hesaplanan rakam bir alt sınırdır (floor) — faturalanan tutar farklılık gösterebilir.

Zamanlanmış görevleri nasıl tanımlarım?

Periyodik veya tek seferlik işler cron görevleridir ve proje sandbox'larından ayrı çalışır. Örneğin "her gün 09:00'da lab'ın durumunu raporla" gibi doğal dille tanımlayabilirsin.

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). Bir projenin harcaması diğerlerini de etkiler; 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 analyst'ten teşhis ve plan iste, ardından build ile uygulat ve önemli işlerde verifier ile doğrulat.