Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Datalyn Code AgentNew to Visual Studio Code? Get it now.
Datalyn Code Agent

Datalyn Code Agent

Preview

Datalyn-code

|
1 install
| (0) | Free
A coding agent in VS Code: it reads, edits and tests your code; every file change and every command goes through you.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Datalyn Code

Version française complète plus bas

A coding agent in VS Code. Datalyn reads, edits and tests your code; every file change and every command goes through you, in the chat, before it happens.

Preview. This first public version works with Gemini, Ollama (local and cloud), OpenRouter and your own OpenAI-compatible providers. Your feedback is welcome: Sberkani@datalyn.fr.

The chat opens in an editor tab beside your code (or in the side bar), and every decision waits for you there.

What it does

  • Asks before it acts. A file change shows its diff in the chat; "Review the diff" opens VS Code's own comparison, where you can edit the proposal before accepting it. A shell command shows the exact command line. You allow, deny, or allow that command for the session.
  • Shows its work. One compact line per tool call (reads, searches, commands, tests with their counts), a tasks panel while it works, and the subagents it starts.
  • Lets you steer. Write while it works: your message is read before its next step, or kept for the end of the turn. Esc stops it at the next safe point.
  • Plans first when you want. Plan mode is read-only: Datalyn investigates and proposes a plan you approve before anything changes.

Install

  1. The extension: install it from the Marketplace (you are here).

  2. The engine: Datalyn Code runs on its engine, dlc, a Python program installed with uv. In a terminal:

    curl -LsSf https://astral.sh/uv/install.sh | sh    # uv, if you do not have it
    uv tool install datalyn-code                       # the engine: dlc
    

    (Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" for uv.) The extension finds dlc by itself, also in ~/.local/bin when it is not on your PATH.

  3. A model: write GEMINI_API_KEY=<your key> in ~/.datalyn/.env (get a free key), or use Ollama on your machine (no key). The extension never reads nor shows a key.

Then run Datalyn: Check the installation (uv, the engine, the keys, set or not, never their value, and Docker, in a read-only report). The Get started with Datalyn Code walkthrough (Help, Welcome) takes you through these steps: its Install the engine button types the command in a terminal for you to run. Update the engine with uv tool upgrade datalyn-code; the extension tells you when the engine is too old.

Choose your model

Click the model pill under the input (between two turns): a menu opens above it, with a search field, Recommended models, then one section per provider: Gemini, Ollama Cloud, Ollama (local), OpenRouter and the providers you added. Each model shows its context window and a badge: local (it runs on your machine) or cloud (someone else's servers: your code is sent there, and the chat says so the first time in a session). Only chat models that call tools are shown; Show all models lists the others, greyed, with the reason. A provider you cannot use yet shows why ("key not set", "Ollama is not running"). Arrows, Enter and Esc work as expected. datalyn.defaultModel sets the model of new sessions, for example gemini:gemini-2.5-pro.

Ollama local and cloud

Local: open models on your machine, free, your code never leaves it; slower and less reliable than Gemini on long tasks.

brew install ollama && brew services start ollama
ollama pull qwen2.5-coder:7b      # or gemma4:12b, qwen3:8b: models that call tools

Datalyn gives the model an explicit context window (32,768 tokens by default, DATALYN_OLLAMA_NUM_CTX). Ollama's OpenAI endpoint ignores that setting, so Datalyn creates once a small datalyn/<model>:ctx<N> entry that shares the model's files; dlc ollama clean lists and removes them. An Ollama version that honours the setting is detected, and then nothing is created.

Cloud: large models hosted by ollama.com. Create a key at https://ollama.com/settings/keys and write OLLAMA_API_KEY=<your key> in ~/.datalyn/.env (never shown, never logged). Not every model is in the free plan (gemma4:31b is, and it is the recommended one). Cloud models that your local Ollama shows after ollama signin (a -cloud suffix) are labelled cloud, never local.

Add a provider

Any OpenAI-compatible API (LM Studio, vLLM, Mistral, Groq…): Add a provider… at the bottom of the model menu asks for a name, the base address (http://localhost:1234/v1), the name of the variable that holds its key in ~/.datalyn/.env (MISTRAL_API_KEY; none for a local server; never the key itself), then tests the connection. The engine keeps the list in ~/.datalyn/settings.json, so the terminal sees it too. An address off your machine must use https://. Remove a provider with the × of its section.

Features

Chat In an editor tab beside your code (or in the side bar), kept when hidden and after a reload
Decisions File-change, shell-command, question (with proposed answers) and plan cards; keyboard: Enter allows, Esc denies
Review VS Code's comparison view: "stats.py (before) ↔ stats.py (proposed by Datalyn)", editable right side
Context Attach files with @ or "Send the selection"; a ring shows how full the context is, click to compact
Modes Default (asks for everything), Edit (edits without asking), Plan (read-only), Bypass (no confirmation, red status bar)
Models Gemini, Ollama Cloud, Ollama (local, free), OpenRouter and your own OpenAI-compatible providers, changed between two turns from the chat's menu
Sessions Resume one of the folder's sessions from the welcome screen or the history button

Security

  • Nothing runs without your decision, except in Bypass mode, which you confirm for each session and which stays visible (red pill and status bar).
  • In a folder you have not trusted (Restricted Mode), Datalyn stays read-only (plan mode), and the engine command is taken from your user settings only.
  • Keys stay in ~/.datalyn/.env, read by the engine only: the extension never reads them, and they are never shown, logged, or sent anywhere but to the model's provider. The log masks anything that looks like a key.
  • With a cloud model (Gemini, Ollama Cloud, OpenRouter, a remote provider), the code the agent reads is sent to that provider; the menu labels each model local or cloud. With Ollama on your machine, your code stays on it.
  • No telemetry: neither the extension nor the engine sends usage data anywhere. The only network calls go to the model providers you set up (and to Opik, only if you configure it).
  • The chat has a strict Content Security Policy: its own script only, no remote content.

Settings

Setting Default
datalyn.enginePath (empty) For developers: a clone of the engine, used with uv when no installed dlc is found
datalyn.serverCommand (empty) For developers: the whole command that starts the engine
datalyn.openIn editorTab Where the chat opens: editorTab or sidebar
datalyn.defaultModel (empty) Model of new sessions, provider:name; empty: the engine's default

Shortcuts

Action macOS Windows, Linux
Open the chat, or put the cursor in it Cmd+Alt+K Ctrl+Alt+K
Send / new line Enter / Shift+Enter Enter / Shift+Enter
Stop the turn, or deny the decision shown Esc Esc

Every shortcut can be changed in Keyboard Shortcuts (search "Datalyn").

Troubleshooting

  • "The Datalyn engine is not installed": run uv tool install datalyn-code in a terminal (or the Install the engine button), then Datalyn: Check the installation.
  • "The Datalyn engine x.y is too old": uv tool upgrade datalyn-code (the card's button types it), then a new session.
  • A local model times out: the first answer of a large Ollama model can take minutes (loading, then reading the whole conversation); the chat says "Loading the model into memory…". The engine waits up to 600 s for a local model (DATALYN_OLLAMA_LOCAL_TIMEOUT_S); the error offers Try again and Change the model.
  • The engine does not answer: open Datalyn: Show the log (Output, Datalyn Code); what the engine wrote is also shown in the chat.
  • The key is missing: the report says so; write it in ~/.datalyn/.env (Datalyn: Open the folder of the key).

Limits

  • One session per folder at a time; multi-root workspaces use the folder of the active editor.
  • The model changes between two turns, never during one.
  • Local models need memory: on 16 GB, prefer models of 12 billion parameters or less.
  • The engine runs on your machine (or in Docker with its sandbox modes); it needs uv and Python 3.12 or later (uv installs it when needed).
  • Preview: the interface and its settings may still change.

Datalyn Code en français

Un agent de codage dans VS Code. Datalyn lit, modifie et teste votre code ; chaque modification de fichier et chaque commande passe par vous, dans le chat, avant d'avoir lieu.

Préversion. Cette première version publique fonctionne avec Gemini, Ollama (local et cloud), OpenRouter et vos fournisseurs compatibles OpenAI. Vos retours sont bienvenus : Sberkani@datalyn.fr.

Ce qu'il fait

  • Il demande avant d'agir. Une modification de fichier montre son diff dans le chat ; « Revoir le diff » ouvre la comparaison de VS Code, où vous pouvez retoucher la proposition avant de l'accepter. Une commande shell montre la ligne de commande exacte. Vous autorisez, refusez, ou autorisez cette commande pour la session.
  • Il montre son travail. Une ligne compacte par appel d'outil (lectures, recherches, commandes, tests avec leurs résultats), un panneau des tâches pendant qu'il travaille, et les sous-agents qu'il lance.
  • Vous le guidez. Écrivez pendant qu'il travaille : votre message est lu avant sa prochaine étape, ou gardé pour la fin du tour. Échap l'arrête au prochain point sûr.
  • Il planifie d'abord, si vous le voulez. Le mode plan est en lecture seule : Datalyn étudie et propose un plan que vous approuvez avant tout changement.

Installation

  1. L'extension : installez-la depuis la Marketplace (vous y êtes).

  2. Le moteur : Datalyn Code s'appuie sur son moteur, dlc, un programme Python installé avec uv. Dans un terminal :

    curl -LsSf https://astral.sh/uv/install.sh | sh    # uv, si vous ne l'avez pas
    uv tool install datalyn-code                       # le moteur : dlc
    

    (Windows : powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" pour uv.) L'extension trouve dlc d'elle-même, y compris dans ~/.local/bin s'il n'est pas dans votre PATH.

  3. Un modèle : écrivez GEMINI_API_KEY=<votre clé> dans ~/.datalyn/.env (obtenir une clé gratuite), ou utilisez Ollama sur votre machine (sans clé). L'extension ne lit ni n'affiche jamais une clé.

Lancez ensuite Datalyn : Vérifier l'installation (uv, le moteur, les clés, définies ou non, jamais leur valeur, et Docker, dans un rapport en lecture seule). Le parcours Bien démarrer avec Datalyn Code (Aide, Bienvenue) reprend ces étapes : son bouton Installer le moteur tape la commande dans un terminal, vous la lancez. Mettez le moteur à jour avec uv tool upgrade datalyn-code ; l'extension vous prévient quand il est trop ancien.

Choisir son modèle

Cliquez sur la pastille du modèle sous la saisie (entre deux tours) : un menu s'ouvre au-dessus, avec un champ de recherche, les modèles Recommandés, puis une section par fournisseur : Gemini, Ollama Cloud, Ollama (local), OpenRouter et vos fournisseurs. Chaque modèle montre sa fenêtre de contexte et un badge : local (il tourne sur votre machine) ou cloud (les serveurs d'un autre : votre code y est envoyé, et le chat le dit la première fois dans une session). Seuls les modèles de discussion qui gèrent les outils sont affichés ; Afficher tous les modèles montre les autres, grisés, avec la raison. Un fournisseur pas encore utilisable dit pourquoi (« clé absente », « Ollama n'est pas démarré »). Flèches, Entrée et Échap fonctionnent comme attendu. datalyn.defaultModel règle le modèle des nouvelles sessions, par exemple gemini:gemini-2.5-pro.

Ollama local et cloud

Local : des modèles ouverts sur votre machine, gratuits, votre code n'en sort pas ; plus lents et moins sûrs que Gemini sur les tâches longues.

brew install ollama && brew services start ollama
ollama pull qwen2.5-coder:7b      # ou gemma4:12b, qwen3:8b : des modèles qui gèrent les outils

Datalyn donne au modèle une fenêtre de contexte explicite (32 768 jetons par défaut, DATALYN_OLLAMA_NUM_CTX). L'API OpenAI d'Ollama ignore ce réglage : Datalyn crée donc une fois une petite entrée datalyn/<modèle>:ctx<N> qui partage les fichiers du modèle ; dlc ollama clean les liste et les supprime. Une version d'Ollama qui honore ce réglage est détectée : plus rien n'est créé.

Cloud : de grands modèles hébergés par ollama.com. Créez une clé sur https://ollama.com/settings/keys et écrivez OLLAMA_API_KEY=<votre clé> dans ~/.datalyn/.env (jamais affichée, jamais journalisée). Tous les modèles ne sont pas dans l'offre gratuite (gemma4:31b l'est, c'est le modèle recommandé). Les modèles cloud que montre votre Ollama local après ollama signin (suffixe -cloud) sont étiquetés cloud, jamais local.

Ajouter un fournisseur

N'importe quelle API compatible OpenAI (LM Studio, vLLM, Mistral, Groq…) : Ajouter un fournisseur…, en bas du menu du modèle, demande un nom, l'adresse de base (http://localhost:1234/v1), le nom de la variable qui contient sa clé dans ~/.datalyn/.env (MISTRAL_API_KEY ; aucune pour un serveur local ; jamais la clé elle-même), puis teste la connexion. Le moteur garde la liste dans ~/.datalyn/settings.json : le terminal la voit aussi. Une adresse hors de votre machine doit être en https://. Le × de sa section retire un fournisseur.

Fonctions

Chat Dans un onglet à côté du code (ou dans la barre latérale), conservé quand il est masqué et après un rechargement
Décisions Cartes de modification de fichier, de commande shell, de question (avec réponses proposées) et de plan ; clavier : Entrée autorise, Échap refuse
Revue La comparaison de VS Code : « stats.py (avant) ↔ stats.py (proposé par Datalyn) », côté droit modifiable
Contexte Joindre des fichiers avec @ ou « Envoyer la sélection » ; un anneau montre le remplissage du contexte, un clic propose de compacter
Modes Par défaut (demande tout), Édition (modifie sans demander), Plan (lecture seule), Bypass (sans confirmation, barre d'état rouge)
Modèles Gemini, Ollama Cloud, Ollama (local, gratuit), OpenRouter et vos fournisseurs compatibles OpenAI, changés entre deux tours depuis le menu du chat
Sessions Reprendre une session du dossier depuis l'accueil ou le bouton Historique

Sécurité

  • Rien ne s'exécute sans votre décision, sauf en mode Bypass, que vous confirmez à chaque session et qui reste visible (pastille et barre d'état rouges).
  • Dans un dossier non approuvé (mode restreint), Datalyn reste en lecture seule (mode plan), et la commande du moteur n'est lue que dans vos réglages utilisateur.
  • Les clés restent dans ~/.datalyn/.env, lues par le moteur seul : l'extension ne les lit jamais ; elles ne sont jamais affichées ni journalisées, et ne partent qu'au fournisseur du modèle. Le journal masque tout ce qui ressemble à une clé.
  • Avec un modèle cloud (Gemini, Ollama Cloud, OpenRouter, un fournisseur distant), le code que lit l'agent est envoyé à ce fournisseur ; le menu marque chaque modèle local ou cloud. Avec Ollama sur votre machine, votre code y reste.
  • Aucune télémétrie : ni l'extension ni le moteur n'envoient de données d'usage. Les seuls appels réseau vont aux fournisseurs de modèles que vous configurez (et à Opik, seulement si vous le configurez).
  • Le chat a une politique de sécurité de contenu stricte : son propre script seulement, aucun contenu distant.

Réglages

Réglage Défaut
datalyn.enginePath (vide) Pour les développeurs : un clone du moteur, lancé avec uv quand aucun dlc installé n'est trouvé
datalyn.serverCommand (vide) Pour les développeurs : la commande complète du moteur
datalyn.openIn editorTab Où s'ouvre le chat : editorTab ou sidebar
datalyn.defaultModel (vide) Modèle des nouvelles sessions, fournisseur:nom ; vide : le défaut du moteur

Raccourcis

Action macOS Windows, Linux
Ouvrir le chat, ou y placer le curseur Cmd+Alt+K Ctrl+Alt+K
Envoyer / aller à la ligne Entrée / Maj+Entrée Entrée / Maj+Entrée
Arrêter le tour, ou refuser la décision affichée Échap Échap

Tous les raccourcis se changent dans Raccourcis clavier (chercher « Datalyn »).

Dépannage

  • « Le moteur Datalyn n'est pas installé » : lancez uv tool install datalyn-code dans un terminal (ou le bouton Installer le moteur), puis Datalyn : Vérifier l'installation.
  • « Le moteur Datalyn x.y est trop ancien » : uv tool upgrade datalyn-code (le bouton de la carte la tape), puis une nouvelle session.
  • Un modèle local dépasse le délai : la première réponse d'un gros modèle Ollama peut prendre plusieurs minutes (chargement, puis lecture de toute la conversation) ; le chat affiche « Chargement du modèle en mémoire… ». Le moteur attend jusqu'à 600 s un modèle local (DATALYN_OLLAMA_LOCAL_TIMEOUT_S) ; l'erreur propose Réessayer et Changer de modèle.
  • Le moteur ne répond pas : ouvrez Datalyn : Afficher le journal (Sortie, Datalyn Code) ; ce que le moteur a écrit s'affiche aussi dans le chat.
  • La clé manque : le rapport le dit ; écrivez-la dans ~/.datalyn/.env (Datalyn : Ouvrir le dossier de la clé).

Limites

  • Une session par dossier à la fois ; dans un espace de travail à plusieurs dossiers, celui de l'éditeur actif.
  • Le modèle change entre deux tours, jamais pendant un tour.
  • Les modèles locaux demandent de la mémoire : sur 16 Go, préférez des modèles de 12 milliards de paramètres ou moins.
  • Le moteur tourne sur votre machine (ou dans Docker avec ses modes sandbox) ; il demande uv et Python 3.12 ou plus (uv l'installe au besoin).
  • Préversion : l'interface et ses réglages peuvent encore changer.

Datalyn Code, © 2026 DATALYN. All rights reserved. Tous droits réservés.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft