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 discussion avec le logo OpenAI

Il y a quelque temps, je tombais sans cesse sur le même problème : j’avais une foule de notes, spécifications et documents Markdown sur mon portable, mais quand j’ouvrais ChatGPT et 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 construit un petit CLI qui fait pour moi la partie ennuyeuse : openai-folder-sync, un outil en ligne de commande qui synchronise un répertoire local vers un OpenAI Vector Store, de sorte que ces fichiers deviennent du contexte consultable pour ChatGPT.

Pourquoi un vector store ?

La recherche de fichiers d’OpenAI est construite autour d’un vector store. Vous ajoutez des fichiers à un store, ils sont convertis en embeddings, et les assistants (ou ChatGPT via des outils connectés) peuvent récupérer et fonder 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 parcourt un répertoire sur votre machine, filtre les fichiers par extension et les pousse dans un vector store existant. Vous pouvez l’exécuter une fois pour remplir un store, ou l’ajouter à votre routine (par ex. via 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é, afin que lorsque ChatGPT cite quelque chose, vous sachiez exactement de quelle version il provient.

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

Installation

C’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 identifiant de vector store 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 lancer 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

Options courantes
  --vector-store / VECTOR_STORE – ID du vector store cible
  --local-dir / LOCAL_DIR – dossier à synchroniser
  --extensions / EXTENSIONS – liste séparée par des virgules
  --git-info / GIT_INFO – inclure les métadonnées git (true|false)
  --help – afficher toutes les options

Comment cela s’intègre à ChatGPT

Une fois les fichiers présents dans un vector store, ChatGPT (ou vos applications via l’API Assistants) peut récupérer des extraits pertinents de ces fichiers en répondant à vos questions. Cela signifie que vous pouvez poser des questions comme « Que disait la proposition au sujet du calendrier de migration ? » et le modèle extraira le contexte pertinent depuis vos documents synchronisés — plus besoin de copier-coller. Votre dossier devient effectivement une base de connaissances vivante.

Conseils et points à surveiller

Exemple de flux de travail

  1. Créez un vector store par domaine de connaissance (par ex. « Company Wiki », « Research Notes »).
  2. Pointez openai-folder-sync vers le dossier local correspondant.
  3. Exécutez-le dans le cadre de votre routine d’écriture (pour moi : après avoir poussé sur main).
  4. Interrogez ChatGPT et laissez la recherche faire le gros du travail.

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 !