Hogyan kezeli a mintbot a fájlokat¶
Amikor fényképet, dokumentumot, hangüzenetet, táblázatot, képernyőképet vagy PDF-et küldesz a mintbot-ügynöködnek — Telegramon, a webpanelen vagy az API-n keresztül —, a fájl nem a mintbot központi infrastruktúráján keresztül jut el a nyelvi modellhez. Közvetlenül az ügynököd saját VPS-ére kerül, ott marad, ameddig csak akarod, és az LLM egy számára optimalizált, átalakított másolatot kap.
Ez látszólag apró tervezési döntés, nagy következményekkel. Érdemes kibontani, mert ez az egyik legnagyobb pont, ahol a mintbot eltér a fogyasztói LLM-chattől.
A folyamat elejétől a végéig¶
-
A feltöltés az ügynök VPS-ére érkezik. Egy fénykép Telegramról, egy webpanelbe húzott PDF, egy hangmemó, egy chatbe beillesztett képernyőkép. Az ügynök helyi API-ja átveszi a bájtokat, megvizsgálja a fájl magic headerét, hogy kiderítse, valójában milyen fájlról van szó (a telefonok és böngészők meglepően gyakran címkézik rosszul), SHA-256 hash-t készít róla, és a
/var/lib/mintbot-agent/uploads/<shard>/<sha256>.<ext>útvonalra írja az ügynököd saját VPS-én. Egy sor bekerül a helyi nyilvántartásba a forrással (telegram / panel / api), a feltöltő azonosítójával, a MIME-típussal és az eredeti fájlnévvel. -
Az eredeti érintetlen marad. Ettől a ponttól kezdve a mintboton belül soha semmi nem módosítja a tárolt fájlt. Az átalakítók, amelyek az LLM számára előkészítik, csak munkamásolatokat állítanak elő — átméretezett JPEG-eket, átkódolt szöveget, kinyert bélyegképeket. A bájtról bájtra azonos eredeti a lemezen marad, amíg te le nem törlöd az ügynök fájlkezelőjén keresztül. Nincs központi tároló, nincs megőrzési időzítő, nincs szivárgás az ügynökök között: minden ügynök VPS csak a saját tulajdonosa feltöltéseiről tud.
-
A modell egy LLM-re optimalizált változatot kap. Amikor az ügynök úgy dönt, hogy megmutatja a fájlt az LLM-nek, egy kis irányító komponens MIME-típus és kiterjesztés alapján kiválasztja a megfelelő átalakítót, és az átalakító olyan tartalomblokkokat ad ki, amelyeket a modell olvasni tud:
Átalakító Mit kezel Kimenet Kép JPG, PNG, WebP, GIF, HEIC (iPhone), AVIF, és bármi más, amit a Pillow meg tud nyitni a hosszabbik oldal 1568 px-re méretezve, újrakódolva JPEG q85-ként, base64-ben beágyazva a modell kontextusába PDF .pdf≤ 32 MBBase64-ben beágyazva natív PDF-ként (az Anthropic modellek közvetlenül olvassák) Szöveg .md,.csv,.json,.yaml, forráskód (.py,.js,.ts,.go,.rs, …), logok, diffekUTF-8-cal dekódolva (latin-1 tartalékként), szövegként beágyazva egy méretkorlátig Hang .mp3,.ogg,.opus,.m4a,.wav,.flacA Telegram-hangüzeneteket a bot már helyben szöveggé írja át; a közvetlen feltöltések jelenleg helykitöltőt kapnak, a Whisper STT egy későbbi fejlesztési körben érkezik Video .mp4,.mov,.webm,.mkvEgyelőre helykitöltő; az ffmpeg-kulcskép + hang-átirat kinyerése egy későbbi fejlesztési körben érkezik Office-dokumentumok .docx,.xlsx,.pptx,.odt,.ods,.odpEgyelőre helykitöltő; a natív szövegkinyerés (python-docx / openpyxl / python-pptx) egy későbbi fejlesztési körben érkezik Ismeretlen Minden más Szöveges helykitöltő: „a felhasználó egy <mime>fájlt csatolt, a lemezen megőrizve,<id>feltöltési azonosító alatt" — így a modell legalább okoskodni tud arról, mit küldtekMinden átalakítás az eredeti mellé kerül gyorsítótárba
<sha256>.cache/v<N>.jsonnéven, így a második alkalommal, amikor a modellnek kell az a fájl, azonnal betöltődik. Az átalakító verziószámának növelése automatikusan érvényteleníti a gyorsítótárat. -
Nincsenek lejáró URL-ek a modell kontextusában. Amikor egy kép vagy PDF az LLM-hez kerül, ugyanabban a fordulóban base64-ben van beágyazva — nincs URL, ami később 404-et adhatna, nincs időkorlátos, aláírt link. Nagyobb fájloknál, ahol a modellnek csak egy mutatóra van szüksége, az URL egy belső
https://agent<id>.<domain>/<panel_token>/api/local/uploads/<upload_id>/raw— az ügynököd saját paneltokenje védi, és addig érvényes, amíg a fájl a lemezen van.
Miért jobb ez a fogyasztói LLM-chat élménynél¶
Amikor feltöltesz egy fényképet a ChatGPT-be vagy egy PDF-et a Claude.ai-be, a fájl a szolgáltató tárhelyére kerül, az adott beszélgetéshez csatolva, és a szolgáltató megőrzési szabályzata dönti el, mikor tűnik el. Egy idő után a fájl eltűnik, még ha a beszélgetést, amelyben volt, látod is. Szolgáltatót váltani annyit tesz, hogy elölről kezded.
A Telegram-botok egyik gyakori buktatója kézzelfoghatóvá teszi a különbséget. Maga a Telegram minden fényképhez állandó file_id-t tart fenn, de a harmadik féltől származó botok, amelyek lekérnek egy Telegram-file_id-t, egy ideiglenes URL-t kapnak, amely 24 óra után lejár. A tegnapi fényképre hivatkozó régebbi botok 404-et szolgálnak ki. A mintbot ezt egyszer s mindenkorra megoldja: amikor először lát egy Telegram-fájlt, az örökké érvényes file_id-n keresztül újra lekéri a bájtokat, és bemásolja a te ügynököd archívumába. Attól a pillanattól a fénykép a tiéd.
Ebből a tervezésből három dolog következik:
- A fájlok hozzád tartoznak, nem az LLM-szolgáltatóhoz. Válts át jövő hónapban Claude-ról GPT-5-re, és a fájltörténeted érintetlenül veled jön, mert a te VPS-eden van — nem egy beszállító tárhelyén.
- Később újra kérdezhetsz. „Három hónapja elemeztél nekem egy szerződést — összehasonlítanád ezzel az új tervezettel?" működik, mert az eredeti még a lemezen van. A fogyasztói chatnél a régebbi fájl általában már eltűnt.
- A modell mindig azt a változatot kapja, amelyet a legjobban tud használni. A képfeldolgozó modellek az átméretezett JPEG-et kapják, a szöveges modellek UTF-8-at, a PDF-olvasók natív PDF-et. A telefonok feltölthetnek HEIC-et, és egyszerűen működik — a Pillow HEIF-bővítménye induláskor betöltődik, a fájlszignatúra-ellenőrző pedig elkapja azokat a telefonokat, amelyek a feltöltést
application/octet-stream-ként címkézik rosszul.
Hol kezeled a fájljaidat¶
Az ügynök webes paneljén a Szerver → Fájlok részben kezelheted a fájlokat. Az egész ügynök VPS-t böngészi, és a /var/lib/mintbot-agent/uploads/ alatti feltöltési archívum az a rész, amelyet a beszélgetéseid töltenek fel. Innen a következőket teheted:
- Feltöltött fájlok átnevezése, törlése vagy áthelyezése
- Böngészés dátum, forrás vagy fájlnév szerint
- Új fájlok feltöltése húzd és ejtsd módszerrel (darabolva, így nincs rögzített méretkorlát — nagyon nagy fájlokat is feltölthetsz, egészen addig, amennyi szabad lemezhely a VPS-eden van)
- Kis szövegfájlok szerkesztése helyben
Mivel a feltöltések darabolva, egyenesen a saját VPS-edre érkeznek, a fájlméret egyetlen korlátja a lemezed — nincs mintbot által szabott felső határ. Több gigabájtos videók, adathalmazok vagy lemezképek gond nélkül feltölthetők, amíg a meghajtón van hely; ha kifogynál belőle, átméretezheted a VPS-t, vagy törölheted a régi fájlokat ugyanezen a panelen.
Ha törölsz egy fájlt a panelen, eltűnik maga a fájl és a katalógussor is. Az ügynök többé nem tudja megmutatni az LLM-nek. Ez teszi az eredetit „tiéddé": egyedül te vagy jogosult a törlésre.
A lényeg¶
A legtöbb LLM-chat termék a feltöltéseidet múlékony beszélgetéskontextusként kezeli. A mintbot a te adataidként kezeli őket — a VPS-eden tárolva, hozzád tartozva, igény szerint pontosan abba a formába átalakítva, amelyet a modell az adott fordulóban a legjobban tud használni. A mintbot legtöbb érdekesebb képessége erre az alapra épül.