Merhaba. Tıp fakültesinde öğrenciyim ve 2 aydır vibe coding’i kendi kendime öğrenirken bir macOS menü çubuğu uygulaması yaptım. Bugün yayınlıyorum!
MiniAI - nasıl bir uygulama
Herhangi bir yerde metin seçip belirlediğiniz kısayola bastığınızda, menü çubuğunda küçük bir pencere açılıyor ve yapay zeka açıklama yapıyor. Asıl amaç, tarayıcıya geçip Google’da arama yapıp geri dönme sürecini ortadan kaldırmak.
Aslında makale okurken bilmediğim terimleri aramak zahmetli olduğu için yapmıştım ama geliştirdikten sonra İngilizce e-posta yazarken, koda bakarken ve başka birçok durumda kullandığımı fark ettim.
Teknoloji yığını
- UI: NSPanel + SwiftUI (menü çubuğu uygulamasının floating window’u)
- Yapay zeka yanıtı: SSE streaming ile gerçek zamanlı yazma efekti
- Backend: Supabase Edge Function ile API proxy’si (API anahtarını istemciye gömmemek için)
- Rate limiting: PostgreSQL tabanlı kullanıcı başına sınırlandırma
- Dağıtım: Developer ID imzası + notarization tamamlandı
Geliştirirken en uzun süre uğraştığım kısımlar
- Global metin seçimini algılama (Accessibility API izinlerinin yönetimi)
- API anahtarı güvenliği (başta istemciye hardcode etmiştim, sonra fark edip baştan kurdum)
- Notarization süreci (ilk deneyim olduğu için 2 günüm gitti)
Özellikle 3. maddeye, daha önce macOS uygulaması dağıtanlar katılacaktır sanırım. Belgeleri takip etseniz bile tek seferde çalışmayan birkaç aşama vardı.
Şu anki durum
- Beta olarak açık, ücretsiz
- İndirme bağlantısı ana sayfada
Geri bildirimlere açığım
- Kısayol UX’i doğal hissettiriyor mu
- Temiz kurulumda sorun çıkıyor mu
- Mimaride geliştirilebilecek noktalar var mı
- Benzer bir uygulama geliştirmiş olanların tavsiyeleri
Mimariyi iyileştirme önerileri ya da macOS notarization sürecinde yaşadığınız sancılı deneyimleri paylaşırsanız sevinirim.
Bir şey daha: geliştirici olarak ana işi ayrı olup yan tarafta ürün geliştirenler,
"Bunu daha da derinleştireyim mi" vs "bunu bir deneyim olarak kapatıp sonrakine mi geçeyim" kararını nasıl veriyorsunuz, merak ediyorum.
16 yorum
Merhaba, birkaç görüş paylaşmak istiyorum!
alfred/raycastgibi araçları kullanan çok kişi olduğunu biliyorum ve bu uygulamaların varsayılan kısayoluopt + space. Varsayılan kısayol olarak başka bir kombinasyon daha iyi olabilir diye düşünüyorum.dmgdosyasıyla dağıtmak yerine, App Store / Homebrew üzerinden kurulabilirse iyi olur.Vay, bu kadar detaylı incelemeniz için gerçekten çok teşekkür ederim 🙏
Kısayol: Evet, Alfred/Raycast kullanıcılarından
⌥Spaceçakışmasıyla ilgilien çok geri bildirim geliyor. Özel kısayol ayarlama özelliğinin farkındayız ve
bunu iyileştirme önceliklerine alacağız!
İmzalama/noter onayı: Evet, şu anda
adhocimzalama durumunda.Henüz geliştirme aşamasının başında olduğumuz için noter onayı maliyeti biraz yük oluşturuyordu, bu yüzden ertelemiştik 😅
Kontrol ettiğiniz için teşekkürler!
Dağıtım yöntemi: App Store veya Homebrew Cask üzerinden dağıtımı da değerlendiriyoruz.
Şu anda hızlı dağıtım için önce DMG ile çıktık ama
söylediğiniz yönün doğru olduğunu düşünüyorum,,
Bizzat
codesign'a kadar kontrol etmiş olmanızı görünce çok etkilendim.Ürüne ilgi ve sevgi göstermiş olmanız için gerçekten çok teşekkür ederim!
Yine bir rahatsızlık olursa lütfen mutlaka söyleyin, bu bize moral veriyor 😄
Özellikle üretim seviyesinde satmıyorsanız, GitHub’da open source olarak yayımlayıp geri bildirim alsanız da bence sorun olmaz gibi?
Değerli görüşünüz için teşekkürler!
Bu alandaki ilgili iş benim için ilk olduğu için biraz deneyim kazanmak amacıyla ilerlemiştim, ama birçok kişinin doğrudan kullanabilmesi için bunu açık kaynak olarak dağıtmak da iyi bir fikir gibi görünüyor 😁
Eğer açık kaynak olarak yayımlarsam mutlaka geri bildirim vermelisiniz~~ :)
Açık kaynak diye satamayacağınız anlamına gelmiyor. Bunu iki kulvarda yürüten epey uygulama da var. Açık kaynak, genel kullanıcılardan ziyade çoğunlukla projeyle ilgilenen diğer geliştiricilerle birlikte üretme anlayışıyla ilgili. Ya çalınırsa diye düşünüyorsanız lisansı net biçimde koymanız yeterli olabilir ama... yapay zeka çağında clean-room projeler ortalığı kaplamışken bunun ne kadar anlamı var, emin değilim. Açık kaynak olarak geri verirseniz size sadece geri bildirim mi verilir sanıyorsunuz? haha
Haha, teşekkür ederim geliştirici büyüklerimizin tavsiyeleri için
Bu günlerde dünya o kadar hızlı değişiyor ki buna ayak uydurmak gerçekten çok zor!
Verdiğiniz çok sayıdaki bilgi için teşekkür ederim, bundan sonra da ilginizi eksik etmezseniz sevinirim 😁
Hangi yapay zeka modeli acaba??
Claude API kullandığı belirtiliyor.
Soruyu ben sormuşum gibi panikleyip aradım; meğer metnin içinde gayet açıkça yazıyormuş.
Özet yazıyı, asıl yazıyı, siteyi ve programı kurup içeriği uzun süre didik didik aramama rağmen bulamadım; en sonunda gizlilik politikasında yazdığını gördüm.
Normalde teknoloji yığınını kontrol etmek için gizlilik politikasına kadar inip bakılmaz.
Bir dahaki sefere bunun nerede yazdığını da belirtirseniz sevinirim.
Değerli geri bildiriminiz için gerçekten çok teşekkür ederim!
Modelle ilgili bir açıklama yazmayı düşündüm ama sıradan kullanıcıların
apikavramını çok iyi bilmeyebileceğini düşündüğüm için buna değinmemiştim.Bununla ilgili merakı olanlar olduğu için ben de düzenleme yapacağım.
Bu arada uygulamayı denediniz mi? Nasıl bulduğunuzu merak ediyorum :)
Ah, bunu jhk0530'a söyledim.
Claude API kullandığına dair bunun nerede yazdığını görebiliriz?
Metne ve web sitesine baktım ama göremedim.
Merhaba! Geliştiricisiyim.
Claude Sonnet 4 modelini kullanıyorum!
İleride BYOK ya da diğer modelleri de doğrudan seçebileceğiniz bir seçenek eklemeyi planlıyorum.
İlginiz için teşekkürler :)
Yanıtınız için teşekkürler!
DeepL'in pop-up çeviri özelliğini kullanıyordum ama bunu da kısa süreliğine denemem gerekecek.
İleride https://www.openresponses.org/ formatını da destekleyip yerel LLM'lerin de kullanılabilmesine olanak tanıyacak şekilde açmanızın da iyi olacağını düşünüyorum!
Görünüşe göre uygulamayı ağırlıklı olarak çeviri özelliği için kullanmayı düşünüyorsunuz!
İleride mod seçme özelliğini de ekleyerek biraz daha uzmanlaşmış çeviri işlevleri sunabileceğimiz bir yöne ilerlemeyi planlıyoruz :)
Harici API'ler dışında yerel modellerle kullanma yöntemini de önermeniz için teşekkürler! Bunu ilerideki geliştirme planlarımıza ekleyeceğim.
Değerli geri bildiriminiz için teşekkür ederim; ayrıca herhangi bir rahatsızlık yaşarsanız lütfen mutlaka bize bildirin 😄
Bir haftadır kullanıyorum; kullanıcı deneyimi iyi olduğu için kullanmaya devam ediyorum, teşekkürler.
Diğerlerinde olduğu gibi yalnızca kısayolun dağıtım yöntemiyle ilgili sorun çözülürse daha da iyi olacağını düşünüyorum! Merakla bekliyorum