8 puan yazan GN⁺ 6 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Ev laboratuvarı servis yönetimi için OpenCode Web UI'ye Git erişimi eklenmiş ve yapay zeka değişiklikleri PR incelemesinden sonra GitOps tarafından dağıtılan bir akış kurulmuş
  • Yaklaşık 12 adet docker compose stack'i Arcane'e taşınıp GitOps ile yönetiliyor; yapay zeka araçları da servis bakımında kullanılıyor
  • Konteyner güncellemelerinde sürüm notlarını incelemek, breaking change'leri kontrol etmek ve manuel doğrulama yapmak eskiden saatler alıyordu; artık sürüm notu özetleri birkaç dakika içinde okunabildiği için sürüm yükseltmeleri daha kolay ve daha güvenli hale geliyor
  • OpenCode sunucu olarak çalışıyor; terminal, dosya gezgini, Git diff ve git worktree sağlıyor ve birden fazla cihaz arasında kalıcı kodlama oturumlarını senkronize ediyor
  • Yapay zeka gerçek servislere doğrudan erişemiyor ve yalnızca Git branch'lerine push yapabiliyor; böylece incelenmemiş kodun dağıtıma çıkmadığı bir yapı oluşuyor

Ev laboratuvarı yönetim akışı

  • OpenCode Web UI'ye Git erişimi verilerek ev laboratuvarı yönetimi kolaylaştırılmış; OpenCode Git'e değişiklikleri push ettiğinde, insan PR'ı onaylıyor ve ardından GitOps değişiklikleri dağıtıyor
  • OpenCode sunucu olarak çalışıyor ve kalıcı kodlama oturumları birden fazla cihaz arasında senkronize ediliyor
  • Yönetilen servisler yaklaşık 12 adet docker compose stack'inden oluşuyor; bunlar yakın zamanda Arcane'e taşınmış ve GitOps ile yönetilip dağıtılıyor
  • Yapay zeka araçlarının ilk kullanım senaryosu konteyner güncellemeleri olmuş
    • Önceden her servisin sürüm notlarını bulmak, breaking change'leri kontrol etmek, güncellemeyi çalıştırmak ve her servisteki sorunları manuel olarak doğrulamak gerekiyordu
    • Bu süreç saatler sürüyordu; artık sürüm notu özetleri birkaç dakika içinde okunabildiği için sürüm yükseltmeleri daha kolay ve daha güvenli hale geliyor
    • Çoğu konteynere healthcheck eklemek için yapay zekadan yararlanılmış; böylece sorunlar daha hızlı fark edilebiliyor

OpenCode

  • Ağırlıklı olarak Claude Code kullanılıyordu, ancak yapay zeka sağlayıcıları token sınırlarıyla müşteri değerini azaltmaya başladığı için başka seçeneklere bakılmış
  • İstenen araç, belirli bir satıcıya bağımlı olmayan ve başlıca eklentilerin desteklediği bir kodlama ortamıydı
  • Birden fazla kodlama ortamı denendikten sonra OpenCode seçilmiş; denenen seçenekler arasında en çok beğenilen araç olmuş
  • OpenCode'un yerleşik web sunucusu ve web UI'ye sahip olması, ev laboratuvarı için yapay zeka geliştirme platformu fikrinin çıkış noktası olmuş

Yapay zeka geliştirme platformu

  • Truenas host üzerinde temel geliştirme araçlarına sahip basit bir VM oluşturulmuş ve OpenCode web sunucusu bir systemd unit olarak eklenmiş
  • Bu ortam yerleşik terminal, dosya gezgini, Git diff ve git worktree desteği sunuyor; böylece aynı anda birden fazla kodlama oturumu yönetilebiliyor
  • OpenCode'un mobil web UI'sindeki soru-cevap açılır penceresi çok başarılı bulunmuş
  • Git sunucusunda OpenCode'a özel bir kullanıcı ve özel bir SSH anahtarı verilmiş
    • OpenCode projeyi clone edebiliyor ve branch push edebiliyor
    • Dağıtım branch'ine doğrudan push yapamıyor
  • İş akışı, yapay zekayı PR incelemesinden sonra konumlandırıyor; OpenCode değişiklikleri hazırlıyor ve insan bunları doğrudan PR içinde birleştiriyor
    • Bu yapı, incelenmemiş kodun dağıtıma çıkmasını engelliyor
  • VM internet ve Git sunucusuna erişebiliyor, ancak gerçek servislere erişemiyor
    • Etki alanı küçük olduğu için, build araçları veya test bağımlılıkları kurulması gerektiğinde OpenCode'a VM üzerinde root yetkisi vermenin kabul edilebilir olduğuna karar verilmiş
  • Bu yapı, önceden yüklenmiş araçlar, erişim guardrail'leri ve denetim logları olan; geliştiricilere yönelik geçici konteyner tarzı bir production geliştirici platformuna genişletilebilir
  • Mevcut kurulum, gereken işlevleri sunarken bileşen sayısını da gereksiz yere artırmıyor

İş akışı

  • Temel iş akışı, OpenCode içinde bir özellik ya da iyileştirme planlama adımıyla başlıyor
    • Planda spesifikasyon, uygulama planı ve öz inceleme yer alıyor
  • Mümkün olduğunda değişiklikler test ediliyor veya doğrulanıyor
  • Beğenilmeyen kısımlar OpenCode ile yinelemeli olarak düzeltiliyor
  • OpenCode değişiklikleri feature branch'e push ediyor
  • Bu branch üzerinden bir PR açılıyor ve memnun kalınırsa PR birleştiriliyor
  • Birleştirmeden sonra dağıtımı GitOps devralıyor
    • docker servis değişikliklerini Arcane yönetiyor
    • Home Assistant yapılandırma değişikliklerini GitOps eklentisi yönetiyor
    • Blog değişikliklerini Cloudflare Pages worker yönetiyor

Arcane GitOps ve OpenCode birleşimi

  • Servisler Truenas'tan Arcane GitOps projesine taşınmış; temel amaç, Truenas üzerinde çalışan tüm docker compose stack'lerini Git tabanlı bir depoda yönetmekmiş
  • Buna OpenCode da eklendiğinde, yaklaşımın beklenenden daha iyi çalıştığı görülmüş
  • Telefondan tüm konteynerlerin ağ yapılandırması güncellenebiliyor; böylece dağınık yapılandırma yönetimi çok daha kolay hale geliyor
  • Önceden tüm compose stack'lerini taramak ve ağ bağlantılarını takip etmek saatler alıyordu
  • Artık OpenCode'a kod tabanı ve hedef veriliyor; oluşturulan PR değişiklikleri incelenip ardından birleştirilebiliyor

Kalan sınırlamalar ve erişim kontrolü

  • En büyük eksik halka CI geri bildirimi
  • GitHub'da kodlama ajanı Actions loglarını görerek başarısız testleri, linter hatalarını, stack trace'leri ve IaC plan değişikliklerini teşhis edebiliyor
  • Bu yaklaşım, birim testlerinin kapsayamadığı değişikliklerde bile hızlı bir geri bildirim döngüsünü korumaya yardımcı oluyor
  • Forgejo'da bu akış daha zor
    • Forgejo Actions, job loglarını herkese açık API üzerinden sunmuyor
    • Belgelenmemiş bir API var, ancak kurulumun bunun üzerine inşa edilmesi istenmiyor
  • Mevcut kurulum, yapay zekanın değiştirilen servislere doğrudan erişmeden, herhangi bir cihazdan ev altyapısında değişiklik oluşturabilmesini sağlıyor
  • Değişiklikler bilgisayarda başlatılabiliyor, PR telefonda incelenebiliyor ve dağıtımı GitOps üstlenebiliyor

1 yorum

 
GN⁺ 6 시간 전
Hacker News yorumları
  • Ortamıma uygun yapay zeka entegrasyon yöntemini hâlâ arıyorum. Şu anda Forgejo ile kodlama ajanı arasında bir etkileşim yok ve Forgejo Actions runner'ını da denedim, ama bağlam yönetimi belirsizdi
    Issue ya da PR içeriğini alabiliyor ama birkaç kez gidip gelince veya tartışma issue'dan PR'a taşınınca çok çabuk bulanıklaşıyor

  • Benzer bir şey yapıyorum; kalıcı bir opencode sunucusu yerine Forgejo action runner içinde opencode çalıştıran bir workflow kullanıyorum: https://codeberg.org/dragonfyre13/forgejo-opencode
    Hâlâ elden geçiriyorum ama özü şu: Forgejo issue içinde /oc ile Opencode çağrılıyor, sonra inceleme için bir PR oluşturup geri dönüyor

  • Teknoloji sektöründe birçok kişinin neredeyse aynı anda benzer şeyleri bağımsız olarak yaşadığı, ama bunları yazıya döken ya da paylaşan çok az kişi olduğu hissine bazen kapılıyorum
    Ben de benzer bir sistem kuruyorum; yazıyı ve yorumları okurken herkesin aynı süreçlerden geçtiğini görmek hoşuma gitti

    • Bu sadece teknoloji sektörüne özgü değil, yaygın bir durum. O kadar da özgün değiliz
    • Ben de bunu üç farklı şekilde kurdum ve e2b.dev'i de kullandım; iyi bir hizmetti
      Sorun şu ki zamanın %99'unu havalı şeyler hack'lemeye, sadece %1'ini konuşmaya harcıyoruz. Daha çok konuşmalıyız
    • Bence bunun sebebi teknoloji sektöründeki insanların her şeyi bedava beklemesi
      Bir avukatla konuşuyordum, süre neredeyse bitmişti ve “bir soru daha” demek üzereydim; avukat da “30 dakika daha ayıralım, onu da o zaman konuşalım” dedi. Adil olan bu
  • Kendi yapay zeka labım hakkında bir yazı yazmak için motivasyon arıyordum; bu yazı tam ihtiyacım olan itki oldu
    Benim kurulumum da benzer bir fikir ama n8n/git/argo/k3s kullanıyor ve çoğunlukla Qwen veya Gemma4'ün halledebileceği otomasyon workflow'ları için

  • Bu alan adının neden Quad9 resolver tarafından engellendiğini bilen var mı merak ediyorum. Quad9 alan adını filtrelediği için siteyi açamıyorum
    dig @9.9.9.9 rsgm.dev NS çıktısında EDE: 17 (Filtered) görünüyor

    • Tahminimce alan adı çok yeni kaydedildiği için olabilir. Kayıt üzerinden yalnızca yaklaşık 8 saat geçmiş; oluşturulma zamanı 2026-06-15 14:01:25 UTC
  • Bu kurulumu henüz kullanmamamın iki ana nedeni var: opencode'u çalıştıran VM'e proje derlemesi için vermeniz gereken kaynaklar ve daha hızlı test ihtiyacı
    Ben pi kodlama ajanını doğrudan Mac üzerinde çalıştırıyorum; yanında redis, postgres, kratos gibi tam bir yazılım yığını da çalışıyor. Kodlama ajanı ana geliştirme makinesinde olunca daha hızlı derleme yapabiliyorum; örneğin sadece backend'i yeniden derleyip yeniden başlatıyor, sonra UI istemcisinde değişiklikleri hemen test ederek çok daha hızlı geri bildirim alıyorum

  • Ben de çok benzer bir şey yapıyorum. Proxmox LXC üzerinde OpenCode çalıştırıyorum ve üstüne Kimaki katmanını ekleyerek Discord entegrasyonu bağladım
    İsteseniz de istemeseniz de kod tabanınızla sohbet edebiliyorsunuz ve isterseniz sesli mesaj da mümkün; oldukça havalı

  • Harika. Home lab yapay zekası çok eğlenceli olacak gibi görünüyor
    Şu anda Claude'un tüm cihazları kapsayan home lab'imi yönetmesini sağlıyorum ve home lab kurulum/bakımı “yıllarca büyüleyici olup hiçbir zaman tam düzgün çalışmayan, zaman emen bir tuzak” olmaktan çıkıp “gerçekten iyi bir fikir ve kapasitemi artıran bir şey” hâline geldi

    • En yeni modellerle bile zaman kazandıran küçük noktalar var ama genel olarak, ince yapılandırma sorunları yüzünden o kadar çok debug gerekiyor ki toplamda çoğu zaman zararına oluyor
      “Bana bir docker compose dosyası oluştur” ya da “NSD yapılandırması ver” gibi çok dar tanımlanmış işler için iyi, ama o durumda bile hangi temel teknolojilerin gerektiğini ve ne sormanız gerektiğini zaten biliyor olmanız lazım
  • OpenCode Web UI'ye Git erişimi ekleyip home lab yönetimini kolaylaştırmak ve OpenCode'un Git'e push etmesinden sonra benim PR'ı onaylayıp GitOps'un değişiklikleri dağıtması fikri oldukça iyi görünüyor
    Ama okumadan önce merak ettiğim şey şu: benzer bir şey yapmak için RAM ve GPU sağlamak adına binlerce dolar harcamak gerekiyor mu?

    • 0 dolar da olabilir. OpenCode sadece bir harness, yani internette barındırılan herhangi bir modele bağlanabilir
  • Biz de benzer bir şey yapıyoruz ama ajanın PR da açmasına izin veriyoruz ve ReARM sistemiyle sürüm metadata'sını ve ajan oturumlarını takip ediyoruz
    Son zamanlarda, ajanın ReARM üzerinden Helm tabanlı dağıtımları izlemesine yönelik bir seçenek de yayınladık: https://docs.rearmhq.com/workflows/devops.html

    • Bu kısımdan bahsetmemiştim ama yazıyı yazarken Forgejo PR API'sini çağıran bir skill'i kolayca ekleyebileceğimi fark ettim
      Ne yazık ki Forgejo'da GitHub'daki gibi bir CLI yok