Nedir? · Mantığı · Özellikler · Kurulum · Kullanım · Güvenlik · Mimari · Durum
Barney, WhatsApp Web'de senin yazma biçimini öğrenen ve cevapları senin gibi yazan bir yazışma asistanıdır. Kendi bilgisayarında çalışır: tek bir program, içine gömülü bir web arayüzü ve bir Chrome uzantısı.
Paragraf yazan biriysen paragraf yazar. Art arda kısa kısa mesaj atan biriysen o da öyle atar. Küçük harf kullanımın, noktalama alışkanlığın, emojilerin, uzatmaların, cevap verme hızın… Hepsi geçmiş sohbetlerinden çıkarılır ve üretilen her cevap bu alışkanlıklara göre denetlenir.
| Senin üslubunla | Yapay zekâ yalnızca ne söyleneceğini yazar. Nasıl yazılacağı (mesaj sayısı, uzunluk, harf, noktalama, emoji, bekleme süresi) koddaki kurallarla belirlenir ve denetlenir. |
| Yerel ve gizli | Kişiler, sohbet geçmişi, hafıza ve ayarlar yalnızca senin bilgisayarında durur. Sunucu dışarıya açılmaz. |
| Kontrol sende | Otomatik gönderim varsayılan olarak kapalıdır. Açsan bile korumalar devrededir ve tek düğmeyle her şeyi durdurursun. |
Important
Barney yalnızca kendi sohbetlerini yönetmen içindir. Yalan, baskı, kıskandırma ya da manipülasyon üretmemesi için istemlerde açık kurallar vardır; yine de gönderilen her mesajın sorumlusu sensin. Kimseyi kandırmak için kullanma.
Dört adımda çalışır:
- Oku. Chrome uzantısı, açık WhatsApp sohbetini yukarı kaydırarak geçmişi okur. Dosya dışa aktarmana gerek yoktur.
- Öğren. Geçmişten bir stil kartı çıkarılır. Bu adımda yapay zekâ kullanılmaz; her şey sayılarak ölçülür.
- Öner. Yeni bir mesaj geldiğinde model, stil kartına uygun bir cevap yazar. Kurallara uymazsa neyin yanlış olduğu söylenerek yeniden yazdırılır.
- Gönder. Cevabı sen tek tıkla gönderirsin ya da o kişi için otomatik gönderimi açarsın. Mesajlar insan gibi beklenerek ve harf harf yazılarak gider.
Stil kartı, yazma biçiminin parmak izidir: art arda kaç mesaj attığın, mesajlarının uzunluğu, büyük/küçük harf ve noktalama alışkanlığın, emoji kullanımın, sana özgü sözcükler ve cevap verme hızın. Karşı taraf için de ayrı bir kart çıkarılır; böylece cevabın onun tonuna uyar ama sesin senin kalır.
Sohbeti izlemek tamamen yereldir ve hiçbir maliyeti yoktur. Model yalnızca şu durumlarda çağrılır:
- izlediğin bir kişiden yeni bir mesaj geldiğinde,
- sen Şimdi öner dediğinde,
- danışmana bir şey sorduğunda.
Kendi mesajını düzeltmen, silmen ya da elle bir şey yazman ekranı günceller ama modeli çağırmaz.
|
Canlı öneri |
Art arda kısa mesajlar |
Konsey |
|
Otomatik gönderim |
Tam otonom mod |
Ton ayarı |
|
Danışman |
Rol provası |
Hafıza ve hedef |
|
Tarayıcıdan kişi ekleme |
Sürekli öğrenme |
Analiz |
|
Düzeltmelerden öğrenme |
Sessizlik önerisi |
Yapay zekâ tarayıcı modu |
Ton ayarı kişiye özeldir ve hem danışman sohbetinde hem canlı önerilerde geçerlidir.
| Araç | Sürüm | Ne için |
|---|---|---|
| Go | 1.27 | Sunucuyu derlemek |
| Node.js + pnpm | Node 24 | Arayüzü derlemek |
| Google Chrome | 116 ve üzeri | Uzantı |
| Model anahtarı | DeepSeek, Anthropic ya da OpenAI | Cevap üretmek |
git clone https://github.com/MustafaKemal0146/barney.gitcd barneymake runmake run arayüzü derler, programın içine gömer ve sunucuyu başlatır. Terminalde şuna benzer bir adres görürsün:
http://127.0.0.1:8777/#token=…
Bu adresi Chrome'da aç. Adresteki anahtar yalnızca senin bilgisayarında geçerlidir; kimseyle paylaşma.
8777 numaralı kapı doluysa başka bir kapı ver:
make run PORT=8790- Chrome'da
chrome://extensionssayfasını aç. - Sağ üstten Geliştirici modunu aç.
- Paketlenmemiş öğe yükle'ye bas ve
~/.config/barney/extensionklasörünü seç. web.whatsapp.com'u aç (açıksa sayfayı yenile). Arayüzün üstündeki rozet Uzantı bağlı olur.
Uzantı güncellendiğinde chrome://extensions sayfasında yenile düğmesine bas ve WhatsApp sekmesini de yenile.
Arayüzde Ayarlar sayfasını aç, sağlayıcıyı seç ve anahtarını gir. Anahtar yalnızca bu bilgisayarda saklanır ve arayüze bir daha geri gösterilmez.
- WhatsApp Web'de kişinin sohbetini aç.
- Arayüzde Kişi ekle → WhatsApp'tan oku'ya bas.
- Okuma bitince stil kartı hazırdır.
Okuma sırasında WhatsApp sekmesi görünür kalmalıdır.
| Komut | Ne yapar |
|---|---|
make run |
Derler ve çalıştırır |
make dev |
Sunucu + canlı yenilemeli arayüz (geliştirme için) |
make build |
Yalnızca derler → bin/barney |
make ext |
Uzantı klasörünü yeniden yazar |
make doctor |
Kurulumu denetler; hiçbir şeyi değiştirmez |
make test |
Go, uzantı ve arayüz testleri |
bin/barney url |
Arayüz adresini yazdırır |
Chrome'da uzantı simgesine basınca Barney, WhatsApp'ın yanında yan panel olarak açılır. Her kişinin yedi sekmesi vardır:
| Sekme | İçinde ne var |
|---|---|
| Sohbet | Danışman ve rol provası |
| Canlı | Açık sohbet, cevap adayları, otomatik gönderim, tam otonom ve ton |
| Stil | Senin ve karşı tarafın stil kartı |
| Analiz | Yazışma istatistikleri |
| Hafıza | Kişi hakkında çıkarılan bilgiler ve ilişki aşaması |
| Geçmiş | Önerilen, gönderilen ve düzeltilen cevaplar |
| Ayarlar | Hedef, notlar, korumalar ve sınırlar |
Günlük kullanım kısaca şöyledir:
- Mesaj gelir, Canlı sekmesinde adaylar belirir. Beğendiğini Gönder ile yollarsın ya da Düzenle ile değiştirirsin.
- Hiç uğraşmak istemiyorsan o kişi için Otomatik'i ya da Tam otonom'u açarsın.
- Bir şey ters giderse üstteki Durdur düğmesi her şeyi anında keser.
Otomatik gönderim korumaları (kişi bazında ayarlanır):
- İlk birkaç cevap her zaman onayını bekler.
- Sessiz saatlerde gönderilmez.
- Para, sağlık, kavga, ayrılık gibi hassas konularda durur ve sana sorar.
- Saatlik ve günlük sınır vardır; istersen sayıyı değiştirir ya da sınırsız yaparsın.
- Cevap hazırlanırken karşı taraftan yeni mesaj gelirse eski cevap gönderilmez.
- Mesaj kutusunda senin yazdığın bir taslak varsa dokunulmaz.
Verilerin nerede durur?
- Her şey
~/.config/barneyaltında, yalnızca senin kullanıcına açık dosyalardadır. - Sunucu yalnızca
127.0.0.1adresini dinler; ağdaki başka cihazlar erişemez. - Arayüz çerez kullanmaz; her istek anahtarla doğrulanır.
- Gönderilen her mesaj yerel bir günlüğe yazılır.
Dışarıya ne gider?
- Cevap üretilirken son mesajlar ve stil özeti, senin seçtiğin model sağlayıcısına gönderilir. Başka hiçbir yere veri gitmez.
- Telefon numarası, e-posta ve IBAN gibi bilgiler modele gitmeden önce maskelenir.
Uzantı neye dokunabilir?
- Okuma ve gezinme işlemleri mesaj kutusuna, gönder, ses ve ek düğmelerine dokunamaz. Bu, model çıktısına güvenilmeden koddaki izin listesiyle zorlanır.
- Gönderim yalnızca kutuda metin varken ve düğme gerçekten Gönder düğmesiyken yapılır; sesli mesaj düğmesine asla basılmaz.
| Parça | Görevi |
|---|---|
| Chrome uzantısı | WhatsApp Web'i okur, yeni mesajı bildirir, cevabı yazıp gönderir |
| Yerel sunucu (Go) | Stil kartı, cevap üretimi, korumalar, kişi kayıtları, hafıza |
| Web arayüzü (React) | Programın içine gömülüdür; tarayıcıda ya da yan panelde açılır |
| Model sağlayıcısı | Yalnızca cevap metnini üretir |
Ayrıntılar: docs/MIMARI.md · uç sözleşmesi: docs/API.md
Barney aktif geliştirilmektedir. Dürüst bir özet:
- ✅ Stil kartı, cevap üretimi, konsey, korumalar, tam otonom mod, danışman, rol provası, hafıza, analiz, yan panel ve tarayıcıdan okuma, otomatik testlerle kapsanır.
⚠️ WhatsApp Web arayüzü değişebilir. Uzantının kullandığı seçiciler tek yerde toplanmıştır (extension/content.jsiçindekiSEL). Mesaj paneli gerçek sayfaya göre yazılmıştır; sol sohbet listesi ve arama kutusu seçicileri henüz doğrulanmamıştır. Toplu ekleme ve arayüzden sohbet açma bunlara dayanır.⚠️ Geçmiş okunurken WhatsApp sekmesi görünür olmalıdır.⚠️ Yalnızca birebir sohbetler desteklenir; grup sohbetleri desteklenmez.- ⏳ Instagram DM ve telefondan erişim henüz yoktur.
Apache-2.0 — bkz. LICENSE.