GitHub Copilot Token Harcamanızı Kim Takip Ediyor? Yerel, Offline ve Şirket Politikasına Takılmayan Bir Çözüm


copilot-lens dashboard karanlık mod: toplam token, en aktif model ve günlük ortalama


TL;DR. Copilot Enterprise/Business lisansında token kullanımı görünmüyor. Bireysel hesaplarda sadece ay sonu özeti çıkıyor. copilot-lens, IDE verbose log dosyalarını okuyan, OpenAI’nin kendi BPE’sini (jtokkit) kullanarak server ile birebir aynı token sayımı yapan, tek bir HTTP request bile atmadan çalışan lokal bir Java CLI. Cloud yok, proxy yok, telemetri yok. Kurumsal güvenlik politikasına takılmaz. Lisans ne olursa olsun copilot-lens ile detaylı metricleri cli ve web üzerinden hangi modele hangi promptun nekadar token harcadığı gözlemlenebiliyor.

Problem: Token Harcaması Kimsenin Umurunda Değil

GitHub Copilot 2026’da yazılım geliştirmenin vazgeçilmez bir parçası. Çoğu şirketin, özellikle Copilot Enterprise/Business lisansı kullananların, hâlâ şu soruya dürüst bir cevabı yok: “Bu ay kaç premium request harcadık, en çok token yiyen prompt’lar hangileri, hangi modele ne kadar trafik gidiyor?”

Copilot’ın kendi admin dashboard’u haftalık aggregate veriyor. Bireysel hesaplarda sadece ay sonu özeti çıkıyor. VSCode’un kendi verbose log dosyasında ise 0.60+ sürümünden beri prompt_tokens ve completion_tokens alanları hiç yazılmıyor. Sadece URL’deki model adı, latency ve provider etiketi var.

Sonuç: geliştirici kendi yazdığı prompt’ların kaç token yediğini bilmiyor. Yanlışlıkla açık kalan bir markdown dosyası, editörde unutulmuş büyük bir JSON çıktısı veya geniş bir selection her chat açılışında context’e dahil oluyor. Aylik premium request kotası şubat ortasında bitiyor. Maliyet kontrolden çıkıyor.

copilot-lens Nedir?

copilot-lens, GitHub Copilot’un IDE verbose log dosyalarını okuyup yerel olarak token sayımı yapan küçük bir Java CLI aracıdır. VSCode, IntelliJ IDEA, Cursor ve Windsurf log formatlarını destekler. Çıktısı terminalde RTK tarzı renkli rapor, HTML rapor veya JSON export olur.

Temel özellikleri onu benzer araçlardan ayırır:

  1. Tamamen lokal ve offline. copilot-lens çalışırken tek bir HTTP request atmaz. Sadece %APPDATA%\Code\logs\ gibi standart konumlardaki log dosyasını okur. Bu sayede şirket politikasına takılma riski sıfırlanır.
  2. OpenAI’nin kendi BPE algoritmasıyla token sayımı. Proje jtokkit kütüphanesini kullanır, tiktoken’ın Java portu. Server’ın saydığı token sayısıyla birebir aynı sonucu üretir. o200k_base (gpt-4o, gpt-4.1, o1, o3) ve cl100k_base (gpt-4, gpt-3.5) aileleri arasında model adından otomatik geçiş yapar.
  3. Yeni VSCode log formatında bile çalışır. VSCode Copilot Chat 0.60+ loga token yazmıyor diye pes etmez. Etrafındaki 64 satır ileri ve 32 satır geriye bakarak JSON request body’sini arar. Bulursa BPE ile sayar. Bulamazsa karakter tabanlı heuristic ile tahmin eder.

Kurumsal Politika ve Güvenlik: Neden Takılmaz?

Bu bölüm özellikle IT güvenlik ekiplerinin radarında olan şirketler için kritik. copilot-lens’in mimarisi okuma-odaklı: dosyayı açar, sayar, kapatır. Dışarıya hiçbir şey göndermez.

Endişecopilot-lens davranışı
Dış servise veri gönderimiYok. Tüm kod denetlenebilir (open source). Hiçbir network çağrısı yok.
Proxy / MITMYok. HTTPS trafiğini kesmez. CA pinning sorunu, sertifika uyarısı yok.
Yönetici hakkı gereksinimiYok. Normal kullanıcı process’i olarak çalışır.
Telemetri / analyticsYok. Update kontrolü bile yapmaz. Derlenmiş JAR’ı kullanırsınız, biter.
Kaynak kodu denetimiTamamen açık. Ekibiniz 5 dakikada git clone edip kaynak kodu inceleyebilir.
GDPR / KVKK uyumuN/A. Log dosyası zaten sizin makinenizde. Araç sadece okuyor, hiçbir yere yazmıyor (snapshot komutu isteğe bağlı).
Firewall / air-gapped ortamSorunsuz. JDK ve JAR yeterli. İnternet bağlantısı gerekmez.

Tablo, şirket BT’sinin en sık sorduğu yedi soruya yanıt veriyor. copilot-lens’i Copilot lisansı olan hemen her şirkette BT onayı almadan kullanmak mümkün hale geliyor. Daha katı ortamlar içinse kaynak kodu denetlenebilir olduğundan shadow IT riski yok.

Çözdüğü Problemler

  • Token farkındalığı ve model dağılımı. Her chat açılışının kaç token yediğini, hangi modele (gpt-4o-mini, copilot-nes-lysithea-14, gpt-5.6-luna vb.) ne kadar trafik gittiğini tablo halinde görürsünüz. Top 10 Most Expensive Requests listesi context canavarı prompt’ları anında gösterir.
  • Premium request optimizasyonu. Yanlışlıkla context’e dahil edilen devasa dosyaları, gereksiz @workspace çağrılarını, yapışkan hale gelen editör sekmelerini tespit eder. Hangi dosyanın fazladan token yediğini noktasal gösterir, fix için tek bir komut verir.
  • Enterprise uyumluluğu ve trend. proxy.business.githubcopilot.com URL’leri için de çalışır. Yeni log formatında bile model-aware BPE ile makul tahminler üretir; (response not logged) rozeti ile çıktı durumu açıkça işaretlenir. Günlük snapshot komutu toplam kullanımı diske yazar; trend komutu haftalık ve aylık ASCII grafik çizer.

Nasıl Çalışır?

   IDE  ->  verbose log (JSON veya düz metin)
                |
                v
        copilot-lens  (Java CLI, lokal)
                |
                +- BPE / jtokkit  (server ile birebir aynı BPE)
                +- Heuristic fallback (body bulunamazsa)
                +- Trend / snapshot / HTML / JSON export
                |
                v
       Terminal / HTML / JSON
       (tüm çıktı lokal, network call YOK)

Teknik meraklısı için: VsCodeParser regex tabanlı satır satır log okur. TokenCounter jtokkit üzerinden cl100k_base veya o200k_base seçer. StatsAggregator 12+ alan üzerinden rapor üretir. CliReporter RTK stili ANSI renkli terminal çıktısı verir. snapshot komutu günlük toplamları ~/.copilot-lens/snapshots/ altında saklar. trend komutu bu snapshot’lardan ASCII bar grafik çizer.

Kurulum (5 Dakikada)

# 1. JDK 17+ gerekli (21 tavsiye edilir)
java -version
# 2. Projeyi indir
git clone https://github.com/dEMonaRE/copilot-lens.git
cd copilot-lens
# 3. Derle (jtokkit-1.1.0.jar'ı otomatik indirir)
./build.sh # Git Bash
.\build.ps1 # PowerShell
# 4. PATH'e ekle ve çalıştır
./copilot-lens.sh install
copilot-lens # ilk çalıştırma, auto-detect IDE

Ek bağımlılık yok. JDK ve JAR yetiyor. Toplam disk kullanımı ~5 MB.

Temel Komutlar

KomutNe yapar
copilot-lensTek seferde konsol raporu
copilot-lens watchTerminalde canlı izleme (RTK tarzı)
copilot-lens gain –historyGünlük kullanım trendi
copilot-lens discoverEn pahalı prompt kalıplarını bulur
copilot-lens snapshotBugünün toplamını diske yazar
copilot-lens trend –period=weeklyHaftalık veya aylık ASCII grafik
copilot-lens export jsonHam veriyi JSON olarak dışa aktarır
copilot-lens reportHTML rapor (karanlık mod destekli)
copilot-lens –ide=ideaIntelliJ logunu zorla seç

Detaylı komut referansı için USAGE.md, özellik derinlikleri için FEATURES.md, verbose log açma adımları için LOG_ACTIVATION.md sayfalarına bakın.

Gerçek Dünya Senaryoları

Senaryo 1, görünmez context canavarı. Bir frontend ekibi editörde sürekli açık kalan eski bir .cshtml dosyasını fark etmedi. Her chat açılışında bu dosya otomatik context’e ekleniyor, ekibin haftalık token tüketimi yüzde 28 artmıştı. discover komutu tek bir dosyayı işaret etti, dosya kapatıldı, maliyet normale döndü. Tahmini yıllık tasarruf: 2.000 dolar civarı (50 kişilik ekip için).

Senaryo 2, Copilot Enterprise’da token görünmüyor. Bir finans kuruluşu Copilot Business lisansına geçti. VSCode 0.62 kullanıyorlardı, logda prompt_tokens alanı yoktu. copilot-lens, model adından (gpt-4o-mini-2024-07-18) otomatik o200k_base BPE seçti, look-ahead ile JSON body’sini buldu, birebir doğru token sayımı verdi. BT ekibi tek bir komutla dashboard aldı.

Senaryo 3, kendi JSON’umu yazıyorum, her seferinde şişiyor. Bir backend geliştiricisi Copilot’a yapışkan bir test fixture gönderiyordu. Her sohbetin son dört mesajı context’te biriktiği için token sayısı lineer artıyordu. snapshot ve trend ile 3 haftalık baseline karşılaştırıldı, prompt kısaltıldı, sabit tasarruf elde edildi.

Senaryo 4, çoklu repo + MCP tool avalanche. Bir platform ekibi “auth’u session cookieden JWT’ye geçirelim, nereden başlayacağımızı birlikte çıkaralım” diye Copilot’a açık uçlu bir prompt attı. Copilot Edit Agent çalışmaya başladı. Bitbucket MCP üzerinden auth-svc, billing-svc, notification-svc, gateway, frontend-portal için ayrı ayrı repo taradı; Jira MCP’den ilgili ticketları çekti; Confluence MCP’den ADR’leri okudu. Sonunda sekiz ayrı servis için toplam kırk yedi Copilot request’i üretildi. Her yeni turda önceki turların context’i de taşındığı için ilk turda 2K token iken son turlarda 28K token’e çıktı. copilot-lens’in Top 10 listesi aynı saat diliminde üst üste 8 kayıt gösterdi, hepsi panel/editAgent provider’ından ve cumulative token artışı açıkça görünüyordu. Provider dağılımında panel/editAgent yüzde 4’ten yüzde 38’e fırlamıştı. Ekip “agent mode yerine edit mode”a geçti, bir seferde tüm servisleri kapsayan tek sorgu yazdı, aynı iş 4 request’e düştü. Tahmini aylık tasarruf: 240 dolar (tek geliştirici, tek görev başına).

Senaryo 5, agent davranışı sebebiyle nereden şiştiğini bulmak. Bir geliştirici Copilot’un Edit Agent özelliğini açtıktan bir hafta sonra aylık token kullanımı üçe katlandığını fark etti. Hangi prompt’un bu kadar token yediğini göremiyordu çünkü agent arka arkaya onlarca tur çalıştırıyordu. Dashboard’a bakınca “her şey normal” görünüyordu. copilot-lens’in gain --history trend grafiği 7 gün önce step-function yapan bir sıçrama gösterdi; aynı gün panel/editAgent provider payı yüzde 2’den yüzde 61’e fırladı. Saatlik dağılım agent’ın gece 02:00-04:00 arasında bile çalıştığını ortaya çıkardı: bu geliştiricinin “background compaction” özelliğini kapattığı için her turda önceki turların ham context’i taşınıyordu. Turlar 1-3 arasında 1-3K token iken 4-8 arası 10-15K, 9’dan sonra 25K+ token’e çıkıyordu. Top 10 listesinde aynı chat’in ardışık turları monotonic artan input token ile sıralanmıştı. Çözüm: Copilot ayarlarında “compact conversation after each turn” açıldı; agent yalnızca gerçekten çok adımlı refactor görevlerinde kullanılmaya başlandı, rutin işler için ask mode’a dönüldü. Aylık tasarruf: tahmini 150 dolar.

Sık Sorulan Sorular

copilot-lens internet bağlantısı gerektirir mi?

Hayır. Tek bir HTTP çağrısı yok. Log dosyasını okur, BPE ile token sayar, çıkar. Air-gapped ortamda çalışır.

Verilerim GitHub’a veya başka bir servise gidiyor mu?

Hayır. Tüm işlem makinanızda kalır. Açık kaynak kodu denetlenebilir, network trafiği yok.

Copilot Enterprise lisansında çalışır mı?

Evet. proxy.business.githubcopilot.com URL’leri dahil tüm traffic log’ları desteklenir.

Hangi IDE’leri destekler?

VSCode, IntelliJ IDEA, Cursor, Windsurf. Yeni formatlar auto-detect ile gelir.

Maliyeti nedir?

Ücretsiz ve açık kaynak. MIT lisansı. JDK ve JAR, başka bir şey gerekmez.

JDK 17 ile çalışır mı, 21 şart mı?

JDK 17+ yeterli. 21 LTS önerilir (daha iyi startup ve pattern matching).

Tam sonuç alamadığımda ne yapmalıyım?

VSCode için Copilot Chat menüsünden Set Log Level Trace. IntelliJ için Help menüsünden Diagnostic Tools altında Debug Log Settings. Detaylı anlatım LOG_ACTIVATION.md’de.

Yol Haritası

Yakın plan: HTTPS proxy modu. Output token tahmini için. Henüz plan aşamasında; self-signed CA gerektirdiğinden kurumsal dağıtımı zor. Orta vadede VSCode extension sarmalayıcısı ile komut paletinden tek tıkla çalıştırma. Uzun vadede Copilot Metrics API ile local sonuçların org düzeyinde cross-check’i. Türkçe gibi sondan eklemeli diller için per-language token profilleri de roadmap’te.

Sonuç

AI/LLM ekonomisi 2026’da bir deney olmaktan çıktı, bütçe kalemi oldu. copilot-lens, token’ın nereye gittiğini görmek isteyen, kurumsal politikaya takılmadan çalışmak isteyen, bulut servisine bağımlı olmak istemeyen ekipler için sıfır bağımlılıklı, denetlenebilir, tamamen açık kaynaklı bir çözüm.

Farklı bir perspektif isteyenler için: AI ajanlarının hata modları farklı bir kategori. Normal bir uygulamada bug döner. Ajanlarda bug gerçek bir aksiyon tetikler. Bunu Every AI agent looks fine until it does not yazısında anlatmıştım. On iki read-only audit skill’in açık kaynak versiyonu dEMonaRE/agent-systems-toolkit reposunda. Provider-neutral bir koleksiyon; her skill plain English, standart SKILL.md formatında yazıldı ve ihtiyaçlara göre de özelleştirilebilir. Plugin veya model seçimi zorunluluğu yok.

github.com/dEMonaRE/copilot-lens. Yıldız vermek, issue açmak, PR göndermek projenin gelişimini hızlandırır.