Konwerter folderów lokalnych na tekst

Zamień folder na swoim komputerze w jeden gotowy plik tekstowy LLM. Nic nie jest przesyłane — pliki są odczytywane w całości w przeglądarce. Bezpłatnie, bez instalacji, bez rejestracji.

Folder lokalny na tekst: Twoja baza kodu w jednym pliku, bez przesyłania go

Skieruj to na folder na swoim komputerze, a otrzymasz pojedynczy plik tekstowy: drzewo katalogów w top, a następnie każdy wybrany plik, każdy oddzielony nagłówkiem ze ścieżką. Jakkolwiek to nazwiesz — łączenie bazy kodu w jeden plik, łączenie plików źródłowych, łączenie katalogu w jeden dokument — oto cały pomysł. Jest to format, który najlepiej obsługuje LLM, ponieważ model widzi jednocześnie kształt projektu i jego zawartość, a także może wnioskować o powiązaniu jednego pliku do innego.

Jest bezpłatna, nie wymaga rejestracji i nie trzeba niczego instalować. Wybierz folder, odznacz jaki model nie potrzebuje, i wyeksportuj projekt jako pojedynczy plik tekstowy, który możesz wkleić w dowolnym miejscu.

Część, na której najbardziej zależy większości ludzi: nic nie jest przesyłane. Nie ma w tym żadnego serwera rurociąg. Twoje pliki są odczytywane w przeglądarce, gromadzone w pamięci i przekazywane Tobie. Jeśli tak unikałem konwerterów online, ponieważ baza kodu należy do klienta, jest objęta umową NDA lub po prostu nie należy do Ciebie i nie możesz go wkleić do usługi strony trzeciej, ten sprzeciw nie ma zastosowania w tym przypadku — i w następnym sekcja wyjaśnia dokładnie dlaczego, ponieważ „zaufaj nam, to bezpieczne” nie jest odpowiedzią, którą ktokolwiek powinien zaakceptować.

Jak prywatny konwerter bazy kodu na tekst faktycznie działa bez przesyłania

Nowoczesne przeglądarki potrafią odczytywać pliki z dysku bez konieczności ich wysyłania gdziekolwiek. Po wybraniu folderu plik przeglądarka przekazuje stronie listę uchwytów plików. Każdy z nich jest odczytywany ze standardem FileReader API, które dekoduje bajty do postaci ciągu znaków we własnej pamięci karty. The drzewo katalogów, liczba tokenów, konkatenacja — wszystko to dzieje się w JavaScript działającym na twoim maszyna. Nie ma fetch, bez XHR, bez punktu końcowego API, bez wywołań analitycznych stron trzecich przenoszący zawartość pliku. Otwórz kartę sieciową przeglądarki podczas konwersji, a zobaczysz, jak to pozostanie pusty.

Mechanizm ten ma kilka przydatnych skutków ubocznych wykraczających poza prywatność:

  • Działa w trybie offline. Po załadowaniu strony pociągnij za kabel Ethernet. Konwersja nadal biegnie. Przydatne na maszynach ze szczeliną powietrzną lub w zamkniętej sieci korporacyjnej.
  • Brak limitów przesyłania i limitów szybkości. Nie ma limitu API do osiągnięcia, ponieważ go nie ma API. Jedynym pułapem jest pamięć przeglądarki i cierpliwość.
  • Działa na kodzie, który nigdy nie został zatwierdzony. Odrapana gałąź, nieśledzona eksperyment, folder, który nigdy nie widział git initGitHub konwerter repozytorium na tekst nie mogę dotknij dowolnego z nich, ponieważ czyta z interfejsu API GitHub. Ten czyta z dysku, więc nie w ogóle nie przejmuj się sytuacją związaną z kontrolą wersji.
  • Nic nie jest zachowywane. Zamknij kartę, a stan zniknie — nie ma historii do wyczyszczenia, żadne konto nie zawiera kopii źródła.

Trzy sposoby na zdobycie projektu

Użyj selektora katalogów, aby przejść do folderu lub przeciągnij folder bezpośrednio z Findera lub Eksploratora na strefę zrzutu. Oba chodzą po drzewie rekurencyjnie, więc otrzymujesz cały projekt, w tym zagnieżdżony podkatalogi, a nie tylko najwyższy poziom.

Możesz także upuścić archiwum ZIP, które zostanie rozpakowane w przeglądarce — przydatne, gdy ktoś prześle Ci wiadomość e-mail projektu lub wolisz go w ogóle nie wyodrębniać. Jedno rozróżnienie, o którym warto wiedzieć: użyj tej strony, gdy archiwum przechowuje a projekt kodu, ponieważ chcesz mieć drzewo katalogów i nagłówki ścieżek poszczególnych plików. Jeśli jest to stos dokumentów — raportów, arkuszy kalkulacyjnych, plików PDF — ZIP do tekstu lub ZIP do Markdown pasuje lepiej, ponieważ pobierają one czytelną treść z każdego dokumentu, zamiast traktować pliki jako źródło.

Dowolne IDE, dowolny edytor — chce tylko folderu

Nie ma wtyczki do zainstalowania ani rozszerzenia do zatwierdzenia, ponieważ nie integruje się to z Twoim redaktor w ogóle. Wymaga katalogu. Niezależnie od tego, czy ten katalog jest obszarem roboczym VS Code, plik an Projekt IntelliJ IDEA lub PyCharm, rozwiązanie Visual Studio, moduł Android Studio, Xcode projekt, obszar roboczy Eclipse lub folder, który kiedykolwiek otwierałeś tylko w Neovimie, to ten sam zestaw plików na tym samym dysku. Skieruj na niego selektor i gotowe.

Warto to przeliterować, ponieważ „eksportuj mój projekt VS Code jako pojedynczy TXT” i „eksportuj plik IntelliJ projekt do jednego pliku” – to pytania, które ludzie zwykle zadają najpierw redaktorowi. Redaktorzy to zazwyczaj złe miejsce do szukania. Eksportują pliki, jeden po drugim. Niektóre z nich mają rozszerzenie marketplace to rozwiązuje problem w połowie, większość nie, a każdy rozwiązuje to inaczej, więc odpowiedź dla jednego IDE jest bezużyteczna w momencie przełączenia. Folder jest wspólnym mianownikiem.

To także lepsze posunięcie niż spakowanie projektu i wysłanie go. Archiwum jest w porządku dla programistów programisty, ale model czatu wymaga tekstu, a nie kontenera, a recenzent musi go wcześniej wyodrębnić czytając wiersz. Skonsolidowany .txt jest czytelny inline: wklej go do rozmowy, dołącz do zgłoszenia, upuść w wątku e-mailowym. A jeśli ktoś już wysłał ty ZIP, możesz go upuścić bezpośrednio na tę stronę, a nie najpierw go rozpakuj.

Przytnij mocno, zanim wygenerujesz

Jest to krok, który ludzie pomijają i od niego zależy, czy wynik będzie użyteczny. Wszystko zaczyna być zaznaczone w drzewie pól wyboru, co oznacza, że domyślnie zamierzasz uwzględnić wiele rzeczy nie model musi zobaczyć.

Jedna rzecz działa tutaj na twoją korzyść. Jeśli folder zawiera plik .gitignore, zostaje przeczytany i stosowane są jego reguły — łącznie z regułami zagnieżdżonymi głębiej w drzewie, obejmującymi ich własny katalog, with Linie komentarzy zostały pominięte. Na normalnym repo, które po cichu usuwa większość najgorszych przestępców przed tobą dotykaj czegokolwiek, ponieważ rzeczy, które zapełniają wysypisko, to zwykle te same rzeczy, które już powiedziałeś gitowi odejść w spokoju. The .git sam katalog jest zawsze wykluczony.

Nie opieraj się jednak na tym całkowicie. Folder z nr .gitignore — wyodrębniony plik ZIP, a przekazanie dostawcy, katalog, który nigdy nie był repozytorium, nie jest objęty taką ochroną. I dużo hałasu rzeczy są legalnie śledzone w git. Zeskanuj drzewo i odznacz te:

  • node_modules, vendor, .venv, site-packages. Drzewa zależności są ogromne i żadne z nich nie jest Twoim kodem. An nieprzycięty node_modules pojedynczo mogą znajdować się setki tysięcy żetonów innych ludzi źródło. Zaleje rzeczywisty projekt, a odpowiedzi modelu będą dryfować w stronę biblioteki elementy wewnętrzne.
  • Zbuduj wyjściedist, build, .next, target, out, raporty zasięgu. To twój własny kod, zminimalizowany lub transponowane, powielane. Czysty hałas.
  • Pliki blokujące. package-lock.json, yarn.lock, poetry.lock, Cargo.lock. Tysiące linii skrótów zawierających prawie nie informacja semantyczna. Zachowaj manifest (package.json, pyproject.toml) — to część, która mówi modelowi, na którym stosie się znajdujesz.
  • Wygenerowany kod i wyposażenie — wynik protobuf, koder GraphQL, baza danych migracje, duże pliki początkowe lub migawki.
  • Wszystko, co ma tajemnice. Nic nie jest przesyłane, ale plik wyjściowy jest przesyłany w końcu okno czatu. Wyjdź .env na zewnątrz.

Pliki binarne są obsługiwane za Ciebie: obrazy, czcionki, skompilowane artefakty i tym podobne są filtrowane przez rozszerzenie, zanim w ogóle dotrą do drzewa, a wszystko, co się prześlizgnie, zostanie przechwycone przez bajt zerowy skanuj i zastępuj krótkim symbolem zastępczym, zamiast wyrzucać jako śmieci. Pliki powyżej 1 MB otrzymują rozszerzenie symbol zastępczy odnotowujący również rozmiar, dzięki czemu jeden bezpański plik CSV nie pochłonie całego budżetu kontekstowego.

Na górze danych wyjściowych znajduje się również przełącznik drzewa katalogów: filtrowane pokazuje tylko to, co wybrałeś, pełny pokazuje pełną strukturę z zaznaczonymi wyborami. Pełny jest lepszym wyborem, gdy pytasz o architekturę, ponieważ model widzi, że a tests/ katalog istnieje, nawet jeśli go nie uwzględniłeś. Filtrowanie jest lepsze, gdy Ty chcę, aby model był skupiony wąsko i na niczym więcej.

Pozostając w oknie kontekstowym

Wygenerowane dane wyjściowe zawierają rzeczywistą liczbę tokenów, wygenerowaną przez gpt-tokenizer biblioteka zamiast zgadywania znaków podzielonego przez cztery. Przed wklejeniem porównaj go ze swoim modelem. To jest znacznie lepszy przepływ pracy niż wklejanie, czekanie i zwracanie błędu długości.

Przybliżone wskazówki dotyczące kwoty wysłanej. Wyślij cały projekt kiedy jest na to wystarczająco mały pasują wygodnie, a twoje pytanie ma charakter architektoniczny - „gdzie faktycznie egzekwowane jest uwierzytelnianie”, „co by się zepsuło, gdybym zmienił ten interfejs”, „wyjaśnij przepływ danych z żądania do bazy danych”. The model potrzebuje pełnego obrazu, aby odpowiedzieć na nie szczerze, a częściowy zrzut pozwala na pewne domysły o plikach, których nigdy nie widział.

Wyślij plasterek gdy pytanie ma charakter lokalny — jeden moduł plus obejmujące go testy, plus dwa lub trzy pliki, z których importuje. Mniejszy kontekst oznacza ostrzejsze odpowiedzi i mniej dryfowania zazwyczaj uzyskasz lepsze wyniki z 5000 dobrze wybranych tokenów niż 200 000 bezkrytycznych.

Monorepo wymaga przemyślanego podejścia. Nie konwertuj katalogu głównego repo. Zamień jeden pakiet na raz i jeśli ten pakiet zależy od współdzielonej biblioteki wewnętrznej, uwzględnij public tej biblioteki powierzchnię obok niego. Jeśli potrzebujesz kontekstu między pakietami, dobrą sztuczką jest uruchomienie dwóch przebiegów: jednego pełnego drzewo, w którym prawie nie wybrano żadnych plików — co daje modelowi mapę — a następnie drugie przejście zawierające dużo plików pakiet, w którym faktycznie pracujesz.

Dlaczego nie po prostu biegać cat lub skrypt powłoki?

Uczciwe pytanie i czasami szczera odpowiedź brzmi: powinieneś. Jeśli chcesz trzy znane pliki połączeni razem, cat auth.py models.py routes.py > out.txt jest szybsze niż otwarcie a przeglądarka. Nikt nie próbuje Cię od tego odwieść.

Kiedy przestaje się to opłacać, skupiasz się na całym projekcie. Biegnij find . -type f -exec cat {} + na prawdziwym repo i oto co otrzymasz:

  • Pliki binarne w środku źródła. PNG, czcionki, skompilowane obiekty, bezpańskie Urządzenie SQLite — wszystko zdekodowane jako tekst, wszystko w formie mojibake. Następnie zaczynasz utrzymywać Biała lista rozszerzeń.
  • Całe drzewo zależności. node_modules, .venv, vendor, targetoraz treść .git siebie. Z wyłączeniem oznacza to pisanie wyrażeń przycinających i aktualizowanie ich dla każdego projektu, nad którym pracujesz. Tutaj, twój .gitignore już to dokładnie opisuje, łącznie z zagnieżdżonymi plikami i to zostanie do Ciebie złożony.
  • Nie mam pojęcia, jak duży jest. Łączenie daje bajty, a nie tokeny i dzielenie znaków przez cztery to przypuszczenie, które jest błędne w obu kierunkach. Dowiesz się, że to nie pasuje kiedy modelka temu zaprzecza.
  • Kontrola selektywna kosztuje więcej skryptu. „Wszystko pod src z wyjątkiem wygenerowany klient API plus dwa pliki konfiguracyjne w katalogu głównym” to kolejna flaga i kolejna wyrażenie regularne Drzewo pól wyboru robi to za pomocą około czterech kliknięć.
  • Brak mapy na górze. Surowa konkatenacja to ściana tekstu bez nagłówka struktury, więc model nie jest w stanie określić, gdzie kończy się jeden plik, a zaczyna następny, ani jaki jest układ projektu wygląda. Sekcje rozdzielone ścieżkami i drzewo katalogów to w większości elementy zapewniające czytelność zrzutu.

Wszystko to można zbudować i mnóstwo ludzi to zbudowało. To popołudnie poświęcone pisaniu scenariuszy, a potem: małe narzędzie, które utrzymujesz. Handel polega na tym, czy chcesz skrypt, czy wynik.

Do czego ludzie właściwie tego używają

  • Baza kodu, którą właśnie odziedziczyłeś. Ktoś odszedł i teraz jest usługa 40 000 linii twoje. Przekonwertuj go, wklej i poproś o punkty wejścia, główne abstrakcje i trzy rzeczy, które najbardziej zaskoczyłyby nowego opiekuna. To szybsza orientacja niż jakiekolwiek przekazanie dokument, który otrzymasz.
  • Dokumentacja z prawdziwego źródła. Pliki README gniją, ponieważ zostały zapisane raz. Wygeneruj je z istniejącego obecnie kodu — przeglądy architektury, podsumowania modułów, dokładne lista zmiennych środowiskowych, które aplikacja faktycznie czyta.
  • Testuje nieprzetestowany kod. Dołącz moduł i jeden istniejący plik testowy jako styl odniesienie. Model dopasowuje się do Twojego szkieletu, nazewnictwa i wzorców urządzeń, a nie do wymyślanie konwencji testowania, której nie używasz.
  • Planowanie migracji i refaktoryzacji. Komponenty klas do haków, JavaScript do TypeScript, jeden ORM do drugiego. Model, który widzi każdą witrynę połączeń, daje raczej prawdziwy plan niż ogólna lista kontrolna.
  • RAG i osadzania. Pojedynczy czysty plik tekstowy z sekcjami rozdzielanymi ścieżkami to łatwo podzielić te ograniczniki i wepchnąć do magazynu wektorów.

Kiedy skończysz, skopiuj dane wyjściowe do schowka lub pobierz je jako plik .txt plik — wartość zachowaj, jeśli będziesz ponownie używać tego samego kontekstu w kilku rozmowach.

Kod to tylko połowa kontekstu

Większość prawdziwych pytań dotyczących projektu dotyczy również kwestii, które nie są plikami źródłowymi. Spec mieszka w PDF, schemat w pliku JSON, konfiguracja w XML, dane w CSV. Konwertuj je osobno i wklej je obok zrzutu bazy kodu: PDF do Markdown dla specyfikacji i dokumentacja dostawcy, Słowo do Markdown dla dokumenty wymagań, JSON do Markdown dla API ładunki i schematy, XML do Markdown dla dziedzictwa konfiguracja, CSV do Markdown dla próbki dane i HTML do Markdown dla eksportowanych stron. Jeśli wolisz nie wybierać formatu, File2Txt bierze wszystko, co rzucisz na to.

Często zadawane pytania

Jak przekonwertować folder na plik tekstowy?

Wybierz katalog powyżej, a otrzymasz jego drzewo w postaci listy pól wyboru. Zaznacz żądane pliki i wyeksportuj pojedynczy plik tekstowy — najpierw strukturę katalogów, a następnie każdy plik pod nagłówkiem ze ścieżką. Za darmo, bez rejestracji, bez konieczności instalowania.

Czy mój kod został przesłany na serwer?

Nie. W tym potoku nie ma żadnego serwera. Folder jest odczytywany w przeglądarce, dane wyjściowe są składane w przeglądarce i nic nie przechodzi przez sieć — możesz otworzyć narzędzia deweloperskie i oglądać lub odłączyć się od Internetu po załadowaniu strony i nadal działa. Na tym polega różnica między tym a tym GitHub konwerter, który musi wywołać API.

Czy konwersja bazy kodu firmy online jest bezpieczna?

Ta strona jest wersją, która odpowiada na to pytanie za pomocą mechaniki, a nie obietnicy: pliki nigdy nie opuszczają maszyny, więc nie ma w czym nam ufać. Nadal liczy się to, co zrobisz dalej — wklejenie wyników do hostowanego modelu spowoduje wysłanie ich do tego dostawcy, więc zanim to zrobisz, sprawdź zasady swojej organizacji i usuń sekrety.

Czy mogę przekonwertować cały projekt łącznie z podfolderami?

Tak, chodzi się po całym drzewie i można wybrać każdy poziom. Odznaczenie folderu powoduje usunięcie całej zawartości jednym kliknięciem, czyli w ten sposób upuszczasz node_modules lub .git bez polowania na dzieci. Licznik żetonów aktualizuje się na bieżąco, dzięki czemu możesz natychmiast zobaczyć efekt.

Które przeglądarki mogą wybrać cały folder?

Wybór folderu wykorzystuje atrybut przesyłania katalogu, który przeglądarki Chrome, Edge, Firefox i Safari obsługują od lat, więc działa każda obecna przeglądarka komputerowa. Przeglądarki mobilne stanowią lukę — ani iOS, ani Android nie udostępniają selektora folderów. Na telefonie spakuj katalog i użyj ZIP do tekstu zamiast tego.

Jaki jest limit rozmiaru pliku?

Nie ma przesyłania, więc nie ma limitu przesyłania — ograniczeniem jest pamięć Twojego komputera i ilość tekstu, którą możesz później wkleić w dowolnym miejscu. W praktyce licznik tokenów staje się prawdziwym limitem na długo przed tym, jak zrobi to przeglądarka. Repozytorium, którego użyteczne źródło ma mniej niż megabajt, obejmuje większość projektów po odznaczeniu zależności.

Reszta zestawu narzędzi

Jeśli kod jest hostowany, a nie lokalny, plik GitHub na konwerter tekstu i GitLab na konwerter tekstu zrób to samo job względem zdalnego repozytorium, w tym prywatnego z tokenem. Tylko w celach dokumentacyjnych istnieje w sieci, Web2Txt zadrapania A Adres URL do czystego Markdown — połącz zeskrobaną referencję API z lokalnym źródłem i asystentem kodowania widzi obie strony na raz.

Jeśli chcesz pójść dalej, na blogu jest więcej napisanych: przekształcanie bazy kodu w plik gotowy do LLM, opis przejścia konwerter folderów na tekst, przewodnik po wprowadzanie całego repozytorium do sztucznej inteligencji, i generał przewodnik konwersji pliku na tekst dla wszystkiego, co nie jest kodem.

Repo2Txt jest zbudowany i utrzymywany przez v12hero, niezależny programista tworzący aplikacje natywne i internetowe dbające o prywatność.