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

Offen
#909 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Aktiv
Bereich
ai, api, cli

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Keine Sprachdaten
Sterne
4k
Forks
350
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CommandCodeAI/command-code

Alle Issues in CommandCodeAI/command-code

Ähnliche Issues

Weitere Issues zu AI Infra & Agents

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.