Synchronisez votre dossier avec ChatGPT : l'histoire derrière `openai-folder-sync`

created: vendredi, août 29, 2025
Représentation d'un répertoire local synchronisé dans une bulle de chat avec le logo OpenAI

Il y a quelque temps, je butais sans cesse sur le même problème : j’avais plein de notes, de spécifications et de documents Markdown sur mon ordinateur, mais quand j’ouvrais ChatGPT et lui posais des questions à leur sujet, le modèle ne savait évidemment pas qu’ils existaient. Copier-coller des fichiers était fastidieux ; les téléversements manuels un par un n’étaient guère mieux. J’ai donc créé un petit CLI qui fait la partie ennuyeuse pour moi : openai-folder-sync, un outil en ligne de commande qui synchronise un répertoire local vers un magasin de vecteurs OpenAI, afin que ces fichiers deviennent un contexte consultable pour ChatGPT.

Pourquoi un magasin de vecteurs ?

La recherche de fichiers d’OpenAI est construite autour d’un magasin de vecteurs. Vous ajoutez des fichiers à un store, ils sont transformés en embeddings, et les assistants (ou ChatGPT via des outils connectés) peuvent récupérer et ancrer des réponses en utilisant ces fichiers. C’est un modèle propre, mais il suppose que vous penserez à téléverser et maintenir votre ensemble de fichiers. Une étape de synchronisation — qui reflète un dossier dont vous vous souciez déjà — est plus proche de notre façon de travailler au quotidien.

Ce que fait l’outil

openai-folder-sync analyse un répertoire sur votre machine, filtre les fichiers par extension et les pousse vers un magasin de vecteurs existant. Vous pouvez l’exécuter une fois pour peupler un store, ou l’ajouter à votre routine (par ex., un cron) pour garder votre base de connaissances à jour. Il y a aussi un interrupteur pour intégrer les métadonnées git (branche et commit) dans le contenu téléversé, ainsi lorsque ChatGPT cite quelque chose, vous savez exactement de quelle version il provient.

Dépôt : https://github.com/JensWalter/openai-folder-sync

Installation

Il est écrit en Rust et s’installe via Cargo :

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

Cargo compilera et placera le binaire openai-folder-sync dans votre PATH.

Utilisation

Vous aurez besoin d’une clé API OpenAI et d’un ID de magasin de vecteurs existant (ressemble à vs_…). Ensuite, pointez le CLI vers votre dossier :

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

Vous préférez exécuter via Cargo pendant le développement ?

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

La plupart des options peuvent aussi être définies via des variables d’environnement :

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 – target store ID
  --local-dir / LOCAL_DIR – folder to sync
  --extensions / EXTENSIONS – comma-separated list
  --git-info / GIT_INFO – include git metadata (true|false)
  --help – show all options

Comment cela s’intègre à ChatGPT

Une fois les fichiers dans un magasin de vecteurs, ChatGPT (ou vos applications utilisant l’API Assistants) peut récupérer des extraits pertinents de ces fichiers lors de la réponse à vos questions. Cela signifie que vous pouvez poser des questions comme « Que disait la proposition à propos du calendrier de migration ? » et le modèle puisera le contexte pertinent dans vos documents synchronisés — sans copier-coller. Votre dossier devient effectivement une base de connaissances vivante.

Conseils & pièges

Exemple de flux de travail

  1. Create one vector store per knowledge domain (e.g., “Company Wiki”, “Research Notes”).
  2. Point openai-folder-sync at the matching local folder.
  3. Run it as part of your writing routine (for me: after pushing to main).
  4. Ask ChatGPT questions and let retrieval do the heavy lifting.

Feuille de route

Je n’ai actuellement pas d’autres plans pour cet outil. Si vous pensez qu’il manque quelque chose, ouvrez simplement une issue ou une PR.

Si vous voulez l’essayer, le dépôt inclut les détails d’installation et d’utilisation ainsi que la sortie d’aide. Je l’ai construit pour simplifier mon propre flux de travail ; si cela vous évite quelques marathons de copier-coller et aide ChatGPT à répondre à partir de vos vrais documents, c’est une victoire. Bonne synchronisation !