Intermédiaire 10 minIDE

Zed + Ollama : l'éditeur ultra-rapide avec assistant local

Réponse directe

Oui, Zed se connecte nativement à Ollama : installer Ollama, faire ollama pull d'un modèle, vérifier que le serveur tourne, puis choisir ce modèle dans le menu déroulant, que Zed remplit automatiquement. Un réglage à connaître avant de s'en servir : Zed envoie une fenêtre de contexte de seulement 4096 tokens par défaut à Ollama, bien en dessous de la plupart des modèles récents, ce qui suffit à expliquer des réponses tronquées sur un gros fichier.

Zed est un éditeur de code multi-utilisateurs écrit en Rust, connu pour sa réactivité. Ce guide couvre sa configuration avec Ollama pour l'assistant IA local, le réglage de la fenêtre de contexte, la découverte automatique des modèles, et les mécanismes de permission et de bac à sable qui encadrent ce que l'agent de Zed peut faire sur votre machine.

Par Mohamed Meguedmi·Màj 2026-09-28·Testé sur Windows, macOS, Linux

#Configurer Ollama dans Zed

La documentation officielle de Zed décrit une marche à suivre en quatre étapes : télécharger et installer Ollama, tirer un modèle, vérifier que le serveur Ollama tourne, puis sélectionner ce modèle dans le menu déroulant de Zed.

Terminal
ollama pull mistral
ollama serve

Sur macOS, lancer l'application Ollama.app suffit à démarrer le serveur ; sur Linux ou depuis un shell, la commande ollama serve fait la même chose. Zed est présenté par son éditeur comme un éditeur de code multi-utilisateurs et hautes performances, créé par les auteurs d'Atom et de Tree-sitter ; la dernière version stable au 28 septembre 2026 est v1.21.0, publiée le 23 septembre 2026, et le dépôt comptait près de 91 000 étoiles sur GitHub à la même date.

Cette configuration Ollama sert l'ensemble des fonctionnalités IA de Zed qui s'appuient sur un modèle de langage : le panneau Agent pour des tâches multi-fichiers, l'assistant en ligne (Inline Assistant) pour des modifications ciblées dans l'éditeur, et les threads de terminal qui laissent l'agent proposer des commandes. Les agents externes et les threads de terminal peuvent toutefois exiger leur propre configuration de modèle local, séparée de celle décrite ici pour les fonctionnalités natives de Zed.

#Détection automatique des modèles

Le kit Copilote Local

Ce guide t'amène au modèle. Le kit t'amène au copilote qui code dans ton éditeur.

  • Espace en ligne à vie
  • PDF + fichiers
  • Remboursé 30 j

Zed détecte automatiquement les modèles qu'Ollama a déjà téléchargés et les propose dans le menu de sélection. Pour désactiver cette détection et lister soi-même les modèles avec leurs capacités précises, il faut passer auto_discover à false dans les réglages.

settings.json
{
  "language_models": {
    "ollama": {
      "api_url": "http://localhost:11434",
      "auto_discover": false,
      "available_models": [
        {
          "name": "qwen2.5-coder",
          "display_name": "qwen 2.5 coder",
          "max_tokens": 32768,
          "supports_tools": true,
          "supports_thinking": true,
          "supports_images": true
        }
      ]
    }
  }
}

Ce mode manuel a un intérêt pratique : forcer supports_tools ou max_tokens pour un modèle que Zed ne classerait pas correctement automatiquement, ou documenter dans le fichier de configuration versionné du projet quel modèle l'équipe est censée utiliser.

Le champ supports_tools mérite une attention particulière : c'est lui qui indique à Zed si le modèle peut recevoir des définitions d'outils dans l'agent Zed (édition de fichiers, exécution de commandes) plutôt qu'être cantonné à un simple chat. Un modèle Ollama sans capacité d'appel d'outils déclarée fonctionnera pour l'assistant en ligne ou l'autocomplétion, mais pas pour les tâches multi-fichiers du panneau Agent.

#La fenêtre de contexte à 4096 tokens

Zed transmet la longueur de contexte à Ollama via le paramètre num_ctx, avec 4096 tokens par défaut selon la documentation officielle. C'est nettement inférieur à la fenêtre native de la plupart des modèles récents (souvent 32 000 tokens ou plus), et un fichier de taille moyenne peut suffire à dépasser ce plafond.

!
Gradient de surprise
Ce n'est pas une limite du modèle mais un réglage par défaut de Zed lui-même. Un modèle annoncé avec un contexte de 128k tokens répondra quand même de façon tronquée sur un gros fichier si Zed continue d'envoyer num_ctx=4096 sans que ce soit corrigé dans les réglages.
Relever le contexte
{
  "language_models": {
    "ollama": {
      "context_window": 8192
    }
  }
}

Ce réglage context_window s'applique à tous les modèles Ollama configurés dans Zed ; un contexte différent par modèle se définit via max_tokens dans available_models, en désactivant auto_discover pour que la valeur soit prise en compte.

#llama.cpp et LM Studio, les alternatives locales

Zed prend en charge llama.cpp au même titre qu'Ollama, avec une découverte automatique des modèles servis en mode routeur, affinée par un flux /models/sse qui exige une version récente du serveur llama.cpp. LM Studio est également supporté via son serveur API local, démarré avec lms server start.

Comparer les trois chemins locaux dans Zed
BackendDécouverte des modèlesParticularité
OllamaAutomatique (modèles déjà tirés)Contexte à régler manuellement (4096 par défaut)
llama.cppAutomatique en mode routeur (build récent requis)Chargement à la demande avec l'option -hf
LM StudioManuelle via la liste de modèles chargésInterface graphique de gestion des modèles en plus de l'API

#Permissions des outils de l'agent

Depuis la version 0.224.0, l'approbation des outils de l'agent Zed se règle via agent.tool_permissions.default ; avant cette version, un simple booléen (agent.always_allow_tool_actions, false par défaut) gouvernait l'ensemble. Le nouveau système permet des règles par motif regex, avec trois issues possibles : autoriser, refuser, ou toujours demander confirmation.

settings.json — règles par outil
{
  "agent": {
    "tool_permissions": {
      "default": "allow",
      "tools": {
        "terminal": {
          "default": "confirm",
          "always_allow": [
            { "pattern": "^cargo\\s+(build|test|check)" }
          ],
          "always_confirm": [{ "pattern": "sudo\\s+/" }]
        }
      }
    }
  }
}

Cet exemple, tiré de la documentation officielle, autorise automatiquement des commandes cargo précises dans l'outil terminal tout en exigeant systématiquement une confirmation pour toute commande sudo touchant à la racine du système — une granularité utile quand le modèle branché est un petit modèle local moins prévisible qu'un modèle cloud de référence.

#Le bac à sable : ce qu'il protège vraiment

Au-delà des permissions déclaratives, Zed propose un bac à sable au niveau du système d'exploitation pour les appels d'outils de son agent. La documentation est précise sur son périmètre : il s'applique uniquement aux outils terminal et fetch, pas à Zed lui-même, ni aux serveurs de langage, extensions, tâches ou onglets de terminal classiques.

Outil terminal
Le bac à sable restreint les écritures sur le disque et l'accès réseau sortant des commandes lancées par l'agent ; les métadonnées Git sont protégées.
Outil fetch
Le bac à sable restreint les hôtes que l'agent peut effectivement contacter.
Prérequis Linux
Un binaire bwrap exécutable et non setuid doit être présent dans le PATH.
Prérequis Windows
WSL doit être disponible ; la documentation précise que le bac à sable y est plus faible que sous Linux ou macOS et peut ne pas bloquer toutes les tentatives d'évasion.
i
Permissions et bac à sable se complètent
Les permissions par motif limitent la capacité de l'agent à déclencher une action ; le bac à sable, une fois l'action lancée, limite ce qu'elle peut réellement toucher sur le système. Les deux mécanismes ne se substituent pas l'un à l'autre.

Ce périmètre limité (terminal et fetch seulement) est important à intégrer avant de confier des tâches sensibles à un petit modèle local moins prévisible : les modifications de fichiers faites via edit_file ou write_file passent par les permissions déclaratives et les profils d'agent, pas par l'isolation système du bac à sable. Une revue humaine reste donc utile sur ces actions, même avec le bac à sable actif sur le reste.

#Ollama sur un serveur distant

Si Ollama tourne sur une autre machine ou exige une clé (cas d'Ollama Turbo, la version hébergée), la clé se saisit dans l'interface du fournisseur ou via la variable OLLAMA_API_KEY, et l'URL de l'API doit pointer vers l'endpoint distant plutôt que vers localhost.

Ce scénario distant a un intérêt concret pour une équipe : un unique serveur Ollama, dimensionné pour un modèle de taille correcte, peut servir plusieurs postes Zed configurés avec la même URL d'API, évitant à chaque développeur de faire tourner et de recharger le modèle sur sa propre machine. La fenêtre de contexte et les capacités déclarées (supports_tools, supports_thinking) restent alors à régler une seule fois, dans la configuration partagée du projet plutôt que dans les réglages personnels de chacun.

Questions fréquentes
Pourquoi Zed tronque-t-il les réponses sur un gros fichier avec Ollama ?+
Par défaut, Zed envoie à Ollama une fenêtre de contexte de seulement 4096 tokens (paramètre num_ctx), quelle que soit la fenêtre native du modèle. Le réglage context_window dans les paramètres Ollama de Zed permet de l'augmenter.
Zed détecte-t-il automatiquement mes modèles Ollama ?+
Oui, par défaut. Pour lister soi-même les modèles avec leurs capacités précises (support des outils, du raisonnement, des images), il faut désactiver auto_discover et les déclarer manuellement dans available_models.
Le bac à sable de Zed protège-t-il tous les outils de l'agent ?+
Non. La documentation officielle précise qu'il s'applique uniquement aux outils terminal et fetch. Les autres outils restent gouvernés par les permissions déclaratives et les profils d'agent, sans isolation système supplémentaire.
Peut-on utiliser LM Studio ou llama.cpp à la place d'Ollama dans Zed ?+
Oui, les trois sont pris en charge nativement. llama.cpp et Ollama proposent une découverte automatique des modèles déjà chargés ; LM Studio nécessite de démarrer son serveur API local avec lms server start.
Le bac à sable de Zed est-il aussi fiable sous Windows que sous Linux ?+
Non, la documentation officielle le signale explicitement : sous certaines conditions, le bac à sable est plus faible sous Windows et peut ne pas empêcher toutes les tentatives d'évasion, contrairement à Linux et macOS.

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.