Il y a quelque temps, je rencontrais toujours le même problème : j’avais un tas de notes, de spécifications et de documents markdown sur mon ordinateur portable, mais quand j’ouvrais ChatGPT et posais des questions à leur sujet, le modèle évidemment ne savait pas qu’ils existaient. Copier-coller les fichiers était fastidieux ; les télécharger manuellement un par un n’était pas bien mieux. J’ai donc construit 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 dans un OpenAI Vector Store, pour que ces fichiers deviennent un contexte consultable pour ChatGPT.
La recherche de fichiers d’OpenAI est construite autour d’un vector store. Vous ajoutez des fichiers dans un store, ils sont traités en embeddings, et les assistants (ou ChatGPT via les outils connectés) peuvent récupérer et fonder leurs réponses sur ces fichiers. C’est un modèle clair, mais il suppose que vous penserez à télécharger et maintenir votre ensemble de fichiers. Une étape de synchronisation — qui reflète un dossier auquel vous tenez déjà — est plus proche de notre façon de travailler au quotidien.
openai-folder-sync analyse 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 alimenter un store, ou l’ajouter à votre routine (par exemple, un cron job) 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échargé, ainsi, quand ChatGPT cite quelque chose, vous savez exactement de quelle version cela provient.
md,txt,pdf)--git-info)Repo : https://github.com/JensWalter/openai-folder-sync
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.
Usage
Vous aurez besoin d’une clé API OpenAI et d’un ID de vector store existant (commençant par vs_…). Ensuite, indiquez le répertoire local au CLI :
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 flags peuvent aussi être réglés 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 – ID du 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
Une fois les fichiers dans un vector store, ChatGPT (ou vos applications via l’API Assistants) peut récupérer des extraits pertinents de ces fichiers pour répondre à vos questions. Cela signifie que vous pouvez demander quelque chose comme « Que disait la proposition à propos du calendrier de migration ? » et le modèle tirera le contexte pertinent de vos documents synchronisés — sans copier-coller. Votre dossier devient en effet une base de connaissances vivante.
Je n’ai actuellement aucun plan supplémentaire pour cet outil. Si vous pensez qu’il manque quelque chose, ouvrez simplement un issue ou une PR.
⸻
Si vous souhaitez l’essayer, le dépôt inclut les détails d’installation, d’utilisation et la sortie d’aide. Je l’ai construit pour simplifier mon propre workflow ; si cela vous évite quelques marathons de copier-coller et aide ChatGPT à répondre à partir de vos vrais documents, c’est un succès. Bonne synchronisation !