Ana içeriğe geç

mintbot dosyaları nasıl işler

mintbot ajanınıza bir fotoğraf, belge, sesli not, tablo, ekran görüntüsü veya PDF gönderdiğinizde — Telegram, web paneli ya da API üzerinden — dosya, dil modeline ulaşana kadar mintbot'un merkezi altyapısından geçmez. Doğrudan ajanınızın kendi VPS’ine iner, istediğiniz kadar orada kalır ve LLM, kendisi için optimize edilmiş, dönüştürülmüş bir kopya alır.

Bu, göze çarpmayan ama etkileri büyük bir tasarım kararıdır. Açıkça anlatmaya değer, çünkü mintbot'un tüketici LLM sohbetinden ayrıştığı en büyük noktalardan biridir.

Akış, baştan sona

  1. Yükleme ajan VPS’ine ulaşır. Telegram'dan bir fotoğraf, web paneline sürüklenen bir PDF, bir sesli not, sohbete yapıştırılan bir ekran görüntüsü. Ajanın yerel API’si bayt'ları alır, dosyanın gerçekte ne olduğunu anlamak için dosya imzasını inceler (telefonlar ve tarayıcılar şaşırtıcı sıklıkta yanlış etiketler), SHA-256 ile özetini çıkarır ve ajanınızın kendi VPS’inde /var/lib/mintbot-agent/uploads/<shard>/<sha256>.<ext> yoluna yazar. Yerel kataloğa kaynak (telegram / panel / api), yükleyen kimliği, MIME türü ve orijinal dosya adıyla bir satır girer.

  2. Orijinal dosya dokunulmazdır. Bu noktadan itibaren mintbot içinde hiçbir şey saklanan dosyayı asla değiştirmez. Onu LLM için hazırlayan dönüştürücüler yalnızca çalışma kopyaları üretir — yeniden boyutlandırılmış JPEG'ler, yeniden kodlanmış metin, çıkarılmış küçük resimler. Bayt bayt orijinal, siz ajanın dosya yöneticisinden silene kadar diskte kalır. Merkezi depolama alanı yok, saklama zamanlayıcısı yok, ajanlar arası sızıntı yok: her ajan VPS’i yalnızca kendi sahibinin yüklemelerini bilir.

  3. Model, LLM için optimize edilmiş bir sürüm alır. Ajan dosyayı LLM'ye göstermeye karar verdiğinde, küçük bir dağıtıcı MIME türü ve uzantıya göre doğru dönüştürücüyü seçer ve dönüştürücü, modelin okuyabileceği içerik blokları üretir:

    Dönüştürücü Neyi işler Çıktı
    Görsel JPG, PNG, WebP, GIF, HEIC (iPhone), AVIF ve Pillow'un açabildiği diğer her şey uzun kenarı 1568 px olacak şekilde yeniden boyutlandırılır, JPEG q85 olarak yeniden kodlanır, model bağlamında base64 olarak gömülür
    PDF .pdf ≤ 32 MB Yerel PDF olarak base64 gömülür (Anthropic modelleri doğrudan okur)
    Metin .md, .csv, .json, .yaml, kaynak kodu (.py, .js, .ts, .go, .rs, …), loglar, diff'ler UTF-8 ile çözülür (yedek olarak latin-1), bir boyut sınırına kadar metin olarak gömülür
    Ses .mp3, .ogg, .opus, .m4a, .wav, .flac Telegram sesli notları bot tarafından zaten satır içi yazıya dökülür; doğrudan yüklemeler şu an bir yer tutucu alır, Whisper STT sonraki aşamada gelecek
    Video .mp4, .mov, .webm, .mkv Şimdilik yer tutucu; ffmpeg anahtar kare + ses transkripti çıkarımı sonraki aşamada gelecek
    Office belgeleri .docx, .xlsx, .pptx, .odt, .ods, .odp Şimdilik yer tutucu; yerel metin çıkarımı (python-docx / openpyxl / python-pptx) sonraki aşamada gelecek
    Bilinmeyen Diğer her şey Metin yer tutucu: "kullanıcı bir <mime> dosyası ekledi, diskte <id> yükleme kimliğinde saklanıyor" — böylece model en azından ne gönderildiği üzerine akıl yürütebilir

    Her dönüşüm orijinalin yanında <sha256>.cache/v<N>.json olarak önbelleğe alınır, böylece model o dosyaya ikinci kez ihtiyaç duyduğunda anında yüklenir. Dönüştürücü sürümünü yükseltmek önbelleği otomatik olarak geçersiz kılar.

  4. Model bağlamında süresi dolan URL yok. Bir görsel veya PDF LLM'ye gittiğinde, aynı turda base64 olarak gömülür — sonradan 404 verebilecek bir URL yok, zamanlayıcılı imzalı bağlantı yok. Modelin yalnızca bir işaretçiye ihtiyaç duyduğu daha büyük dosyalarda URL, dahili bir https://agent<id>.<domain>/<panel_token>/api/local/uploads/<upload_id>/raw adresidir — ajanınızın kendi panel token’ı ile korunur ve dosya diskte olduğu sürece geçerlidir.

Bu, tüketici LLM sohbet deneyimini neden geride bırakır

ChatGPT'ye bir fotoğraf veya Claude.ai'ye bir PDF yüklediğinizde, dosya sağlayıcının deposuna gider, o konuşmaya iliştirilir ve ne zaman kaybolacağına sağlayıcının saklama politikası karar verir. Belirli bir yaşı geçince dosya gider, içinde bulunduğu konuşmayı hâlâ görebiliyor olsanız bile. Bir sağlayıcıdan diğerine geçmek, baştan başlamak demektir.

Yaygın bir Telegram bot sorunu bu zıtlığı somutlaştırır. Telegram'ın kendisi her fotoğraf için kalıcı bir file_id tutar, ama bir Telegram file_id'sini çeken üçüncü taraf botlar, 24 saat sonra süresi dolan geçici bir URL alır. Dünkü fotoğrafa atıfta bulunan eski botlar bir 404 sunar. mintbot bunu bir kez ve kesin olarak çözer: bir Telegram dosyasını ilk gördüğünde, baytları kalıcı file_id üzerinden yeniden indirir ve sizin ajanınızın arşivine kopyalar. O andan itibaren fotoğraf sizindir.

Bu tasarımdan üç şey çıkar:

  • Dosyalar LLM sağlayıcısına değil, size aittir. Gelecek ay Claude'dan GPT-5'e geçin, dosya geçmişiniz dokunulmamış halde sizinle gelir, çünkü bir sağlayıcının depolama alanında değil, sizin VPS'inizde durur.
  • Sonradan tekrar sorabilirsiniz. "Üç ay önce benim için bir sözleşmeyi analiz etmiştin — onu bu yeni taslakla karşılaştırabilir misin?" işe yarar, çünkü orijinal hâlâ diskte. Tüketici sohbetinde eski dosya genellikle çoktan gitmiştir.
  • Model her zaman en iyi kullanabileceği sürümü alır. Görsel modeller yeniden boyutlandırılmış JPEG'i, metin okuyucular UTF-8'i, PDF okuyucular yerel PDF'i alır. Telefonlar HEIC yükleyebilir ve sorunsuz çalışır — Pillow'un HEIF eklentisi başlangıçta yüklenir ve dosya imzası denetleyicisi, yüklemeyi application/octet-stream olarak yanlış etiketleyen telefonları yakalar.

Dosyalarınızı nerede yönetirsiniz

Ajanın web panelinde Sunucu → Dosyalar bölümünden dosyalarınızı yönetebilirsiniz. Tüm ajan VPS’ine göz atmanızı sağlar ve /var/lib/mintbot-agent/uploads/ altındaki yükleme arşivi, konuşmalarınızın doldurduğu kısımdır. Oradan şunları yapabilirsiniz:

  • Yüklenen dosyaları yeniden adlandırma, silme veya taşıma
  • Onları tarihe, kaynağa veya dosya adına göre gezme
  • Yeni yüklemeleri sürükle-bırak ile ekleme (parçalı, dolayısıyla sabit bir boyut sınırı yok — VPS'inizdeki boş disk alanı kadar çok büyük dosyalar yükleyebilirsiniz)
  • Küçük metin dosyalarını satır içinde düzenleme

Yüklemeler parçalı olduğu ve doğrudan kendi VPS'inize indiği için, dosya boyutundaki tek tavan diskinizdir — mintbot'un dayattığı bir sınır yoktur. Birden çok gigabaytlık videolar, veri kümeleri veya disk görüntüleri, sürücüde yer olduğu sürece sorunsuz yüklenir; yer azalırsa VPS'i yeniden boyutlandırabilir ya da eski dosyaları yine bu panelden temizleyebilirsiniz.

Bir dosyayı panelden silmek, hem dosyanın kendisini hem de katalog satırını kaldırır. Ajan artık onu LLM'ye gösteremez. Orijinali "sizin" yapan budur: silme yetkisine sahip tek taraf sizsiniz.

Özet

Çoğu LLM sohbet ürünü yüklemelerinizi geçici konuşma bağlamı olarak görür. mintbot ise onları sizin verileriniz olarak görür — VPS'inizde saklanan, size ait, modelin o turda en iyi kullanabileceği biçime talep üzerine dönüştürülen veriler. mintbot'un daha ilginç yeteneklerinin çoğu bu temelin üzerinde durur.