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.
-
📁
Kendi dizini
Her proje kendi dosya alanında yaşar.
-
🔗
Kendi git deposu
Değişiklikler ayrı izlenir, commit'ler ayrı yapılır.
-
🧱
Kendi container'ı
Ortam, bağımlılıklar ve portlar projeye özeldir; 2 GB bellek / ~1,5 CPU ile sınırlıdır.
-
🌐
Kendi web UI'ı
Projeyi tarayıcıdan izle ve yönet.
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.
-
🗣️
Paydaş
Ne istediğini doğal dille söyler.
-
🧭
Ürün sahibi
İsteği yorumlar, yönlendirir ve önceliklendirir.
-
🤖
Ajanlar
analyst / build / verifier rollerine göre çalışır.
-
🛡️
Kalite kapısı
İş, verifier onayı ve ürün sahibinin kontrolüyle "tamam" sayılır.
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.
-
İş başlatma
Doğal dille istediğini söyle — "docs'a şu görevi ver". İstek, uygun role otomatik yönlendirilir.
-
Arka plan işleri
Uzun sürecek bir iş verildiğinde LoopSmith seni bekletmez; iş arka planda koşar ve bittiğinde haber verir.
-
Bir iş, tek seferde bir proje
Bir projenin içinde işler sıraya girer; paralellik projeler arasındadır.
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
-
Projeleri listeleme
Mevcut tüm projeleri, durumları ve portlarıyla görürsün.
-
Yeni proje oluşturma
İsim kuralı: küçük harf / rakam / tire kullanılabilir ve isim mutlaka harfle başlar.
-
Proje ajanına görev verme
Net ve dar istekler doğrudan "build"e gider; belirsiz belirtiler önce "analyst"e;
önemli bitmiş işler "verifier" ile doğrulanır. Aynı anda bir projede bir iş,
projeler arasında ise paralellik.
-
Proje oturumlarını görme
"Nerede kalmıştık?" sorusunun cevabı burada — geçmiş oturumlar ve durum.
-
Kullanım / token istatistikleri görme
Harcanan token ve bütçe durumunu takip et; gerçek harcama token sayılarından hesaplanır.
-
Sunucu ve kaynak durumunu görme
Container'ların bellek/CPU sınırlarını ve sunucunun genel durumunu (disk, RAM, yük) izlersin.
-
Disk alanını temizleme
Docker depolamasında biriken, geri kazanılabilir alanı
loopctl prune ile boşaltırsın.
-
Dev sunucusunu yönetme
Projenin dev sunucusunu başlatır, durdurur ve durumunu sorarsın.
-
Adresleri tek komutla listeleme
/links komutu projenin yayın, dev ve studio adreslerini birlikte gösterir.
-
Dosya veya fotoğraf bırakma
Gönderdiğin bir dosyayı ya da fotoğrafı doğrudan projeye bırakabilirsin.
-
Dosya çekme
Projeden bir dosyayı (ekran görüntüsü, rapor) çekip görüntüleyebilirsin.
-
Dosyaları doğrudan okuma
Projenin dosyalarını anında okursun — ajan gerektirmez, beklemek yok.
Nasıl çalışır
Nasıl komut verilir?
Özel bir komut diline gerek yok. Doğal dille isteğini yaz, ajan anlasın.
Örnekler:
"Projeleri listele"
"Yeni proje oluştur"
"lab projesine şu görevi ver"
"lab'da nerede kalmıştık?"
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
Gelişmiş / yönetim istekleri
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.
-
🧠
Container sınırları
Her proje 2 GB bellek ve ~1,5 CPU payıyla sınırlıdır. Gerçek sınırlar container içinden cgroup değerlerinden okunur.
-
🖥️
Sunucu sağlığı
Host disk, RAM ve yük bilgisi ayrı bir
server_health aracıyla gelir; container içinden host değerleri görünmez.
-
🗄️
Docker depolama
İmaj ve hacimler zamanla alan biriktirir; geri kazanılabilir alanı
loopctl prune ile temizleyebilirsin.
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
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ıç
-
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."
-
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."
-
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."
-
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."
-
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."
-
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.