Sync Your Folder to ChatGPT: the story behind `openai-folder-sync`

created: Freitag, Aug. 29, 2025
Depicting a local directory being synched into a chat-bubble with the openai logo

Vor einiger Zeit bin ich immer wieder auf dasselbe Problem gestoßen: Ich hatte viele Notizen, Spezifikationen und Markdown-Dokumente auf meinem Laptop, aber wenn ich ChatGPT öffnete und Fragen dazu stellte, wusste das Modell natürlich nicht, dass sie existierten. Dateien per Copy-Paste zu übertragen war mühsam; sie manuell einzeln hochzuladen war auch keine große Verbesserung. Also habe ich ein kleines CLI gebaut, das mir die langweilige Arbeit abnimmt: openai-folder-sync, ein Kommandozeilen-Tool, das ein lokales Verzeichnis mit einem OpenAI Vector Store synchronisiert, sodass diese Dateien durchsuchbarer Kontext für ChatGPT werden.

Why a vector store?

OpenAI’s Dateisuche basiert auf einem Vector Store. Du fügst Dateien zu einem Store hinzu, sie werden in Embeddings umgewandelt, und Assistenten (oder ChatGPT über verbundene Tools) können über diese Dateien Antworten abrufen und belegen. Das ist ein klares Modell, aber es setzt voraus, dass du daran denkst, deine Dateien hochzuladen und zu pflegen. Ein Synchronisations-Schritt – der ein Verzeichnis spiegelt, das du sowieso pflegst – kommt unserem täglichen Arbeiten näher.

What the tool does

openai-folder-sync scannt ein Verzeichnis auf deinem Rechner, filtert Dateien nach Endung und lädt sie in einen bestehenden Vector Store hoch. Du kannst es einmalig ausführen, um einen Store zu befüllen, oder als Teil deines Workflows (z.B. über einen Cron-Job), um deine Wissensbasis aktuell zu halten. Es gibt auch einen Schalter, um Git-Metadaten (Branch und Commit) in die hochgeladenen Inhalte einzubetten, sodass du genau weißt, aus welcher Version ChatGPT zitiert.

Repo: https://github.com/JensWalter/openai-folder-sync

Installation

Das Tool ist in Rust geschrieben und wird über Cargo installiert:

cargo install --git https://github.com/JensWalter/openai-folder-sync.git

Cargo baut und platziert die openai-folder-sync-Binärdatei im PATH.

Usage

Du benötigst einen OpenAI API-Schlüssel und eine vorhandene Vector Store ID (beginnt mit vs_…). Dann zeigst du das CLI auf dein Verzeichnis:

openai-folder-sync \
  --vector-store 'vs_ABCDEFGHIJK' \
  --local-dir '/Users/jens/tmp/wiki/content' \
  --extensions md

Möchtest du das während der Entwicklung lieber via Cargo ausführen?

cargo run -- \
  --vector-store 'vs_ABCDEFGHIJK' \
  --local-dir '/Users/jens/tmp/wiki/content' \
  --extensions md

Die meisten Flags können auch über Umgebungsvariablen gesetzt werden:

export OPENAI_API_KEY=sk-...
export VECTOR_STORE=vs_ABCDEFGHIJK
export LOCAL_DIR=/Users/jens/tmp/wiki/content
export EXTENSIONS=md,txt,pdf
export GIT_INFO=true

openai-folder-sync

Common flags
  --vector-store / VECTOR_STORE – Ziel-Store-ID
  --local-dir / LOCAL_DIR – zu synchronisierender Ordner
  --extensions / EXTENSIONS – kommaseparierte Liste
  --git-info / GIT_INFO – Git-Metadaten einfügen (true|false)
  --help – alle Optionen anzeigen

How this fits with ChatGPT

Sobald die Dateien im Vector Store sind, können ChatGPT (oder deine Assistants API Apps) passende Auszüge aus diesen Dateien abrufen, während sie deine Fragen beantworten. Das heißt, du kannst Fragen stellen wie „Was stand im Vorschlag zum Migrationszeitplan?“ und das Modell zieht den relevanten Kontext aus deinen synchronisierten Dokumenten – Copy-Paste entfällt. Dein Ordner wird effektiv zu einer lebenden Wissensbasis.

Tips & gotchas

Example workflow

  1. Erstelle einen Vector Store pro Wissensdomäne (z.B. „Firmenwiki“, „Forschungsnotizen“).
  2. Zeige openai-folder-sync auf den passenden lokalen Ordner.
  3. Führe das Tool im Rahmen deines Schreib-Workflows aus (bei mir: nach Push auf main).
  4. Stelle ChatGPT Fragen und lass die Suche das schwere Heben übernehmen.

Roadmap

Im Moment habe ich keine weiteren Pläne für dieses Tool. Wenn du denkst, es fehlt noch etwas, öffne einfach ein Issue oder PR.

Wenn du es ausprobieren möchtest: Das Repository enthält Installations- und Nutzungsdetails sowie Hilfe-Ausgaben. Ich habe es gebaut, um meinen eigenen Workflow zu vereinfachen; wenn es dir einige Copy-Paste-Marathons erspart und ChatGPT hilft, aus deinen echten Dokumenten zu antworten, ist das ein Gewinn. Viel Spaß beim Synchronisieren!