AgentEd
시각적 마크다운 편집기로, 프론트매터와 토큰 추정 기능 제공
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Windows 11 için klasör ve disk analizi. NTFS'te MFT'yi doğrudan okuduğu için hızlı, Fluent arayüzüyle modern.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Windows 11 için klasör ve disk analizi. TreeSize / FolderSize / WizTree sınıfında. NTFS'te MFT'yi doğrudan okuduğu için hızlı, Windows 11 (Fluent 2) arayüzüyle modern.
Tanıtım sayfası · İndir (Windows x64)
dotnet CLI de kullanılabilir.# Tümünü derle + testleri çalıştır
./build.ps1
# Uygulamayı çalıştır
./build.ps1 -Run
# Tek başına çalışan klasör (Windows App SDK ve .NET dahil)
./build.ps1 -Publish # → artifacts\Boyut\Boyut.exe
Visual Studio'da Boyut.sln dosyasını açın, Boyut.App projesini başlangıç projesi yapın ve platform olarak x64 seçin.
Komut satırı sürümü:
dotnet run --project src/Boyut.Cli -- scan C:\ --depth 2
dotnet run --project src/Boyut.Cli -- search C:\ "*.mp4;*.mkv size:>1gb"
dotnet run --project src/Boyut.Cli -- cleanup D:\Projeler
dotnet run --project src/Boyut.Cli -- dupes D:\Fotoğraflar --min-size 5mb
dotnet run --project src/Boyut.Cli -- diff C:\ # geçmişteki son iki tarama
dotnet run --project src/Boyut.Cli -- refresh C:\ # değişiklik günlüğüyle güncelle
| Kısayol | İşlev |
|---|---|
| Ctrl+O | Klasör seç ve tara |
| Ctrl+F | Bu taramada ara |
| F5 | Değişiklik günlüğüyle güncelle |
| Alt+↑ / Geri | Üst klasör |
| → / ← | Klasörü aç / kapat (kapalıysa üst klasöre çık) |
| Enter, çift tık | Aç / kapat |
| Ctrl+C | Seçili öğenin yolunu kopyala |
| Del | Geri Dönüşüm Kutusu'na taşı |
src/
Boyut.Core Platformdan bağımsız çekirdek (Linux/macOS'ta da derlenir ve test edilir)
Model/ FileIndex: struct-of-arrays indeks; FileIndexBuilder
Scanning/ ManagedScanner: paralel FileSystemEnumerator taraması
Ntfs/ NtfsMftReader: ham MFT ayrıştırıcı (fixup, runlist, hard link, ADS, WOF)
Search/ Sorgu dili, glob → regex, paralel arama
Analysis/ Dosya türleri, temizlik bilgi tabanı, içerik karşılaştıran kopya bulucu
Layout/ Squarified treemap
Persistence/ .boyut snapshot (Brotli), CSV dışa aktarma
Ipc/ Yükseltilmiş tarama yardımcısı protokolü
Boyut.Platform.Windows Win32: birim okuyucu, MftScanner, Geri Dönüşüm, Gezgin, UAC yardımcısı
Boyut.Cli "boyut" komut satırı aracı
Boyut.App WinUI 3 arayüzü (Mica, TitleBar, NavigationView, MVVM Toolkit)
Controls/ GridColumns (sıralanır/boyutlanır sütunlar), TreemapView, PaneSplitter
tests/
Boyut.Core.Tests xUnit v3. Gerçek bir NTFS imajı (Fixtures/) üzerinde MFT testleri içerir
| Konu | Karar | Neden |
|---|---|---|
| İndeks | Paralel diziler (int[] parent, long[] size …) ve ad havuzu | 1 milyon düğüm ≈ 85 MB (ölçüm: 1,3 M düğüm = 108 MB). Düğüm başına nesne kullanılsaydı bunun birkaç katı gerekirdi. Arama sıkı bir dizi döngüsüne dönüşür |
| Numaralandırma | Genişlik öncelikli (Parent(i) < i) | Toplamlar tek geriye doğru geçişte hesaplanır, alt öğeler bitişik durur |
| NTFS | Ham $MFT okuma | FSCTL_ENUM_USN_DATA boyut vermez. FindFirstFile ise 5–20 kat daha yavaştır |
| Hard link | Tüm adlar ağaçta görünür ama boyut yalnızca bir kez sayılır | Gezgin'in WinSxS klasörünü olduğundan büyük göstermesi sorununu önler |
| Yönetici izni | UI normal kullanıcı olarak çalışır. MFT taraması ayrı ve yükseltilmiş bir Boyut.exe --scan-helper süreciyle yapılır (named pipe) | UIPI yüzünden yönetici olarak çalışan pencerelere Gezgin'den sürükle-bırak yapılamaz |
| Regex | RegexOptions.NonBacktracking, gerekirse zaman aşımlı yedek motor | Kullanıcının yazdığı kötü bir desen uygulamayı kilitleyemez |
| Bulut dosyaları | OneDrive gibi bulut yer tutucuları asla açılmaz | Kopya taraması dosyaları istemeden indirmez |
| Silme | Önce Geri Dönüşüm Kutusu'na taşınır, ardından indeksten çıkarılır (FileIndex.Without) | Yeniden taramaya gerek kalmaz ve işlem geri alınabilir |
Sentetik bir indeks üzerinde alındı: 1,3 milyon düğüm (tam bir C: sürücüsü büyüklüğünde). Ortam 2 çekirdekli bir Linux konteyneriydi, yani 8+ çekirdekli bir masaüstünde sonuçlar daha iyi olacaktır.
| İşlem | Süre |
|---|---|
| İndeksi kurma (toplamlar ve sıralama dahil) | 1,5 sn |
| Bellek | 108 MB |
type:image size:>1mb | 0,1 sn |
Regex ^dosya_\d+5\.(jpg|png)$ | 0,14 sn |
**\Klasör_1*\*.log (tam yol) | 0,8 sn |
| Temizlik analizi (tüm kurallar) | 1,1 sn |
| Snapshot kaydet / yükle (34 MB) | 0,5 / 0,45 sn |
Silinen öğeleri indeksten çıkarma (Without) | 0,17 sn |
*.mp4;*.mkv joker; ";" = veya **\node_modules her derinlikte
IMG_[0-9]???.* karakter sınıfları "tam ad (1).txt" tırnak = düz metin
size:>1gb size:10mb..500mb size:empty
ext:psd,tif type:video,görsel kind:dir | kind:file
modified:2025 modified:<2024-06 modified:14.03.2025 modified:bugün
age:>90d age:<1w (d, w, m, y)
attr:hidden,system attr:link attr:cloud attr:hardlink attr:compressed
in:Downloads in:"*\Steam\*"
-*.log -in:Windows başa "-" = hariç tut
Anahtarların Türkçe karşılıkları da çalışır: boyut:, uzantı:, tarih:, yaş:, tür:, konum:, öznitelik:.
dotnet test --project tests/Boyut.Core.Tests
Arayüz duman testi (Windows): uygulamayı başlatır, bir klasörü tarar, bütün sayfaları ve ayrıntı sekmelerini UI Automation ile gezer, her adımın ekran görüntüsünü ui-smoke\ altına kaydeder. Uygulama kapanır ya da hata.log yazarsa başarısız olur.
./build.ps1 -Configuration Release
powershell -File tools/ui-smoke.ps1 -Exe (Get-ChildItem src/Boyut.App/bin/x64/Release -Recurse -Filter Boyut.exe)[0].FullName
GitHub Actions (.github/workflows/build.yml) her gönderimde testleri, CLI'ı, x64 ve ARM64 uygulamayı derler ve duman testini çalıştırır.
Fixtures/ntfs-sample.img.gz gerçek bir NTFS imajıdır. İçinde hard link, ADS, seyrek dosya, Türkçe adlar, 3000 dosyalık bir klasör ve silinmiş bir kayıt bulunur. İmajı yeniden üretmek için make-ntfs.sh betiği kullanılır (Linux, ntfs-3g).
%LOCALAPPDATA%\Boyut\Taramalar\<kök>\ altında saklanır. Değişimler sayfası aynı kökün iki taramasını karşılaştırır, neyin büyüdüğünü, eklendiğini ve silindiğini ağaç olarak gösterir ve büyümenin çoğunun nereden geldiğini söyler. Komut satırında: boyut diff C:\.boyut refresh C:\.Boyut.exe --monitor ile tarar ve geçmişe ekler. Boş alan eşiğin altına düştüğünde ya da sürücü çok büyüdüğünde bildirim gösterir; bildirime tıklayınca Değişimler sayfası açılır. Kayıt sırasında bir kez yönetici izni istenir (MFT taraması için); verilmezse klasör taramasıyla çalışır. Her çalışmanın kaydı: %LOCALAPPDATA%\Boyut\izleme.log.tools/register-modern-context-menu.ps1 betiği "Boyut ile analiz et" seçeneğini yeni menünün üst düzeyine ekler. Geliştirici Modu açık olmalıdır; betik imza ya da yönetici izni istemez. Boyut.exe -Embedding, IExplorerCommand uygulayan süreç dışı bir COM sunucusudur. Sürücü kökleri için klasik menü: tools/register-context-menu.ps1.boyut diff)IExplorerCommand + sparse package)