deepseek-v4.1-flash tool-calling regression: missing tool_calls, DSML markers leaking into content (since Sep 22)

Ouverte
#909 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
Active
Domaine
ai, api, cli

Piste de recherche

No repository file or test is identified. Start by reproducing the request against the deepseek-v4.1-flash OpenAI-compatible endpoint and compare its response with the expected standard tool_calls shape. Check whether the leaked DSML markers occur only for deepseek-family models; done would require a confirmed repository-side path to restore parsing or a clear upstream attribution.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary

Since the morning of 2026-09-22 (starting 02:21 UTC), tool calling on deepseek-v4.1-flash has regressed: the model no longer returns the standard tool_calls field. Instead, DeepSeek's internal DSML tool-call markup is emitted as plain text inside content, making it unparseable for any agent client that relies on standard tool_calls.

Environment

Client: pi-coding-agent (0.86.1 / 0.87.0 — behavior identical on both, ruling out a client regression)
Model: deepseek-v4.1-flash
API: OpenAI-compatible endpoint, with tools defined in the request body
Affected window: 2026-09-22 10:21 – 10:56 (UTC+8), for server-side log lookup

Expected Behavior

{
"choices": [{
"message": {
"content": null,
"tool_calls": [{
"id": "...",
"type": "function",
"function": { "name": "read", "arguments": "{"path": "..."}" }
}]
}
}]
}

Actual Behavior

I'll run a grilling session. First, let me read the skill and gather the facts.

<||DSML|| calls>
<||DSML|| invoke name="read">
<||DSML|| parameter name="path" string="true">/Users/xiaodi/.agents/skills/grill-me/SKILL.md</||DSML|| parameter>
</||DSML|| invoke>
</||DSML|| calls>

Steps to reproduce the issue
Time | Status -- | -- Sep 16 – 21 | Tool calling fully normal — ~420 responses with parsed tool_calls, zero anomalies Sep 22, 10:21 onward | Identical requests start returning the leaked format; 100% reproducible across retries Sep 22, 10:49 | Client upgraded to 0.87.0 — no change, ruling out a client regression Sep 22, 11:00 | Switching to glm-5.3-flash restores normal tool calling — issue specific to deepseek-family models
Command Code Version

go sub

Operating System

macOS

Terminal/IDE

No response

Shell

No response

Session file (optional)

No response

Fix prompt (optional)

No response

Additional context

No response

Langage dominant
Aucune donnée de langage
Étoiles
4k
Forks
350
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de CommandCodeAI/command-code

Toutes les issues de CommandCodeAI/command-code

Issues similaires

Plus d'issues AI Infra & Agents

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.