Skip to Content
BenutzerhandbuchKonfigurationEinstellungen

Qwen Code Konfiguration

Tip

Authentifizierung / API-Keys: Die Authentifizierung (API Key, Alibaba Cloud Coding Plan) und auth-bezogene Umgebungsvariablen (wie OPENAI_API_KEY) sind in Authentication dokumentiert.

Note

Hinweis zum neuen Konfigurationsformat: Das Format der settings.json-Datei wurde auf eine neue, besser strukturierte Form umgestellt. Das alte Format wird automatisch migriert. Qwen Code bietet verschiedene Möglichkeiten, sein Verhalten zu konfigurieren, darunter Umgebungsvariablen, Befehlszeilenargumente und Einstellungsdateien. Dieses Dokument beschreibt die verschiedenen Konfigurationsmethoden und verfügbaren Einstellungen.

Konfigurationsebenen

Die Konfiguration wird in der folgenden Prioritätsreihenfolge angewendet (niedrigere Zahlen werden durch höhere Zahlen überschrieben):

EbeneKonfigurationsquelleBeschreibung
1StandardwerteHartcodierte Standardwerte innerhalb der Anwendung
2System-StandarddateiSystemweite Standardeinstellungen, die durch andere Einstellungsdateien überschrieben werden können
3Benutzer-EinstellungsdateiGlobale Einstellungen für den aktuellen Benutzer
4Projekt-EinstellungsdateiProjektspezifische Einstellungen
5System-EinstellungsdateiSystemweite Einstellungen, die alle anderen Einstellungsdateien überschreiben
6UmgebungsvariablenSystemweite oder sitzungsspezifische Variablen, die möglicherweise aus .env-Dateien geladen werden
7BefehlszeilenargumenteBeim Starten der CLI übergebene Werte

Einstellungsdateien

Qwen Code verwendet JSON-Einstellungsdateien für die persistente Konfiguration. Es gibt vier Speicherorte für diese Dateien:

DateitypSpeicherortGültigkeitsbereich
System-StandarddateiLinux: /etc/qwen-code/system-defaults.json
Windows: C:\ProgramData\qwen-code\system-defaults.json
macOS: /Library/Application Support/QwenCode/system-defaults.json
Der Pfad kann mit der Umgebungsvariable QWEN_CODE_SYSTEM_DEFAULTS_PATH überschrieben werden.
Bietet eine Basisebene systemweiter Standardeinstellungen. Diese Einstellungen haben die niedrigste Priorität und sind dafür gedacht, durch Benutzer-, Projekt- oder System-Override-Einstellungen überschrieben zu werden.
Benutzer-Einstellungsdatei~/.qwen/settings.json (wobei ~ dein Home-Verzeichnis ist).Gilt für alle Qwen Code-Sitzungen des aktuellen Benutzers.
Projekt-Einstellungsdatei.qwen/settings.json im Stammverzeichnis deines Projekts.Gilt nur, wenn Qwen Code aus diesem bestimmten Projekt heraus ausgeführt wird. Projekteinstellungen überschreiben Benutzereinstellungen.
System-EinstellungsdateiLinux: /etc/qwen-code/settings.json
Windows: C:\ProgramData\qwen-code\settings.json
macOS: /Library/Application Support/QwenCode/settings.json
Der Pfad kann mit der Umgebungsvariable QWEN_CODE_SYSTEM_SETTINGS_PATH überschrieben werden.
Gilt für alle Qwen Code-Sitzungen auf dem System, für alle Benutzer. Systemeinstellungen überschreiben Benutzer- und Projekteinstellungen. Kann für Systemadministratoren in Unternehmen nützlich sein, um die Qwen Code-Setups der Benutzer zu kontrollieren.
Note

Hinweis zu Umgebungsvariablen in Einstellungen: String-Werte in deinen settings.json-Dateien können über die Syntax $VAR_NAME oder ${VAR_NAME} auf Umgebungsvariablen verweisen. Diese Variablen werden beim Laden der Einstellungen automatisch aufgelöst. Wenn du beispielsweise eine Umgebungsvariable MY_API_TOKEN hast, kannst du sie in der settings.json wie folgt verwenden: "apiKey": "$MY_API_TOKEN".

Das .qwen-Verzeichnis in deinem Projekt

Zusätzlich zur Projekt-Einstellungsdatei kann das .qwen-Verzeichnis eines Projekts weitere projektspezifische Dateien enthalten, die sich auf den Betrieb von Qwen Code beziehen, wie zum Beispiel:

Konfigurationsmigration

Qwen Code migriert ältere Konfigurationseinstellungen automatisch in das neue Format. Alte Einstellungsdateien werden vor der Migration gesichert. Die folgenden Einstellungen wurden von einer negativen (disable*) zu einer positiven (enable*) Benennung umbenannt:

Alte EinstellungNeue EinstellungHinweise
disableAutoUpdate + disableUpdateNaggeneral.enableAutoUpdateIn eine einzige Einstellung zusammengefasst
disableLoadingPhrasesui.accessibility.enableLoadingPhrases
disableFuzzySearchcontext.fileFiltering.enableFuzzySearch
disableCacheControlmodel.generationConfig.enableCacheControl
Note

Umkehrung von Boolean-Werten: Bei der Migration werden Boolean-Werte umgekehrt (z. B. wird aus disableAutoUpdate: true ein enableAutoUpdate: false).

Konsolidierungsrichtlinie für disableAutoUpdate und disableUpdateNag

Wenn beide Legacy-Einstellungen mit unterschiedlichen Werten vorhanden sind, folgt die Migration dieser Richtlinie: Wenn entweder disableAutoUpdate oder disableUpdateNag auf true gesetzt ist, wird enableAutoUpdate auf false gesetzt:

disableAutoUpdatedisableUpdateNagMigriertes enableAutoUpdate
falsefalsetrue
falsetruefalse
truefalsefalse
truetruefalse

Verfügbare Einstellungen in settings.json

Die Einstellungen sind in Kategorien organisiert. Die meisten Einstellungen sollten in das entsprechende Top-Level-Kategorieobjekt in deiner settings.json-Datei eingefügt werden. Einige Top-Level-Einstellungen wie proxy und plansDirectory bleiben aus Kompatibilitätsgründen direkte Root-Keys.

general

EinstellungTypBeschreibungStandardwert
general.preferredEditorstringDer bevorzugte Editor zum Öffnen von Dateien.undefined
general.vimModebooleanVim-Tastenkombinationen aktivieren.false
general.enableAutoUpdatebooleanAutomatische Update-Prüfungen und -Installationen beim Start aktivieren.true
general.showSessionRecapbooleanAutomatisch eine einzeilige Zusammenfassung (“wo du aufgehört hast”) anzeigen, wenn du nach einer Abwesenheit zum Terminal zurückkehrst. Standardmäßig deaktiviert. Verwende /recap, um sie manuell auszulösen, unabhängig von dieser Einstellung.false
general.sessionRecapAwayThresholdMinutesnumberMinuten, die das Terminal den Fokus verloren haben muss, bevor beim erneuten Fokussieren eine automatische Zusammenfassung ausgelöst wird. Wird nur verwendet, wenn showSessionRecap aktiviert ist.5
general.gitCoAuthor.commitbooleanFügt Git-Commit-Nachrichten einen “Co-authored-by”-Trailer hinzu UND fügt eine dateibasierte KI-Zuweisungs-Notiz (refs/notes/ai-attribution) für über Qwen Code erstellte Commits hinzu. Deaktivieren überspringt beides.true
general.gitCoAuthor.prbooleanHängt Pull-Request-Beschreibungen beim Ausführen von gh pr create eine Qwen Code-Zuweisungszeile an.true
general.defaultFileEncodingenumStandardkodierung für neue Dateien. Verwende "utf-8" (Standard) für UTF-8 ohne BOM oder "utf-8-bom" für UTF-8 mit BOM. Ändere dies nur, wenn dein Projekt spezifisch ein BOM erfordert."utf-8"
general.voice.enabledbooleanSprachdiktat in der Prompt-Eingabe aktivieren. Kann auch mit dem Befehl /voice umgeschaltet werden. Erfordert die Konfiguration eines Transkriptionsmodells (voiceModel).false
general.voice.modeenumVerhalten von Push-to-Talk: "hold", um zu sprechen, während die Taste gedrückt gehalten wird, oder "tap", um zu starten und durch erneutes Tippen (oder Pausieren) zu stoppen und abzusenden."hold"
general.voice.languagestringBevorzugte gesprochene Sprache für die Sprachtranskription (z. B. "english", "chinese"). Leer lassen für automatische Erkennung.""
general.voice.keytermsFilestringPfad zu einer benutzerdefinierten Keyterms-Datei (ein Begriff pro Zeile, # für Kommentare), die die Sprachtranskription in Richtung domänenspezifischer Begriffe lenkt. Relative Pfade werden vom Workspace-Root aufgelöst; Standard ist .qwen/voice-keyterms.txt, wenn vorhanden. Wird nur in vertrauenswürdigen Workspaces gelesen. Gilt nur für Qwen ASR-Modelle (qwen3-asr-*).""
general.voice.refineTranscriptbooleanBereinigt Sprachtranskripte mit dem Fast-Modell vor dem Einfügen – entfernt Füllwörter und korrigiert Erkennungsfehler, während die Bedeutung erhalten bleibt. Fällt bei einem Fehler auf das Rohtranskript zurück und wird übersprungen, wenn kein Fast-Modell konfiguriert ist.true
general.cleanupPeriodDaysnumberTage, die ~/.qwen/file-history/ Sitzungs-Backups aufbewahrt werden, die von /rewind verwendet werden. Backups, die älter als dieser Wert sind, werden durch einen Hintergrundlauf entfernt, der höchstens einmal pro Tag ausgeführt wird. 0 = minimale Aufbewahrung (~1 Stunde): behält Sitzungen, die in der letzten Stunde bearbeitet wurden, plus die aktuell aktive. Änderungen werden nach einem Neustart wirksam.30
general.languageenumSprache der Benutzeroberfläche. Verwende "auto", um sie aus den Systemeinstellungen zu erkennen, oder einen Sprachcode (z. B. "zh-CN", "fr"). Benutzerdefinierte Codes können hinzugefügt werden, indem JS-Locale-Dateien in ~/.qwen/locales/ abgelegt werden. Siehe i18n. Erfordert einen Neustart."auto"
general.outputLanguagestringSprache für die Modellausgabe. Verwende "auto", um sie aus den Systemeinstellungen zu erkennen, oder stelle eine bestimmte Sprache ein. Erfordert einen Neustart."auto"
general.dynamicCommandTranslationbooleanKI-Übersetzung von Beschreibungen dynamischer Slash-Befehle aktivieren. Wenn deaktiviert, behalten dynamische Befehle ihre ursprünglichen Beschreibungen und Überspringen Aufrufe des Übersetzungsmodells.false
general.terminalBellbooleanGibt einen Terminal-Bell-Sound aus, wenn eine Antwort abgeschlossen ist oder eine Genehmigung benötigt.true
general.preventSystemSleepbooleanVerhindert, dass das System in den Ruhezustand geht, während Qwen Code eine Modellantwort streamt oder Tools ausführt. Leerlaufzeit des Prompts und Berechtigungsabfragen verhindern den Ruhezustand nicht. Wird einmalig beim Start gelesen, Änderungen werden also erst nach einem Neustart wirksam.true
general.chatRecordingbooleanChat-Verlauf auf der Festplatte speichern. Das Deaktivieren verhindert auch, dass --continue und --resume funktionieren. Erfordert einen Neustart.true

output

SettingTypeBeschreibungDefaultMögliche Werte
output.formatstringDas Format der CLI-Ausgabe."text""text", "json"
output.showTimestampsbooleanZeigt einen [HH:MM:SS] Zeitstempel vor jeder Assistant-Antwort an.false

ui

SettingTypeBeschreibungDefault
ui.themestringDas Farbtheme für die UI. Siehe Themes für verfügbare Optionen."Qwen Dark"
ui.customThemesobjectBenutzerdefinierte Theme-Definitionen.{}
ui.statusLineobjectBenutzerdefinierte Statuszeilen-Konfiguration. Unterstützt die Optionen command, refreshInterval, respectUserColors und hideContextIndicator. Siehe Status Line.undefined
ui.hideWindowTitlebooleanBlendet die Fenstertitelleiste aus.false
ui.hideTipsbooleanBlendet alle Tipps (beim Start und nach der Antwort) in der UI aus. Siehe Contextual Tips.false
ui.hideBannerbooleanBlendet das ASCII-Logo und das Info-Panel beim Start aus. Tipps und Chat-Eingabe werden weiterhin gerendert, es sei denn, ui.hideTips ist ebenfalls gesetzt.false
ui.customBannerTitlestringErsetzt den Standardtitel >_ Qwen Code im Info-Panel des Banners. Das Versions-Suffix (vX.Y.Z) wird immer angehängt; Auth-, Model- und Pfadzeilen sind nicht betroffen. Bereinigt; auf 80 Zeichen begrenzt.""
ui.customBannerSubtitlestringOptionale Untertitelzeile, die zwischen dem Banner-Titel und der Auth/Model-Zeile anstelle der leeren Trennzeile gerendert wird. Bereinigt; auf 160 Zeichen begrenzt. Leer (Standard) behält die ursprüngliche leere Trennzeile bei.""
ui.customAsciiArtstring | objectErsetzt das QWEN ASCII-Logo im Banner. Akzeptiert einen Inline-String (wird für beide Breitenstufen verwendet), { "path": "./brand.txt" } (relative Pfade werden relativ zum Verzeichnis der besitzenden Einstellungsdatei aufgelöst; einmalig beim Start mit O_NOFOLLOW unter POSIX gelesen, auf 64 KB begrenzt) oder { "small": ..., "large": ... } für die breitenabhängige Auswahl. Bereinigt; auf 200 Zeilen × 200 Spalten pro Stufe begrenzt.undefined
ui.showLineNumbersbooleanZeigt Zeilennummern in Codeblöcken in der CLI-Ausgabe an.true
ui.renderModestringStandard-Markdown-Anzeigemodus. Verwende "render" für formatierte visuelle Vorschauen oder "raw", um standardmäßig quelltextorientiertes Markdown anzuzeigen. Umschalten während einer Sitzung mit Alt/Option+M; unter macOS muss das Terminal Option als Meta senden. Siehe Markdown Rendering."render"
ui.showCitationsbooleanZeigt Quellenangaben für generierten Text im Chat an.false
ui.history.collapseOnResumebooleanGibt an, ob der Verlauf beim Fortsetzen einer Sitzung standardmäßig eingeklappt werden soll. Kann über /history collapse-on-resume und /history expand-on-resume umgeschaltet werden.false
ui.history.collapsePreviewCountnumberAnzahl der neuesten Benutzereingaben, die sichtbar bleiben, wenn ui.history.collapseOnResume aktiviert ist. 0 klappt standardmäßig den gesamten wiederhergestellten Verlauf ein; -1 zeigt den gesamten wiederhergestellten Verlauf an.0
ui.compactModebooleanBlendet Tool-Ausgaben und Thinking für eine aufgeräumtere Ansicht aus. Umschaltbar mit Ctrl+O während einer Sitzung oder über den Einstellungen-Dialog. Tool-Freigabeaufforderungen werden auch im Compact-Modus nie ausgeblendet. Die Einstellung bleibt über Sitzungen hinweg erhalten.false
ui.shellOutputMaxLinesnumberMaximale Anzahl der inline angezeigten Shell-Ausgabezeilen. Setze auf 0, um das Limit zu deaktivieren und die vollständige Ausgabe anzuzeigen. Ausgeblendete Zeilen werden über den +N lines Indikator angezeigt. Fehler, benutzerinitiierte Befehle mit !-Präfix, Tool-Bestätigungen und fokussierte eingebettete Shells zeigen immer die vollständige Ausgabe an.5
ui.enableWelcomeBackbooleanZeigt den Willkommen-zurück-Dialog an, wenn du zu einem Projekt mit Gesprächsverlauf zurückkehrst. Wenn aktiviert, erkennt Qwen Code automatisch, ob du zu einem Projekt mit einer zuvor generierten Projektzusammenfassung (.qwen/PROJECT_SUMMARY.md) zurückkehrst, und zeigt einen Dialog an, der es dir ermöglicht, deine vorherige Konversation fortzusetzen oder neu zu beginnen. Wenn du Start new chat session wählst, wird diese Auswahl für das aktuelle Projekt gespeichert, bis sich die Projektzusammenfassung ändert. Dieses Feature integriert sich mit dem /summary Befehl und dem Beenden-Bestätigungsdialog.true
ui.accessibility.enableLoadingPhrasesbooleanAktiviert Lade-Phrasen (für Barrierefreiheit deaktivieren).true
ui.accessibility.screenReaderbooleanAktiviert den Screenreader-Modus, der die TUI für eine bessere Kompatibilität mit Screenreadern anpasst.false
ui.customWittyPhrasesarray of stringsEine Liste benutzerdefinierter Phrasen, die während des Ladens angezeigt werden. Wenn angegeben, durchläuft die CLI diese Phrasen anstelle der Standardphrasen.[]
ui.showResponseTokensPerSecondbooleanZeigt eine Live-Schätzung der Tokens/Sek neben dem Antwort-Token-Zähler an, während das Modell streamt. Dies ist ein Hinweis auf die Generierungsgeschwindigkeit, keine ETA oder kein Fertigstellungsprozentsatz. Wird in der nächsten Sitzung wirksam.false
ui.enableFollowupSuggestionsbooleanAktiviert Folgevorschläge, die vorhersagen, was du als Nächstes tippen möchtest, nachdem das Modell geantwortet hat. Vorschläge erscheinen als Platzhaltertext und werden mit Tab, Enter oder der Pfeil-nach-rechts-Taste akzeptiert (wodurch die Eingabe gefüllt wird – sie werden nicht automatisch abgesendet). Standardmäßig aktiviert; setze auf false, um dies zu deaktivieren.true
ui.enableCacheSharingbooleanVerwendet Cache-bewusste Fork-Abfragen für die Vorschlagsgenerierung. Reduziert die Kosten bei Providern, die Prefix-Caching unterstützen (experimentell).true
ui.enableSpeculationbooleanFührt akzeptierte Vorschläge spekulativ vor der Übermittlung aus. Ergebnisse erscheinen sofort, wenn du akzeptierst (experimentell).false
ui.showStatusInTitlebooleanZeigt den Qwen Code-Sitzungsnamen und -status im Terminal-Fenstertitel an.true
ui.disableWorkflowKeywordTriggerbooleanWenn true, lenkt die Erwähnung des Wortes workflow in einem Prompt den Turn nicht mehr sanft in Richtung des Workflow-Tools (und der Footer-Indikator workflow active wird unterdrückt). Gilt nur, wenn Workflows aktiviert sind.false
ui.enableUserFeedbackbooleanZeigt nach Konversationen einen optionalen Feedback-Dialog an, um die Verbesserung der Qwen-Performance zu unterstützen.true
ui.compactInlinebooleanKompakte Tool-Anzeige innerhalb jeder Gruppe, anstatt über Gruppen hinweg zusammenzuführen. Erfordert, dass ui.compactMode aktiviert ist. Erfordert Neustart.false
ui.useTerminalBufferbooleanRendert den Gesprächsverlauf in einem scrollbaren In-App-Viewport anstelle des Terminal-Scrollback-Puffers. Empfohlen, wenn du bei langen Sitzungen Flackern, Scroll-Sturm oder ein Einfrieren der Benutzeroberfläche bemerkst. Scrolle mit Shift+↑/↓ (Zeile), PgUp/PgDn (Seite), Ctrl+Home/End (Anfang/Ende) oder dem Mausrad. Verwendet nicht den Scrollback-Puffer des Host-Terminals, während es aktiviert ist; halte Shift (oder Option unter macOS) beim Ziehen für native Textauswahl.false
ui.hideBuiltinWorktreeIndicatorbooleanBlendet die eingebaute ⎇ worktree-<branch> (<slug>) Zeile im Footer aus. Der Worktree-Status wird weiterhin über die stdin-Payload an benutzerdefinierte Statusline-Skripte übergeben. Behalte den Standardwert bei, es sei denn, deine benutzerdefinierte Statuszeile rendert den Worktree selbst.false

ide

EinstellungTypBeschreibungStandard
ide.enabledbooleanAktiviert den IDE-Integrationsmodus.false
ide.hasSeenNudgebooleanGibt an, ob der Benutzer den IDE-Integrationshinweis bereits gesehen hat.false

privacy

EinstellungTypBeschreibungStandard
privacy.usageStatisticsEnabledbooleanAktiviert die Erfassung von Nutzungsstatistiken.true

model

EinstellungTypBeschreibungStandard
model.namestringDas für Konversationen zu verwendende Qwen-Modell.undefined
model.reasoningEffortenumLegt fest, wie stark reasoning-fähige Modelle denken, angewendet über alle Provider hinweg. Wird mit dem Befehl /effort gesetzt (low, medium, high, xhigh, max). Jeder Provider mappt und begrenzt diesen Wert auf das, was das aktive Modell unterstützt (z. B. begrenzt Gemini auf high; Anthropic clamppt Stufen, die einem Modell fehlen). Nicht setzen, um den Standardwert des Modells/Providers zu verwenden.undefined
model.baseUrlstringWird automatisch vom Model Picker persistiert, um Mehrdeutigkeiten aufzulösen, wenn mehrere modelProviders-Einträge dieselbe Modell-ID teilen. Nicht zur manuellen Bearbeitung gedacht – verwende stattdessen den /model-Picker oder einen modelProviders-Eintrag; ein veralteter, manuell geänderter Wert kann Anfragen stillschweigend an einen anderen Provider mit derselben ID umleiten.undefined
model.sessionTokenLimitnumberMaximal erlaubte, aufgezeichnete Prompt-Token-Anzahl vor dem Senden der nächsten Nachricht. -1 bedeutet unbegrenzt; 0 wird ebenfalls als unbegrenzt behandelt (im Gegensatz zu model.maxToolCalls, wo 0 alle Aufrufe verbietet). Wenn die aufgezeichnete Prompt-Anzahl das Limit überschreitet, wird das nächste Senden verworfen (die Session wird nicht abgebrochen).-1
model.maxSessionTurnsnumberMaximale Anzahl an User/Model/Tool-Turns, die in einer Session behalten werden. -1 bedeutet unbegrenzt.-1
model.maxWallTimeSecondsnumberWall-Clock-Budget für Headless-/Unattended-Runs in Sekunden. -1 bedeutet unbegrenzt. Kann pro Aufruf über --max-wall-time überschrieben werden, was eine positive Dauer erfordert (90, 30s, 5m, 1h, 1.5h); das Minimum ist 1 Sekunde – Sub-Sekunden-Werte (500ms, 0.5) werden als Tippfehler abgelehnt. Lasse den Flag weg, um auf diese Einstellung zurückzufallen. Bricht mit Exit-Code 55 ab, wenn das Limit überschritten wird.-1
model.maxToolCallsnumberKumulatives Tool-Call-Budget für einen Run (zählt jeden ausgeführten Tool-Aufruf, unabhängig von Erfolg oder Misserfolg; structured_output unter --json-schema ist ausgenommen). -1 bedeutet unbegrenzt; 0 bedeutet “keine Tool-Aufrufe erlaubt”. Auf 1.000.000 begrenzt, um Tippfehler abzufangen. Überschreibbar über --max-tool-calls. Bricht mit Exit-Code 55 ab, wenn das Limit überschritten wird.-1
model.maxSubagentDepthnumberMaximale Sub-Agent-Verschachtelungstiefe (1-basierte Ebenen: ein Top-Level-Sub-Agent ist Ebene 1). 1 hält Sub-Agenten verfügbar, deaktiviert aber die Verschachtelung – das Verhalten vor der Einführung von Nesting. Werte werden auf den Bereich 1–100 begrenzt; nicht-endliche Werte fallen auf den Standardwert zurück. Teammates, Forks und workflow-erzeugte Agenten verschachteln sich unabhängig von dieser Einstellung niemals. Überschreibbar über --max-subagent-depth.5
model.generationConfigobjectErweiterte Overrides, die an den zugrunde liegenden Content-Generator übergeben werden. Unterstützt Request-Controls wie timeout, maxRetries, enableCacheControl, splitToolMedia (Standard true; teilt von Tools zurückgegebene Medien – einschließlich Bilder, die von der integrierten read_file-Funktion gelesen werden – in eine nachfolgende User-Message auf, anstatt in die spezifikationsverletzende role: "tool"-Message, damit strikte OpenAI-kompatible Server wie doubao / new-api / LM Studio sie sehen können; setze false, um das Legacy-Verhalten “embed-in-tool” wiederherzustellen), toolResultContentFormat (Standard "parts"; setze nur "string" für Legacy-OpenAI-kompatible Runtimes, deren Tool-Templates Text-Content-Parts ignorieren), contextWindowSize (überschreibt die Context-Window-Größe des Modells), modalities (überschreibt automatisch erkannte Input-Modalitäten), customHeaders (benutzerdefinierte HTTP-Header für API-Requests) und extra_body (zusätzliche Body-Parameter nur für OpenAI-kompatible API-Requests), zusammen mit Feinjustierungs-Reglern unter samplingParams (z. B. temperature, top_p, max_tokens). Nicht setzen, um sich auf die Provider-Standards zu verlassen.undefined
model.chatCompression.contextPercentageThresholdnumberENTFERNT. Ersetzt durch context.autoCompactThreshold (siehe Abschnitt #### context unten). Auto-Compaction verwendet jetzt eine dreistufige Threshold-Leiter (warn / auto / hard), die intern aus dem Context-Window des Modells über die Funktion computeThresholds() berechnet wird. Die alte Einstellung wird stillschweigend ignoriert (keine Startup-Warnung). Siehe PR #4345 / docs/design/auto-compaction-threshold-redesign.md für die Begründung des Redesigns.N/A
model.chatCompression.maxRecentFilesToRetainnumberAnzahl der zuletzt geänderten Dateien, deren aktueller Inhalt nach der Auto-Compaction in die Historie wiederhergestellt wird (eingebettet, wenn klein, sonst per Pfad referenziert). 0 stellt keine wieder her. Env-Override: QWEN_COMPACT_MAX_RECENT_FILES.5
model.chatCompression.maxRecentImagesToRetainnumberAnzahl der neuesten Bilder (Tool-Screenshots / User-Pastes), die nach der Auto-Compaction in die Historie wiederhergestellt werden. 0 stellt keine wieder her. Env-Override: QWEN_COMPACT_MAX_RECENT_IMAGES.3
model.chatCompression.enableScreenshotTriggerbooleanWenn true, wird die Auto-Compaction auch ausgelöst, sobald die Anzahl der in der Historie angesammelten, von Tools zurückgegebenen Bilder screenshotTriggerThreshold erreicht, unabhängig vom Token-Verbrauch – gedacht für Computer-Use-Sessions, in denen häufige Screenshots die Aufmerksamkeit des Modells verwässern. Zählt nur Bilder, die innerhalb von Tool-Ergebnissen zurückgegeben werden, nicht vom User eingefügte Bilder. Env-Override: QWEN_COMPACT_SCREENSHOT_TRIGGER (1/true/0/false).true
model.chatCompression.screenshotTriggerThresholdnumberAnzahl der von Tools zurückgegebenen Bilder, ab der der Screenshot-Trigger auslöst (nur wenn enableScreenshotTrigger). Die Compaction setzt den Zähler zurück – überlebende Bilder werden als Top-Level-Parts neu eingebettet, was der Trigger nicht zählt – sodass er nicht sofort erneut auslöst. Env-Override: QWEN_COMPACT_SCREENSHOT_THRESHOLD.50
model.skipNextSpeakerCheckbooleanÜberspringt die nächste Speaker-Prüfung.true
model.skipLoopDetectionbooleanDeaktiviert die Streaming-Loop-Detection-Prüfungen. Standardmäßig true (Loop-Detection wird übersprungen), um False Positives zu vermeiden, die legitime Workflows unterbrechen. Setze auf false, um die Streaming-Loop-Detection wieder zu aktivieren – nützlich als Guardrail in Headless-/Non-Interactive-Runs, wo festgefahrene Wiederholungen sonst Budget verschwenden.true
model.maxToolCallsPerTurnnumberHarte Obergrenze für Tool-Aufrufe innerhalb eines einzelnen Turns (ein Model-Turn plus dessen Tool-Result-Fortsetzungen; blockierende Stop-Hook-Fortsetzungen wie /goal-Iterationen starten ein neues Budget). Immer aktiver Circuit Breaker gegen durchdrehende Turns, unabhängig von model.skipLoopDetection; die pattern-basierten Loop-Detektoren schlagen lange vor dieser Obergrenze an, die nur das Gesamtvolumen begrenzt. Setze auf 0 oder einen negativen Wert, um die Obergrenze zu deaktivieren. Die Auswahl von “Disable loop detection for this session” im Loop-Detected-Dialog unterdrückt sie ebenfalls für den Rest der Session.100
model.skipStartupContextbooleanÜberspringt das Senden des Startup-Workspace-Kontexts (Zusammenfassung der Umgebung und Bestätigung) zu Beginn jeder Session. Aktiviere dies, wenn du den Kontext lieber manuell bereitstellst oder beim Startup Tokens sparen möchtest.false
model.enableOpenAILoggingbooleanAktiviert das Logging von OpenAI-API-Aufrufen zu Debugging- und Analysezwecken. Wenn aktiviert, werden API-Requests und -Responses in JSON-Dateien protokolliert.false
model.openAILoggingDirstringBenutzerdefinierter Verzeichnispfad für OpenAI-API-Logs. Wenn nicht angegeben, ist der Standardwert logs/openai im aktuellen Arbeitsverzeichnis. Unterstützt absolute Pfade, relative Pfade (aufgelöst vom aktuellen Arbeitsverzeichnis) und ~-Expansion (Home-Verzeichnis).undefined
Beispiel für model.generationConfig:
{ "model": { "generationConfig": { "timeout": 60000, "contextWindowSize": 128000, "modalities": { "image": true }, "enableCacheControl": true, "toolResultContentFormat": "parts", "customHeaders": { "X-Client-Request-ID": "req-123" }, "extra_body": { "enable_thinking": true }, "samplingParams": { "temperature": 0.2, "top_p": 0.8, "max_tokens": 1024 } } } }

timeout (Request-Timeout):

timeout ist das Timeout pro Request in Millisekunden (Standard 120000). Setze es auf 0, um das Request-Timeout zu deaktivieren – entsprechend der Konvention QWEN_STREAM_IDLE_TIMEOUT_MS=0 – anstatt den Request abzubrechen. Es kann auch über die Umgebungsvariable QWEN_CODE_API_TIMEOUT_MS gesetzt werden. Dies ist zu unterscheiden von QWEN_STREAM_IDLE_TIMEOUT_MS, welches die Inaktivität zwischen gestreamten Chunks begrenzt.

max_tokens (Output-Token-Limit):

Wenn weder samplingParams.max_tokens noch QWEN_CODE_MAX_OUTPUT_TOKENS gesetzt ist, verwendet Qwen Code in der Regel das deklarierte Output-Limit des ausgewählten Modells als Standard-Output-Limit für den Request. Wenn die Antwort dennoch dieses Limit erreicht, kann Qwen Code einen Retry mit einem erhöhten Limit (mit einer Untergrenze von 64K) durchführen und dann über Fortsetzungs-Turns hinweg fortfahren.

Für OpenAI-kompatible Provider ist samplingParams auch ein Escape Hatch für das Wire-Format: Wenn es gesetzt ist, werden seine Schlüssel unverändert durchgereicht und Qwen Code synthetisiert keinen max_tokens-Standardwert. Verwende dies für provider-spezifische Parameter wie max_completion_tokens.

Um ein festes Output-Limit zu erzwingen, setze samplingParams.max_tokens in deinen Einstellungen oder verwende die Umgebungsvariable QWEN_CODE_MAX_OUTPUT_TOKENS. Explizite Limits deaktivieren die automatische Eskalation der Output-Token.

toolResultContentFormat:

Steuert, wie reine Text-Tool-Ergebnisse in OpenAI-kompatiblen Requests serialisiert werden. Der Standardwert "parts" behält die Standardform des Content-Part-Arrays bei. Setze "string" nur für Legacy-OpenAI-kompatible Runtimes, deren Tool-Templates Text-Content-Parts ignorieren, wie z. B. ältere GLM-5.1 vLLM/SGLang-Templates. Von Tools zurückgegebene Medien werden weiterhin durch splitToolMedia gesteuert.

contextWindowSize:

Überschreibt die Standardgröße des Context Windows für das ausgewählte Modell. Qwen Code bestimmt das Context Window anhand eingebauter Standardwerte basierend auf Model-Namens-Matching, mit einem konstanten Fallback-Wert. Verwende diese Einstellung, wenn das effektive Context-Limit eines Providers von der Qwen Code-Standardvorgabe abweicht. Dieser Wert definiert die angenommene maximale Context-Kapazität des Modells, nicht ein Token-Limit pro Request.

Wenn das ausgewählte Modell in modelProviders definiert ist, setze contextWindowSize in der generationConfig dieses Provider-Eintrags anstelle der Top-Level-model.generationConfig. Provider-Model-Einträge sind versiegelt (sealed), daher füllen Top-Level-Generation-Einstellungen fehlende Provider-Felder nicht auf.

modalities:

Überschreibt die automatisch erkannten Input-Modalitäten für das ausgewählte Modell. Qwen Code erkennt unterstützte Modalitäten (Bild, PDF, Audio, Video) automatisch basierend auf Model-Namens-Mustern. Verwende diese Einstellung, wenn die automatische Erkennung inkorrekt ist – zum Beispiel, um pdf für ein Modell zu aktivieren, das es unterstützt, aber nicht erkannt wird. Format: { "image": true, "pdf": true, "audio": true, "video": true }. Lasse einen Schlüssel weg oder setze ihn auf false für nicht unterstützte Typen.

customHeaders:

Ermöglicht das Hinzufügen benutzerdefinierter HTTP-Header zu allen API-Requests. Dies ist nützlich für Request-Tracing, Monitoring, API-Gateway-Routing oder wenn verschiedene Modelle unterschiedliche Header erfordern. Für Provider-Modelle definiere customHeaders in modelProviders[].generationConfig.customHeaders. Für Runtime-Modelle ohne passenden Provider-Eintrag definiere es in model.generationConfig.customHeaders. Zwischen den beiden Ebenen erfolgt kein Merging.

Das Feld extra_body ermöglicht das Hinzufügen benutzerdefinierter Parameter zum an die API gesendeten Request-Body. Dies ist nützlich für provider-spezifische Optionen, die nicht von den Standard-Konfigurationsfeldern abgedeckt werden. Hinweis: Dieses Feld wird nur für OpenAI-kompatible Provider (openai, qwen-oauth) unterstützt. Es wird für Anthropic- und Gemini-Provider ignoriert. Für Provider-Modelle definiere extra_body in modelProviders[].generationConfig.extra_body. Für Runtime-Modelle ohne passenden Provider-Eintrag definiere es in model.generationConfig.extra_body.

Beispiele für model.openAILoggingDir:

  • "~/qwen-logs" - Loggt in das Verzeichnis ~/qwen-logs
  • "./custom-logs" - Loggt in ./custom-logs relativ zum aktuellen Verzeichnis
  • "/tmp/openai-logs" - Loggt in den absoluten Pfad /tmp/openai-logs

fastModel

EinstellungTypBeschreibungStandard
fastModelstringModell, das zur Generierung von Prompt-Vorschlägen und spekulativer Ausführung verwendet wird. Leer lassen, um das Hauptmodell zu verwenden. Ein kleineres/schnelleres Modell (z. B. qwen3-coder-flash) reduziert Latenz und Kosten. Kann auch über /model --fast gesetzt werden.""

visionModel

EinstellungTypBeschreibungStandard
visionModelstringBildfähiges Modell, das als Vision-Bridge verwendet wird: Wenn ein reines Text-Hauptmodell ein Bild empfängt, wird es zuerst von diesem Modell transkribiert. Leer lassen, um automatisch ein Vision-Modell desselben Providers auszuwählen. Kann auch über /model --vision gesetzt werden.""

voiceModel

EinstellungTypBeschreibungStandard
voiceModelstringModell, das für die Sprachtranskription verwendet wird. Leer lassen, um die Spracheingabe deaktiviert zu lassen, bis ein Sprachmodell ausgewählt wird. Kann auch über /model --voice gesetzt werden.""

modelFallbacks

EinstellungTypBeschreibungStandard
modelFallbacksstringGeordnete Liste von Fallback-Modell-IDs (kommagetrennt, max. 3), die versucht werden, wenn das primäre Modell auf Kapazitätsfehler (429/503/529) trifft. Beispiel: "qwen-plus,qwen-turbo". Kann auch über den CLI-Flag --fallback-model gesetzt werden. Erfordert einen Neustart.""

modelPricing

EinstellungTypBeschreibungStandard
modelPricingobjectOptionale preisliche Angaben pro Modell für die Kostenschätzung in /stats model. Beispiel: { "qwen3-coder": { "inputPerMillionTokens": 0.30, "outputPerMillionTokens": 1.20 } }.undefined

context

EinstellungTypBeschreibungStandard
context.fileNamestring oder Array von StringsDer Name der Kontextdatei(en).undefined
context.autoCompactThresholdnumberBruchteil des Context Windows, bei dem die automatische Komprimierung ausgelöst wird. Muss größer als 0 und höchstens 1 sein. Standard ist 0.7 (70 %). Bei großen Context Windows (>110K Tokens) dominiert der absolute Zweig des dreistufigen Schwellenwertsystems, sodass Werte unter ~0,7 möglicherweise keinen sichtbaren Effekt haben. Benutzerdefinierte Schwellenwerte wirken sich hauptsächlich auf Modelle mit kleinem Window (≤128K) aus. Ersetzt den alten model.chatCompression.contextPercentageThreshold.undefined (verwendet intern 0.7)
context.importFormatstringDas Format, das beim Importieren von Memory verwendet werden soll.undefined
context.includeDirectoriesarrayZusätzliche Verzeichnisse, die in den Workspace-Kontext einbezogen werden sollen. Gibt ein Array zusätzlicher absoluter oder relativer Pfade an, die in den Workspace-Kontext einbezogen werden. Fehlende Verzeichnisse werden standardmäßig mit einer Warnung übersprungen. Pfade können ~ verwenden, um auf das Home-Verzeichnis des Benutzers zu verweisen. Diese Einstellung kann mit dem --include-directories Kommandozeilen-Flag kombiniert werden.[]
context.loadFromIncludeDirectoriesbooleanSteuert das Verhalten des /memory refresh-Befehls. Wenn auf true gesetzt, sollten QWEN.md-Dateien aus allen hinzugefügten Verzeichnissen geladen werden. Wenn auf false gesetzt, sollte QWEN.md nur aus dem aktuellen Verzeichnis geladen werden.false
context.fileFiltering.respectGitIgnoreboolean.gitignore-Dateien bei der Suche berücksichtigen.true
context.fileFiltering.respectQwenIgnoreboolean.qwenignore und konfigurierte benutzerdefinierte Ignore-Dateien bei der Suche berücksichtigen.true
context.fileFiltering.customIgnoreFilesarrayIgnore-Dateien relativ zum Projekt-Root, die anstelle der Standard-Kompatibilitätsdateien (.agentignore, .aiignore) verwendet werden, wenn respectQwenIgnore aktiviert ist. .qwenignore ist immer enthalten.[".agentignore", ".aiignore"]
context.fileFiltering.enableRecursiveFileSearchbooleanOb die rekursive Suche nach Dateinamen unter dem aktuellen Baum aktiviert werden soll, wenn @-Präfixe im Prompt vervollständigt werden.true
context.fileFiltering.enableFuzzySearchbooleanWenn true, werden Fuzzy-Search-Funktionen bei der Dateisuche aktiviert. Auf false setzen, um die Performance bei Projekten mit einer großen Anzahl von Dateien zu verbessern.true
context.clearContextOnIdle.toolResultsThresholdMinutesnumberMinuten der Inaktivität, bevor alte Tool-Ergebnisinhalte gelöscht werden. Verwende -1, um den Idle-Trigger zu deaktivieren.60
context.clearContextOnIdle.toolResultsNumToKeepintegerGanzzahlige Anzahl der neuesten komprimierbaren Tool-Ergebnisse, die beim Löschen beibehalten werden sollen. Werte unter 1 werden auf 1 abgerundet.5
context.clearContextOnIdle.toolResultsTotalCharsThresholdnumberGesamtzahl der erlaubten komprimierbaren Tool-Ergebnis-Ausgabezeichen im Verlauf, bevor die ältesten Ergebnisse gelöscht werden. Verwende -1, um den Größen-Trigger zu deaktivieren. Dies ist ein weicher Schwellenwert: Geschützte aktuelle Tool-Ergebnisse können die Gesamtzahl darüber halten.500000

Fehlerbehebung bei der Performance der Dateisuche

Wenn du Performance-Probleme bei der Dateisuche hast (z. B. bei @-Completions), insbesondere in Projekten mit einer sehr großen Anzahl von Dateien, kannst du Folgendes in der empfohlenen Reihenfolge ausprobieren:

  1. Ignore-Datei verwenden: Erstelle eine .qwenignore oder eine konfigurierte benutzerdefinierte Ignore-Datei in deinem Projekt-Root, um Verzeichnisse auszuschließen, die eine große Anzahl von Dateien enthalten, auf die du nicht verweisen musst (z. B. Build-Artefakte, Logs, node_modules). Die Reduzierung der Gesamtzahl der durchsuchten Dateien ist der effektivste Weg, um die Performance zu verbessern.
  2. Fuzzy Search deaktivieren: Wenn das Ignorieren von Dateien nicht ausreicht, kannst du die Fuzzy-Suche deaktivieren, indem du enableFuzzySearch in deiner settings.json-Datei auf false setzt. Dadurch wird ein einfacherer, nicht-fuzzy Matching-Algorithmus verwendet, was schneller sein kann.
  3. Rekursive Dateisuche deaktivieren: Als letzte Möglichkeit kannst du die rekursive Dateisuche vollständig deaktivieren, indem du enableRecursiveFileSearch auf false setzt. Dies ist die schnellste Option, da ein rekursives Durchsuchen deines Projekts vermieden wird. Das bedeutet jedoch, dass du bei der Verwendung von @-Completions den vollständigen Pfad zu den Dateien eingeben musst.

tools

EinstellungTypBeschreibungStandardHinweise
tools.sandboxboolean or stringSandbox-Ausführungsumgebung (kann ein Boolean oder ein Pfad-String sein).undefined
tools.sandboxImagestringSandbox-Image-URI, die von Docker/Podman verwendet wird, wenn --sandbox-image und QWEN_SANDBOX_IMAGE nicht gesetzt sind.undefined
tools.shell.enableInteractiveShellbooleanVerwende node-pty für ein interaktives Shell-Erlebnis. Der Fallback auf child_process gilt weiterhin.true
tools.corearray of stringsVeraltet. Wird in der nächsten Version entfernt. Verwende stattdessen permissions.allow + permissions.deny. Beschränkt integrierte Tools auf eine Allowlist. Alle Tools, die nicht in der Liste sind, werden deaktiviert.undefined
tools.excludearray of stringsVeraltet. Verwende stattdessen permissions.deny. Tool-Namen, die von der Discovery ausgeschlossen werden sollen. Wird beim ersten Laden automatisch in das permissions-Format migriert.undefined
tools.allowedarray of stringsVeraltet. Verwende stattdessen permissions.allow. Tool-Namen, die den Bestätigungsdialog umgehen. Wird beim ersten Laden automatisch in das permissions-Format migriert.undefined
tools.approvalModestringLegt den Standard-Genehmigungsmodus für die Tool-Nutzung fest.defaultMögliche Werte: plan (nur analysieren, keine Dateien ändern oder Befehle ausführen), default (Genehmigung vor Dateiänderungen oder der Ausführung von Shell-Befehlen erforderlich), auto-edit (Dateiänderungen automatisch genehmigen), auto (LLM-Klassifizierer genehmigt sichere Aktionen automatisch und blockiert riskante), yolo (alle Tool-Aufrufe automatisch genehmigen)
tools.discoveryCommandstringBefehl, der für die Tool-Discovery ausgeführt wird.undefined
tools.callCommandstringDefiniert einen benutzerdefinierten Shell-Befehl zum Aufrufen eines bestimmten Tools, das mit tools.discoveryCommand gefunden wurde. Der Shell-Befehl muss die folgenden Kriterien erfüllen: Er muss den Funktions-name (genau wie in der Funktionsdeklaration ) als erstes Befehlszeilenargument übernehmen. Er muss Funktionsargumente als JSON auf stdin lesen, analog zu functionCall.args. Er muss die Funktionsausgabe als JSON auf stdout zurückgeben, analog zu functionResponse.response.content.undefined
tools.useRipgrepbooleanVerwende ripgrep für die Dateiinhaltsuche anstelle der Fallback-Implementierung. Bietet schnellere Suchperformance.true
tools.useBuiltinRipgrepbooleanVerwende die mitgelieferte ripgrep-Binärdatei. Wenn auf false gesetzt, wird stattdessen der systemweite rg-Befehl verwendet. Diese Einstellung ist nur wirksam, wenn tools.useRipgrep auf true gesetzt ist.true
tools.truncateToolOutputThresholdnumberKürzt die Tool-Ausgabe, wenn sie größer als diese Anzahl von Zeichen ist. Gilt für die Tools Shell, Grep, Glob, ReadFile und ReadManyFiles.25000Neustart erforderlich: Ja
tools.truncateToolOutputLinesnumberMaximale Anzahl an Zeilen oder Einträgen, die beim Kürzen der Tool-Ausgabe beibehalten werden. Gilt für die Tools Shell, Grep, Glob, ReadFile und ReadManyFiles.1000Neustart erforderlich: Ja
tools.computerUse.enabledbooleanAktiviert die integrierten Computer-Use-Tools (cua-driver native Desktop-Automatisierung). Wenn true (Standard), werden die computer_use__*-Tools als verzögerte Built-ins registriert; der erste Aufruf lädt die gepinnte, signierte cua-driver-Binärdatei in ~/.qwen/computer-use/ herunter und führt durch die macOS Accessibility / Screen Recording Berechtigungen.trueNeustart erforderlich: Ja
tools.computerUse.maxImageDimensionnumberPixel-Obergrenze für die längste Kante, die auf cua-driver-Screenshots angewendet wird (über max_image_dimension von set_config). -1 (Standard) behält den eingebauten Standardwert von cua-driver (1568) bei; 0 deaktiviert die Skalierung (volle Auflösung); ein positiver Wert begrenzt die längste Kante. Niedrigere Obergrenzen reduzieren die Vision-Token-Kosten auf Kosten feiner Details.-1Neustart erforderlich: Ja. Env-Override: QWEN_COMPUTER_USE_MAX_IMAGE_DIMENSION (eine nicht-negative Ganzzahl; hat Vorrang vor dieser Einstellung)
tools.computerUse.idleTimeoutMsnumberMillisekunden, die der cua-driver-Prozess nach dem letzten computer_use__*-Aufruf am Leben gehalten wird. Der Standardwert ist 300000 (5 Minuten). Setze den Wert auf 0, um den Prozess laufen zu lassen, bis Qwen Code beendet wird.300000Neustart erforderlich: Ja
tools.toolSearch.enabledbooleanLädt MCP-Tools bei Bedarf über ToolSearch, um die Prompt-Größe zu reduzieren. Deaktiviere dies für Modelle, die auf präfixbasiertes KV-Caching angewiesen sind (z. B. DeepSeek), um das Prompt-Präfix stabil zu halten und die Cache-Trefferquote zu maximieren.trueNeustart erforderlich: Ja
Note

Migration von tools.core / tools.exclude / tools.allowed: Diese Legacy-Einstellungen sind veraltet und werden beim ersten Laden automatisch in das neue permissions-Format migriert. Konfiguriere bevorzugt direkt permissions.allow / permissions.deny. Verwende /permissions, um Regeln interaktiv zu verwalten.

memory

SettingTypeDescriptionDefault
memory.enableManagedAutoMemorybooleanAktiviert die Hintergrundextraktion von Erinnerungen aus Konversationen.true
memory.enableManagedAutoDreambooleanAktiviert die automatische Konsolidierung (Deduplizierung und Bereinigung) gesammelter Erinnerungen.true
memory.enableAutoSkillbooleanAktiviert die Hintergrundprüfung auf wiederverwendbare Projekt-Skills nach tool-lastigen Sessions.true
memory.autoSkillConfirmbooleanFordert eine Bestätigung an, bevor automatisch generierte Skills zur Skill-Bibliothek hinzugefügt werden. Wenn deaktiviert, werden Auto-Skills sofort gespeichert.true
memory.enableTeamMemorybooleanAktiviert eine Projekt-Speicherebene, die über das über Git getrackte .qwen/team-memory/-Verzeichnis mit Mitarbeitern geteilt wird. Schreibzugriffe werden auf Secrets gescannt und können im Git-Diff überprüft werden.false
memory.enableTeamMemorySyncbooleanWenn Team-Memory aktiviert ist, wird das .qwen/team-memory/-Verzeichnis bei Session-Start automatisch committet, per Fast-Forward gepullt und gepusht, sodass Mitarbeiter synchron bleiben. Erfordert einen konfigurierten Git-Upstream.false

Siehe Memory für Details zur Funktionsweise von Auto-Memory und zur Verwendung der Befehle /memory, /remember und /dream.

permissions

Das Permission-System bietet eine feingranulare Kontrolle darüber, welche Tools ausgeführt werden können, welche eine Bestätigung erfordern und welche blockiert sind.

Entscheidungspriorität (höchste zuerst): deny > ask > allow > (Standard/Interaktiver Modus)

Die erste übereinstimmende Regel gewinnt. Regeln verwenden das Format "ToolName" oder "ToolName(Spezifizierer)".

SettingTypeDescriptionDefault
permissions.allowarray of stringsRegeln für automatisch genehmigte Tool-Aufrufe (keine Bestätigung erforderlich). Werden über alle Scopes (User + Projekt + System) zusammengeführt.undefined
permissions.askarray of stringsRegeln für Tool-Aufrufe, die immer eine Benutzerbestätigung erfordern. Hat Vorrang vor allow.undefined
permissions.denyarray of stringsRegeln für blockierte Tool-Aufrufe. Höchste Priorität – überschreibt sowohl allow als auch ask.undefined

Tool-Namen-Aliase (jeder dieser Namen funktioniert in Regeln):

AliasCanonical toolNotes
Bash, Shellrun_shell_command
Read, ReadFileread_fileMeta-Kategorie – siehe unten
Edit, EditFileeditMeta-Kategorie – siehe unten
Write, WriteFilewrite_file
NotebookEditnotebook_edit
NotebookEditToolnotebook_edit
Grep, SearchFilesgrep_search
Glob, FindFilesglob
ListFileslist_directory
WebFetchweb_fetch
Agenttask
Skillskill

Meta-Kategorien:

Einige Regelnamen decken automatisch mehrere Tools ab:

Rule nameTools covered
Readread_file, grep_search, glob, list_directory
Editedit, write_file, notebook_edit

[!important] Read(/path/**) trifft auf alle vier Read-Tools zu (Datei lesen, grep, glob und Verzeichnisauflistung). Um nur das Lesen von Dateien einzuschränken, verwende ReadFile(/path/**) oder read_file(/path/**).

Beispiele für die Regel-Syntax:

RuleMeaning
"Bash"Alle Shell-Befehle
"Bash(git *)"Shell-Befehle, die mit git beginnen (Wortgrenze: NICHT gitk)
"Bash(git push *)"Shell-Befehle wie git push origin main
"Bash(npm run *)"Jedes npm run-Skript
"Read"Alle Datei-Leseoperationen (read, grep, glob, list)
"Read(./secrets/**)"Liest rekursiv jede Datei unter ./secrets/
"Edit(/src/**/*.ts)"Bearbeitet TypeScript-Dateien unter dem Projekt-Root /src/
"WebFetch(api.example.com)"Fetcht von api.example.com und allen Subdomains
"mcp__puppeteer"Alle Tools vom Puppeteer-MCP-Server

Präfixe für Pfadmuster:

PrefixMeaningExample
//Absoluter Pfad vom Dateisystem-Root//etc/passwd
~/Relativ zum Home-Verzeichnis~/Documents/*.pdf
/Relativ zum Projekt-Root/src/**/*.ts
./Relativ zum aktuellen Arbeitsverzeichnis./secrets/**
(none)Entspricht ./secrets/**

Verhinderung von Shell-Befehlsumgehungen:

Permission-Regeln für Read, Edit und WebFetch werden auch durchgesetzt, wenn der Agent äquivalente Shell-Befehle ausführt. Wenn beispielsweise Read(./.env) in deny enthalten ist, kann der Agent dies nicht über cat .env in einem Shell-Befehl umgehen. Unterstützte Shell-Befehle umfassen cat, grep, curl, wget, cp, mv, rm, chmod und viele weitere. Unbekannte/sichere Befehle (z. B. git) sind von Datei-/Netzwerkregeln nicht betroffen.

Migration von Legacy-Einstellungen:

Legacy settingEquivalent permissions ruleNotes
tools.allowedpermissions.allowWird beim ersten Laden automatisch migriert
tools.excludepermissions.denyWird beim ersten Laden automatisch migriert
tools.corepermissions.allow (Allowlist)Automatisch migriert; nicht aufgeführte Tools werden auf Registry-Ebene deaktiviert

Beispielkonfiguration:

{ "permissions": { "allow": ["Bash(git *)", "Bash(npm run *)", "Read(//Users/alice/code/**)"], "ask": ["Bash(git push *)", "Edit"], "deny": ["Bash(rm -rf *)", "Read(.env)", "WebFetch(malicious.com)"] } }

[!tip] Verwende /permissions in der interaktiven CLI, um Regeln anzuzeigen, hinzuzufügen und zu entfernen, ohne settings.json direkt zu bearbeiten.

slashCommands

Steuert, welche Slash-Befehle in der CLI verfügbar sind. Nützlich, um die Befehlsoberfläche in Multi-Tenant- oder Enterprise-Deployments einzuschränken.

SettingTypeDescriptionDefault
slashCommands.disabledarray of stringsNamen der Slash-Befehle, die ausgeblendet werden und deren Ausführung verweigert werden soll. Wird case-insensitive mit dem finalen Befehlsnamen abgeglichen (bei Extension-Befehlen ist dies die disambiguierte Form, z. B. myext.deploy). Wird als Union über alle Scopes zusammengeführt, sodass Workspace-Einstellungen Einträge aus User- oder System-Einstellungen hinzufügen, aber nicht entfernen können.undefined

Dieselbe Denylist kann auch über den CLI-Flag --disabled-slash-commands (kommagetrennt oder wiederholt) und die Umgebungsvariable QWEN_DISABLED_SLASH_COMMANDS bereitgestellt werden; Werte aus allen drei Quellen werden zusammengeführt.

Beispiel – Built-ins für ein sandboxed Deployment sperren:

{ "slashCommands": { "disabled": ["auth", "mcp", "extensions", "ide", "quit"] } }

Mit diesen Werten in einer systemweiten settings.json (/etc/qwen-code/settings.json oder QWEN_CODE_SYSTEM_SETTINGS_PATH) können Benutzer die Denylist nicht aus ihrem eigenen Scope verkleinern, und die deaktivierten Befehle erscheinen weder in der Autovervollständigung noch werden sie bei Eingabe ausgeführt.

[!note] Diese Einstellung beschränkt nur Slash-Befehle (z. B. /auth, /mcp). Sie beeinflusst nicht die Tool-Permissions – siehe dafür permissions.deny. Sie fängt auch keine Tastenkombinationen wie Ctrl+C oder Esc ab.

skills

Steuert, welche Skills dem Modell zur Verfügung gestellt werden.

SettingTypeDescriptionDefault
skills.disabledarray of stringsNamen der Skills, die ausgeblendet werden sollen. Wird case-insensitive mit dem Skill-Namen abgeglichen. Ausgeblendete Skills erscheinen weder in <available_skills> noch als /<name>-Slash-Befehle. Wird als Union zusammengeführt über User-/Projekt-/System-Scopes, sodass ein Projekt keine Einträge entfernen kann, die in User- oder System-Einstellungen definiert wurden.undefined

mcp

SettingTypeDescriptionDefault
mcp.serverCommandstringBefehl zum Starten eines MCP-Servers.undefined
mcp.allowedarray of stringsEine Allowlist von MCP-Servern, die zugelassen werden sollen. Ermöglicht die Angabe einer Liste von MCP-Servernamen, die dem Modell zur Verfügung gestellt werden sollen. Dies kann verwendet werden, um die Menge der zu verbindenden MCP-Server einzuschränken. Unterstützt Glob-Muster (* matcht jede Sequenz, ? matcht ein einzelnes Zeichen – z. B. "*puppeteer*"); Einträge ohne Glob-Zeichen werden exakt abgeglichen. Beachte, dass dies ignoriert wird, wenn --allowed-mcp-server-names gesetzt ist.undefined
mcp.excludedarray of stringsEine Denylist von MCP-Servern, die ausgeschlossen werden sollen. Ein Server, der sowohl in mcp.excluded als auch in mcp.allowed aufgeführt ist, wird ausgeschlossen. Unterstützt Glob-Muster (*, ?) auf dieselbe Weise wie mcp.allowed. Beachte, dass dies ignoriert wird, wenn --allowed-mcp-server-names gesetzt ist.undefined
mcp.toolIdleTimeoutMsnumberIdle-Timeout in Millisekunden für MCP-Tool-Aufrufe. Wenn der MCP-Server innerhalb dieser Zeit keine Antwort oder Statusaktualisierung liefert, wird der Aufruf abgebrochen. Muss zwischen 10000 und 3600000 liegen. Kann über die Umgebungsvariable QWEN_CODE_MCP_TOOL_IDLE_TIMEOUT_MS überschrieben werden.300000
Note

Sicherheitshinweis für MCP-Server: Diese Einstellungen verwenden einfaches String-Matching auf MCP-Servernamen, die geändert werden können. Wenn du als Systemadministrator verhindern möchtest, dass Benutzer dies umgehen, solltest du die mcpServers auf der Ebene der Systemeinstellungen konfigurieren, sodass der Benutzer keine eigenen MCP-Server konfigurieren kann. Dies sollte nicht als wasserdichter Sicherheitsmechanismus verwendet werden.

lsp

[!warning] Experimentelles Feature: LSP-Support ist derzeit experimentell und standardmäßig deaktiviert. Aktiviere ihn mit dem --experimental-lsp Command-Line-Flag.

Das Language Server Protocol (LSP) bietet Code-Intelligence-Features wie Go-to-Definition, Referenzen suchen und Diagnostics.

Die LSP-Server-Konfiguration erfolgt über .lsp.json-Dateien in deinem Projekt-Root-Verzeichnis, nicht über settings.json. Siehe die LSP-Dokumentation für Konfigurationsdetails und Beispiele.

security

EinstellungTypBeschreibungStandard
security.folderTrust.enabledbooleanEinstellung zur Nachverfolgung, ob Folder-Trust aktiviert ist.false
security.auth.selectedTypestringDer aktuell ausgewählte Authentifizierungstyp.undefined
security.auth.enforcedTypestringDer erforderliche Authentifizierungstyp (nützlich für Unternehmen).undefined
security.auth.useExternalbooleanGibt an, ob ein externer Authentifizierungs-Flow verwendet werden soll.undefined
security.auth.apiKeystringVeraltet. API-Key für die OpenAI-kompatible Authentifizierung. Migriere stattdessen zu modelProviders mit envKey – siehe Model Providers.undefined
security.auth.baseUrlstringVeraltet. Base-URL für die OpenAI-kompatible API. Migriere stattdessen zu modelProviders – siehe Model Providers.undefined

advanced

EinstellungTypBeschreibungStandard
advanced.autoConfigureMemorybooleanKonfiguriert die Node.js-Speicherlimits automatisch.false
advanced.dnsResolutionOrderstringDie DNS-Auflösungsreihenfolge.undefined
advanced.excludedEnvVarsarray of stringsUmgebungsvariablen, die vom Projekt-Kontext ausgeschlossen werden sollen. Gibt Umgebungsvariablen an, die nicht aus den .env-Dateien des Projekts geladen werden sollen. Dies verhindert, dass projektspezifische Umgebungsvariablen (wie DEBUG=true) das CLI-Verhalten beeinträchtigen. Variablen aus .qwen/.env-Dateien werden niemals ausgeschlossen.["DEBUG","DEBUG_MODE"]
advanced.bugCommandobjectKonfiguration für den Bug-Report-Befehl. Überschreibt die Standard-URL für den /bug-Befehl. Eigenschaften: urlTemplate (string): Eine URL, die die Platzhalter {title} und {info} enthalten kann. Beispiel: "bugCommand": { "urlTemplate": "https://bug.example.com/new?title={title}&info={info}" }undefined
plansDirectorystringBenutzerdefiniertes Verzeichnis für genehmigte Plan-Mode-Dateien. Relative Pfade werden vom Projekt-Root aufgelöst, und der aufgelöste Pfad muss innerhalb des Projekt-Roots bleiben. Wenn nicht gesetzt, werden Plan-Dateien in ~/.qwen/plans gespeichert. Erfordert einen Neustart. Wenn sich das Verzeichnis innerhalb des Projekt-Roots befindet, füge es zur .gitignore hinzu, um zu vermeiden, dass Plan-Dateien committet werden.undefined

experimental

Warning

Experimentelle Features. Diese Toggles schalten sich in der Entwicklung befindliche Funktionen frei und können sich in zukünftigen Releases ändern oder entfernt werden.

EinstellungTypBeschreibungStandard
experimental.cronbooleanAktiviert die In-Session-Cron/Loop-Tools (cron_create, cron_list, cron_delete), sodass das Modell wiederkehrende Prompts erstellen kann. Kann über die Umgebungsvariable QWEN_CODE_DISABLE_CRON=1 deaktiviert werden. Erfordert einen Neustart.true
experimental.cronRecurringMaxAgeDaysnumberAnzahl der Tage, die ein wiederkehrender Cron/Loop-Job lebt, bevor er automatisch abläuft (er wird ein letztes Mal ausgeführt und dann gelöscht). Setze den Wert auf 0, um den Ablauf zu deaktivieren, sodass Jobs bis zur manuellen Löschung laufen – nützlich für langlaufende Daemon-Deployments. Kann über die Umgebungsvariable QWEN_CODE_CRON_MAX_AGE_DAYS überschrieben werden. Erfordert einen Neustart.7
experimental.agentTeambooleanAktiviert die Agent-Team-Kollaborationstools (team_create, task_create, task_update, send_message usw.) für die Multi-Agent-Koordination. Kann auch über QWEN_CODE_ENABLE_AGENT_TEAM=1 aktiviert werden. Erfordert einen Neustart.false
experimental.artifactbooleanAktiviert das Artifact-Tool, mit dem das Modell eine in sich geschlossene HTML-Seite veröffentlichen und im Browser öffnen kann. Nur für interaktive Non-SDK-Sessions. QWEN_CODE_ENABLE_ARTIFACT=1 aktiviert das reine Metadaten-Tool record_artifact für Non-SDK-Daemon-Sessions und aktiviert außerdem das Artifact-Tool in interaktiven Sessions; QWEN_CODE_DISABLE_ARTIFACT=1 deaktiviert beides. Erfordert einen Neustart.false
experimental.emitToolUseSummariesbooleanGeneriert ein kurzes LLM-basiertes Label, nachdem jeder Tool-Call-Batch abgeschlossen ist. Siehe Tool-Use Summaries. Erfordert, dass ein schnelles Modell konfiguriert ist (fastModel); wird andernfalls stillschweigend übersprungen. Kann pro Session mit QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0 oder =1 überschrieben werden.true

mcpServers

Konfiguriert Verbindungen zu einem oder mehreren Model-Context Protocol (MCP)-Servern zum Entdecken und Verwenden benutzerdefinierter Tools. Qwen Code versucht, eine Verbindung zu jedem konfigurierten MCP-Server herzustellen, um verfügbare Tools zu entdecken. Wenn mehrere MCP-Server ein Tool mit demselben Namen bereitstellen, werden den Tool-Namen der Server-Alias vorangestellt, den du in der Konfiguration definiert hast (z. B. serverAlias__actualToolName), um Konflikte zu vermeiden. Beachte, dass das System aus Kompatibilitätsgründen bestimmte Schema-Eigenschaften aus MCP-Tool-Definitionen entfernen kann. Mindestens eine der Optionen command, url oder httpUrl muss angegeben werden. Wenn mehrere angegeben sind, ist die Prioritätenreihenfolge httpUrl, dann url, dann command.

EigenschaftTypBeschreibungOptional
mcpServers.<SERVER_NAME>.commandstringDer Befehl, der ausgeführt wird, um den MCP-Server über Standard-I/O zu starten.Ja
mcpServers.<SERVER_NAME>.argsarray of stringsArgumente, die an den Befehl übergeben werden.Ja
mcpServers.<SERVER_NAME>.envobjectUmgebungsvariablen, die für den Server-Prozess gesetzt werden.Ja
mcpServers.<SERVER_NAME>.cwdstringDas Arbeitsverzeichnis, in dem der Server gestartet wird.Ja
mcpServers.<SERVER_NAME>.urlstringDie URL eines MCP-Servers, der Server-Sent Events (SSE) für die Kommunikation verwendet.Ja
mcpServers.<SERVER_NAME>.httpUrlstringDie URL eines MCP-Servers, der streamable HTTP für die Kommunikation verwendet.Ja
mcpServers.<SERVER_NAME>.headersobjectEin Map von HTTP-Headern, die mit Requests an url oder httpUrl gesendet werden.Ja
mcpServers.<SERVER_NAME>.timeoutnumberTimeout in Millisekunden für Requests an diesen MCP-Server.Ja
mcpServers.<SERVER_NAME>.trustbooleanVertraue diesem Server und umgehe alle Tool-Call-Bestätigungen.Ja
mcpServers.<SERVER_NAME>.descriptionstringEine kurze Beschreibung des Servers, die für Anzeigezwecke verwendet werden kann.Ja
mcpServers.<SERVER_NAME>.includeToolsarray of stringsListe der Tool-Namen, die von diesem MCP-Server eingeschlossen werden sollen. Wenn angegeben, sind nur die hier aufgeführten Tools von diesem Server verfügbar (Allowlist-Verhalten). Wenn nicht angegeben, sind standardmäßig alle Tools des Servers aktiviert.Ja
mcpServers.<SERVER_NAME>.excludeToolsarray of stringsListe der Tool-Namen, die von diesem MCP-Server ausgeschlossen werden sollen. Die hier aufgeführten Tools stehen dem Modell nicht zur Verfügung, auch wenn sie vom Server bereitgestellt werden. Hinweis: excludeTools hat Vorrang vor includeTools – wenn ein Tool in beiden Listen enthalten ist, wird es ausgeschlossen.Ja

Telemetrie

Konfiguriert das Logging und die Metrikerfassung für Qwen Code. Weitere Informationen findest du unter telemetry.

EinstellungTypBeschreibungStandard
telemetry.enabledbooleanGibt an, ob Telemetrie aktiviert ist.
telemetry.targetstringInformations-Label für das Telemetrie-Ziel (local oder gcp). Steuert nicht das Exporter-Routing; setze telemetry.otlpEndpoint oder telemetry.outfile, um zu konfigurieren, wohin die Daten gesendet werden.
telemetry.otlpEndpointstringDer Endpunkt für den OTLP-Exporter.
telemetry.otlpProtocolstringDas Protokoll für den OTLP-Exporter (grpc oder http).
telemetry.logPromptsbooleanGibt an, ob der Inhalt von Benutzer-Prompts in die Logs aufgenommen wird.
telemetry.includeSensitiveSpanAttributesbooleanWenn aktiviert, werden wortwörtliche Benutzer-Prompts, System-Prompts, Tool-Inputs/Outputs und Modell-Antworten an native OTel-Span-Attribute angehängt (zusätzlich zu den Log-to-Span-Bridge-Spans). ⚠️ Streamt sensible Daten – Dateiinhalte, Shell-Befehle, Konversationsverlauf – an dein OTLP-Backend.false
telemetry.sensitiveSpanAttributeMaxLengthnumberMaximale JavaScript-Stringlänge für jeden sensiblen nativen OTel-Span-Attribut-Content-Payload. Muss zwischen 1 und 104857600 (100 MiB) liegen. Setze diesen Wert niedriger, wenn dein Collector oder Backend große Attribute ablehnt.1048576
telemetry.outfilestringPfad, um Telemetrie in eine Datei zu schreiben. Wenn gesetzt, wird der OTLP-Export überschrieben.

Beispiel settings.json

Hier ist ein Beispiel für eine settings.json-Datei mit der verschachtelten Struktur, neu ab v0.3.0:

{ "proxy": "http://localhost:7890", "plansDirectory": "./.qwen/plans", "general": { "vimMode": true, "preferredEditor": "code" }, "ui": { "theme": "GitHub", "hideTips": false, "customWittyPhrases": [ "You forget a thousand things every day. Make sure this is one of 'em", "Connecting to AGI" ] }, "tools": { "approvalMode": "yolo", "sandbox": "docker", "sandboxImage": "ghcr.io/qwenlm/qwen-code:0.14.1", "discoveryCommand": "bin/get_tools", "callCommand": "bin/call_tool", "exclude": ["write_file"] }, "mcpServers": { "mainServer": { "command": "bin/mcp_server.py" }, "anotherServer": { "command": "node", "args": ["mcp_server.js", "--verbose"] } }, "telemetry": { "enabled": true, "target": "local", "otlpEndpoint": "http://localhost:4317", "logPrompts": true, "includeSensitiveSpanAttributes": false, "sensitiveSpanAttributeMaxLength": 1048576 }, "privacy": { "usageStatisticsEnabled": true }, "model": { "name": "qwen3-coder-plus", "maxSessionTurns": 10, "enableOpenAILogging": false, "openAILoggingDir": "~/qwen-logs", }, "context": { "fileName": ["CONTEXT.md", "QWEN.md"], "includeDirectories": ["path/to/dir1", "~/path/to/dir2", "../path/to/dir3"], "loadFromIncludeDirectories": true, "fileFiltering": { "respectGitIgnore": false } }, "advanced": { "excludedEnvVars": ["DEBUG", "DEBUG_MODE", "NODE_ENV"] } }

Shell-Verlauf

Die CLI speichert einen Verlauf der Shell-Befehle, die du ausführst. Um Konflikte zwischen verschiedenen Projekten zu vermeiden, wird dieser Verlauf in einem projektspezifischen Verzeichnis innerhalb deines Home-Verzeichnisses gespeichert.

  • Speicherort: ~/.qwen/tmp/<project_hash>/shell_history
    • <project_hash> ist ein eindeutiger Bezeichner, der aus dem Root-Pfad deines Projekts generiert wird.
    • Der Verlauf wird in einer Datei namens shell_history gespeichert.

Umgebungsvariablen & .env-Dateien

Umgebungsvariablen sind eine gängige Methode zur Konfiguration von Anwendungen, insbesondere für sensible Informationen (wie Tokens) oder für Einstellungen, die sich zwischen verschiedenen Umgebungen ändern können.

Qwen Code kann Umgebungsvariablen automatisch aus .env-Dateien laden. Für authentifizierungsrelevante Variablen (wie OPENAI_*) und den empfohlenen .qwen/.env-Ansatz siehe Authentication.

Tip

Ausschluss von Umgebungsvariablen: Einige Umgebungsvariablen (wie DEBUG und DEBUG_MODE) werden standardmäßig automatisch aus projektbezogenen .env-Dateien ausgeschlossen, um Interferenzen mit dem CLI-Verhalten zu verhindern. Variablen aus .qwen/.env-Dateien werden niemals ausgeschlossen. Du kannst dieses Verhalten über die advanced.excludedEnvVars-Einstellung in deiner settings.json-Datei anpassen.

Tabelle der Umgebungsvariablen

VariableBeschreibungHinweise
QWEN_HOMEPasst das globale Konfigurationsverzeichnis an (Standard: ~/.qwen). Akzeptiert einen absoluten oder relativen Pfad (relative Pfade werden vom aktuellen Arbeitsverzeichnis aus aufgelöst). Ein vorangestelltes ~ wird zum Home-Verzeichnis des Benutzers expandiert.Speichert Credentials, Einstellungen, Memory, Skills und anderen globalen State. Wenn gesetzt, bleiben .qwen/-Verzeichnisse auf Projektebene unberührt. Ein leerer String wird wie nicht gesetzt behandelt.
QWEN_RUNTIME_DIRÜberschreibt das Runtime-Output-Verzeichnis (Konversationen, Logs, Todos). Wenn nicht gesetzt, ist standardmäßig das QWEN_HOME-Verzeichnis eingestellt.Verwende dies, um flüchtige Runtime-Daten von der persistenten Konfiguration zu trennen. Nützlich, wenn sich QWEN_HOME auf einem gemeinsam genutzten oder langsamen Dateisystem befindet.
QWEN_TELEMETRY_ENABLEDSetze dies auf true oder 1, um Telemetrie zu aktivieren. Jeder andere Wert wird als Deaktivierung behandelt.Überschreibt die telemetry.enabled-Einstellung.
QWEN_TELEMETRY_TARGETSetzt ein Informations-Label für das Telemetrie-Ziel (local oder gcp). Steuert nicht das Routing; verwende QWEN_TELEMETRY_OTLP_ENDPOINT oder QWEN_TELEMETRY_OUTFILE, um zu konfigurieren, wohin die Daten gesendet werden.Überschreibt die telemetry.target-Einstellung.
QWEN_TELEMETRY_OTLP_ENDPOINTSetzt den OTLP-Endpunkt für Telemetrie.Überschreibt die telemetry.otlpEndpoint-Einstellung.
QWEN_TELEMETRY_OTLP_PROTOCOLSetzt das OTLP-Protokoll (grpc oder http).Überschreibt die telemetry.otlpProtocol-Einstellung.
QWEN_TELEMETRY_LOG_PROMPTSSetze dies auf true oder 1, um das Logging von Benutzer-Prompts zu aktivieren. Jeder andere Wert wird als Deaktivierung behandelt.Überschreibt die telemetry.logPrompts-Einstellung.
QWEN_TELEMETRY_INCLUDE_SENSITIVE_SPAN_ATTRIBUTESSetze dies auf true oder 1, um wortwörtliche Benutzer-Prompts, System-Prompts, Tool-I/O und Modell-Antworten an native OTel-Span-Attribute anzuhängen (und prompt / function_args / response_text auf Log-to-Span-Bridge-Spans zu belassen). Jeder andere Wert deaktiviert dies.Überschreibt die telemetry.includeSensitiveSpanAttributes-Einstellung. ⚠️ Streamt sensible Daten an dein OTLP-Backend.
QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTHSetzt die maximale JavaScript-Stringlänge für jeden sensiblen nativen OTel-Span-Attribut-Content-Payload. Muss eine positive ganze Zahl sein, die nicht größer als 104857600 (100 MiB) ist.Überschreibt die telemetry.sensitiveSpanAttributeMaxLength-Einstellung. Standard ist 1048576 (1 MiB); setze diesen Wert niedriger, wenn dein Collector oder Backend große Span-Attribute ablehnt.
QWEN_TELEMETRY_OUTFILESetzt den Dateipfad, in den Telemetrie geschrieben werden soll. Wenn gesetzt, wird der OTLP-Export überschrieben.Überschreibt die telemetry.outfile-Einstellung.
QWEN_SANDBOXAlternative zur sandbox-Einstellung in settings.json.Akzeptiert true, false, docker, podman oder einen benutzerdefinierten Command-String.
QWEN_SANDBOX_IMAGEÜberschreibt die Sandbox-Image-Auswahl für Docker/Podman.Hat Vorrang vor tools.sandboxImage.
SEATBELT_PROFILE(macOS-spezifisch) Wechselt das Seatbelt-(sandbox-exec)-Profil auf macOS.permissive-open: (Standard) Schränkt Schreibzugriffe auf den Projektordner (und einige andere Ordner, siehe packages/cli/src/utils/sandbox-macos-permissive-open.sb) ein, erlaubt aber andere Operationen. strict: Verwendet ein strenges Profil, das Operationen standardmäßig ablehnt. <profile_name>: Verwendet ein benutzerdefiniertes Profil. Um ein benutzerdefiniertes Profil zu definieren, erstelle eine Datei namens sandbox-macos-<profile_name>.sb im .qwen/-Verzeichnis deines Projekts (z. B. my-project/.qwen/sandbox-macos-custom.sb).
DEBUG oder DEBUG_MODE(wird oft von zugrunde liegenden Bibliotheken oder der CLI selbst verwendet) Setze dies auf true oder 1, um ausführliches Debug-Logging zu aktivieren, was bei der Fehlerbehebung hilfreich sein kann.Hinweis: Diese Variablen werden standardmäßig automatisch aus projektbezogenen .env-Dateien ausgeschlossen, um Interferenzen mit dem CLI-Verhalten zu verhindern. Verwende .qwen/.env-Dateien, wenn du diese speziell für Qwen Code setzen musst.
NO_COLORSetze dies auf einen beliebigen Wert, um die gesamte Farbausgabe in der CLI zu deaktivieren.
FORCE_HYPERLINKÜberschreibt die OSC-8-Erkennung für klickbare Links im Markdown-Renderer. Setze dies auf 1 (oder eine beliebige Ganzzahl ungleich Null oder einen leeren String), um es zu erzwingen; setze es auf 0 oder einen nicht-numerischen Wert wie false / off, um es zu deaktivieren. Beachtet NO_COLOR / QWEN_DISABLE_HYPERLINKS-Opt-outs darüber.Verwende dies, um OSC 8 innerhalb von tmux / GNU screen zu aktivieren (die Auto-Detection lehnt standardmäßig ab, da die Fähigkeiten des Host-Terminals hinter dem Multiplexer verborgen sind). Erfordert set -g allow-passthrough on unter tmux 3.3+. Aktiviert außerdem Hyper, was nicht automatisch erkannt wird.
QWEN_DISABLE_HYPERLINKSSetze dies auf 1, um OSC-8-klickbare Hyperlinks im Markdown-Renderer hart zu deaktivieren, sogar auf Terminals, die automatisch als fähig erkannt werden.Nützlich, wenn ein Terminal Support meldet, aber bei langen URLs abbricht, oder wenn die Ausgabe durch ein Intermediär gepiped wird, das Escape-Sequenzen verstümmelt. Der Renderer fällt auf das einfache label (url)-Rendering zurück.
CLI_TITLESetze dies auf einen String, um den Titel der CLI anzupassen.
CODE_ASSIST_ENDPOINTGibt den Endpunkt für den Code-Assist-Server an.Dies ist nützlich für Entwicklung und Testing.
QWEN_CODE_MAX_OUTPUT_TOKENSÜberschreibt die standardmäßigen maximalen Output-Tokens pro Antwort. Wenn nicht gesetzt, verwendet Qwen Code standardmäßig das deklarierte Output-Limit des Modells und eskaliert (64K-Basis) automatisch und stellt sich über Turns hinweg wieder her, wenn eine Antwort abgeschnitten wird. Setze dies auf einen bestimmten Wert (z. B. 16000), um stattdessen ein festes Limit zu verwenden – nützlich für kapazitätsbeschränkte Self-Hosted-Backends, die eine niedrigere Slot-Reservierung pro Request wünschen.Hat Vorrang vor dem Model-Limit-Standard, wird aber durch samplingParams.max_tokens in den Einstellungen überschrieben. Deaktiviert die automatische Eskalation, wenn gesetzt. Beispiel: export QWEN_CODE_MAX_OUTPUT_TOKENS=16000
QWEN_CODE_UNATTENDED_RETRYSetze dies auf true oder 1, um den Persistent-Retry-Modus zu aktivieren. Wenn aktiviert, werden vorübergehende API-Kapazitätsfehler (HTTP 429 Rate Limit und 529 Overloaded) unbegrenzt mit exponentiellem Backoff (gedeckelt auf 5 Minuten pro Retry) und Heartbeat-Keepalives alle 30 Sekunden auf stderr wiederholt.Entwickelt für CI/CD-Pipelines und Hintergrundautomatisierung, bei denen langlaufende Tasks vorübergehende API-Ausfälle überstehen sollen. Muss explizit gesetzt werden – CI=true allein aktiviert diesen Modus nicht. Siehe Headless Mode für Details. Beispiel: export QWEN_CODE_UNATTENDED_RETRY=1
QWEN_CODE_PROFILE_STARTUPSetze dies auf 1, um das Startup-Performance-Profiling zu aktivieren. Schreibt einen JSON-Timing-Report mit Dauerwerten pro Phase nach ~/.qwen/startup-perf/.Nur aktiv innerhalb des Sandbox-Child-Prozesses (oder mit QWEN_CODE_PROFILE_STARTUP_OUTER=1). Kein Overhead, wenn nicht gesetzt. Beispiel: export QWEN_CODE_PROFILE_STARTUP=1
QWEN_CODE_PROFILE_STARTUP_OUTERSetze dies zusammen mit QWEN_CODE_PROFILE_STARTUP=1 auf 1, um auch im äußeren (Pre-Sandbox)-Prozess ein Startup-Profil zu sammeln. Outer-Process-Reports erhalten das Dateinamen-Präfix outer-, um sie vom Report des Sandbox-Childs zu unterscheiden.Standardmäßig deaktiviert – nur der Sandbox-Child sammelt, um doppelte Reports zu vermeiden. Nützlich für die lokale Entwicklung, bei der die CLI nicht neu in einer Sandbox gestartet wird.
QWEN_CODE_PROFILE_STARTUP_NO_HEAPSetze dies zusammen mit QWEN_CODE_PROFILE_STARTUP=1 auf 1, um die process.memoryUsage()-Snapshots pro Checkpoint zu überspringen. Nützlich bei der Messung des eigenen Heisenberg-Overheads des Profilers.Standardmäßig deaktiviert. Heap-Snapshots kosten jeweils ~50 µs (weit unter 1 % der gesamten Startup-Zeit), daher sollten die meisten Benutzer dies unverändert lassen.
QWEN_CODE_LEGACY_MCP_BLOCKINGSetze dies auf 1, um das Pre-Progressive-MCP-Verhalten wiederherzustellen, bei dem Config.initialize() synchron auf den Discover-Handshake jedes konfigurierten MCP-Servers wartet, bevor es zurückkehrt.Standardmäßig deaktiviert. Modernes qwen-code lässt MCP-Server im Hintergrund online gehen, während die UI bereits interaktiv ist; das Modell sieht jeden Batch neuer Tools innerhalb von ~16 ms, nachdem der Server bereit ist. Dieser Flag wird als Rollback-Escape-Hatch für ≥ 1 Release beibehalten. Beispiel: export QWEN_CODE_LEGACY_MCP_BLOCKING=1
Wenn beide .env-Dateien auf Benutzerebene dieselbe Variable definieren, hat die Qwen-spezifische Datei Vorrang: <QWEN_HOME>/.env (oder ~/.qwen/.env, wenn QWEN_HOME nicht gesetzt ist) wird vor ~/.env geladen, und vorhandene Umgebungswerte werden nicht überschrieben.

Befehlszeilenargumente

Argumente, die direkt beim Ausführen der CLI übergeben werden, können andere Konfigurationen für diese spezifische Sitzung überschreiben.

Für die Auswahl des Sandbox-Images gilt folgende Priorität: --sandbox-image > QWEN_SANDBOX_IMAGE > tools.sandboxImage > integriertes Standard-Image.

Tabelle der Befehlszeilenargumente

ArgumentAliasBeschreibungMögliche WerteHinweise
--model-mGibt das Qwen-Modell an, das für diese Sitzung verwendet werden soll.ModellnameBeispiel: npm start -- --model qwen3-coder-plus
--prompt-pWird verwendet, um einen Prompt direkt an den Befehl zu übergeben. Dies ruft Qwen Code in einem nicht-interaktiven Modus auf.Prompt-TextFür Skriptbeispiele verwende das Flag --output-format json, um strukturierte Ausgaben zu erhalten.
--prompt-interactive-iStartet eine interaktive Sitzung mit dem angegebenen Prompt als anfängliche Eingabe.Prompt-TextDer Prompt wird innerhalb der interaktiven Sitzung verarbeitet, nicht davor. Kann nicht verwendet werden, wenn Eingaben von stdin gepipt werden. Beispiel: qwen -i "explain this code"
--system-promptÜberschreibt den integrierten System-Prompt der Hauptsitzung für diesen Durchlauf.Prompt-TextGeladene Kontextdateien wie QWEN.md werden auch nach dieser Überschreibung weiterhin angehängt. Kann mit --append-system-prompt kombiniert werden.
--append-system-promptHängt zusätzliche Anweisungen an den System-Prompt der Hauptsitzung für diesen Durchlauf an.Prompt-TextWird nach dem integrierten Prompt und den geladenen Kontextdateien angewendet. Kann mit --system-prompt kombiniert werden. Siehe Headless Mode für Beispiele.
--output-format-oGibt das Format der CLI-Ausgabe für den nicht-interaktiven Modus an.text, json, stream-jsontext: (Standard) Die standardmäßige, menschenlesbare Ausgabe. json: Eine maschinenlesbare JSON-Ausgabe, die am Ende der Ausführung emittiert wird. stream-json: Streaming-JSON-Nachrichten, die während der Ausführung emittiert werden, sobald sie auftreten. Für strukturierte Ausgaben und Skripting verwende das Flag --output-format json oder --output-format stream-json. Siehe Headless Mode für detaillierte Informationen.
--input-formatGibt das Format an, das von der Standardeingabe konsumiert wird.text, stream-jsontext: (Standard) Standard-Texteingabe von stdin oder Befehlszeilenargumenten. stream-json: JSON-Nachrichtenprotokoll über stdin für bidirektionale Kommunikation. Voraussetzung: --input-format stream-json erfordert, dass --output-format stream-json gesetzt ist. Bei der Verwendung von stream-json ist stdin für Protokollnachrichten reserviert. Siehe Headless Mode für detaillierte Informationen.
--include-partial-messagesSchließt teilweise Assistenten-Nachrichten ein, wenn das stream-json-Ausgabeformat verwendet wird. Wenn aktiviert, werden Stream-Events (message_start, content_block_delta, etc.) emittiert, sobald sie während des Streamings auftreten.Standard: false. Voraussetzung: Erfordert, dass --output-format stream-json gesetzt ist. Siehe Headless Mode für detaillierte Informationen zu Stream-Events.
--sandbox-sAktiviert den Sandbox-Modus für diese Sitzung.
--sandbox-imageLegt die Sandbox-Image-URI fest.
--debug-dAktiviert den Debug-Modus für diese Sitzung und bietet eine ausführlichere Ausgabe.
--help-hZeigt Hilfeinformationen zu den Befehlszeilenargumenten an.
--yoloAktiviert den YOLO-Modus, der alle Tool-Aufrufe automatisch genehmigt.
--approval-modeLegt den Genehmigungsmodus für Tool-Aufrufe fest.plan, default, auto-edit, auto, yoloUnterstützte Modi: plan: Nur analysieren – keine Dateien ändern oder Befehle ausführen. default: Genehmigung für Dateiänderungen oder Shell-Befehle erforderlich (Standardverhalten). auto-edit: Edit-Tools (edit, write_file, notebook_edit) automatisch genehmigen, für andere nachfragen. auto: LLM-Klassifizierer genehmigt sichere Aktionen automatisch und blockiert riskante. yolo: Alle Tool-Aufrufe automatisch genehmigen (entspricht --yolo). Kann nicht zusammen mit --yolo verwendet werden. Verwende --approval-mode=yolo anstelle von --yolo für den neuen einheitlichen Ansatz. Beispiel: qwen --approval-mode auto-edit
Siehe mehr über Approval Mode.
--allowed-toolsEine durch Kommas getrennte Liste von Tool-Namen, die den Bestätigungsdialog umgehen.Tool-NamenBeispiel: qwen --allowed-tools "Shell(git status)"
--disabled-slash-commandsNamen von Slash-Befehlen zum Ausblenden/Deaktivieren (durch Kommas getrennt oder wiederholt). Wird mit der Einstellung slashCommands.disabled und der Umgebungsvariable QWEN_DISABLED_SLASH_COMMANDS vereinigt. Wird ohne Berücksichtigung der Groß-/Kleinschreibung mit dem endgültigen Befehlsnamen abgeglichen.BefehlsnamenBeispiel: qwen --disabled-slash-commands "auth,mcp,extensions"
--telemetryAktiviert Telemetrie.
--telemetry-targetLegt das Telemetrie-Ziel fest.Siehe Telemetrie für weitere Informationen.
--telemetry-otlp-endpointLegt den OTLP-Endpunkt für die Telemetrie fest.Siehe Telemetrie für weitere Informationen.
--telemetry-otlp-protocolLegt das OTLP-Protokoll für die Telemetrie fest (grpc oder http).Standardmäßig grpc. Siehe Telemetrie für weitere Informationen.
--telemetry-log-promptsAktiviert die Protokollierung von Prompts für die Telemetrie.Siehe Telemetrie für weitere Informationen.
--acpAktiviert den ACP-Modus (Agent Client Protocol). Nützlich für IDE-/Editor-Integrationen wie Zed.Stabil. Ersetzt das veraltete Flag --experimental-acp.
--experimental-lspAktiviert die experimentelle LSP (Language Server Protocol)-Funktion für Code-Intelligenz (Go-to-Definition, Referenzen finden, Diagnostik usw.).Experimentell. Erfordert die Installation von Language Servern.
--extensions-eGibt eine Liste von Erweiterungen an, die für die Sitzung verwendet werden sollen.ErweiterungsnamenWenn nicht angegeben, werden alle verfügbaren Erweiterungen verwendet. Verwende den speziellen Begriff qwen -e none, um alle Erweiterungen zu deaktivieren. Beispiel: qwen -e my-extension -e my-other-extension
--list-extensions-lListet alle verfügbaren Erweiterungen auf und beendet das Programm.
--proxyLegt den Proxy für die CLI fest.Proxy-URLBeispiel: --proxy http://localhost:7890.
--include-directoriesFügt dem Workspace zusätzliche Verzeichnisse hinzu, um die Unterstützung mehrerer Verzeichnisse zu ermöglichen.VerzeichnispfadeKann mehrfach oder als durch Kommas getrennte Werte angegeben werden. Maximal können 5 Verzeichnisse hinzugefügt werden. Beispiel: --include-directories /path/to/project1,/path/to/project2 oder --include-directories /path/to/project1 --include-directories /path/to/project2
--screen-readerAktiviert den Screen-Reader-Modus, der die TUI für eine bessere Kompatibilität mit Screen Readern anpasst.
--versionZeigt die Version der CLI an.
--openai-loggingAktiviert die Protokollierung von OpenAI-API-Aufrufen zum Debuggen und Analysieren.Dieses Flag überschreibt die Einstellung enableOpenAILogging in settings.json.
--openai-logging-dirLegt einen benutzerdefinierten Verzeichnispfad für OpenAI-API-Logs fest.VerzeichnispfadDieses Flag überschreibt die Einstellung openAILoggingDir in settings.json. Unterstützt absolute Pfade, relative Pfade und die ~-Expansion. Beispiel: qwen --openai-logging-dir "~/qwen-logs" --openai-logging

Kontextdateien (Hierarchischer Instruktionskontext)

Auch wenn Kontextdateien nicht streng genommen die Verhaltensweise der CLI konfigurieren (standardmäßig QWEN.md, konfigurierbar über die context.fileName-Einstellung), sind sie entscheidend für die Konfiguration des Instruktionskontextes (auch “Memory” genannt). Mit dieser leistungsstarken Funktion kannst du der KI projektspezifische Anweisungen, Coding-Style-Guides oder beliebige relevante Hintergrundinformationen geben, wodurch ihre Antworten besser auf deine Bedürfnisse zugeschnitten und genauer werden. Die CLI enthält UI-Elemente, wie z. B. eine Anzeige im Footer, die die Anzahl der geladenen Kontextdateien zeigt, um dich über den aktiven Kontext zu informieren.

  • Zweck: Diese Markdown-Dateien enthalten Anweisungen, Richtlinien oder Kontext, den das Qwen-Modell während eurer Interaktionen kennen soll. Das System ist so konzipiert, dass es diesen Instruktionskontext hierarchisch verwaltet.

Beispielinhalt einer Kontextdatei (z. B. QWEN.md)

Hier ist ein konzeptionelles Beispiel dafür, was eine Kontextdatei im Stammverzeichnis eines TypeScript-Projekts enthalten könnte:

# Project: My Awesome TypeScript Library ## General Instructions: - When generating new TypeScript code, please follow the existing coding style. - Ensure all new functions and classes have JSDoc comments. - Prefer functional programming paradigms where appropriate. - All code should be compatible with TypeScript 5.0 and Node.js 22+. ## Coding Style: - Use 2 spaces for indentation. - Interface names should be prefixed with `I` (e.g., `IUserService`). - Private class members should be prefixed with an underscore (`_`). - Always use strict equality (`===` and `!==`). ## Specific Component: `src/api/client.ts` - This file handles all outbound API requests. - When adding new API call functions, ensure they include robust error handling and logging. - Use the existing `fetchWithRetry` utility for all GET requests. ## Regarding Dependencies: - Avoid introducing new external dependencies unless absolutely necessary. - If a new dependency is required, please state the reason.

Dieses Beispiel zeigt, wie du allgemeinen Projektkontext, spezifische Coding-Konventionen und sogar Notizen zu bestimmten Dateien oder Komponenten bereitstellen kannst. Je relevanter und präziser deine Kontextdateien sind, desto besser kann die KI dich unterstützen. Projektspezifische Kontextdateien werden dringend empfohlen, um Konventionen und Kontext zu etablieren.

  • Hierarchisches Laden und Priorität: Die CLI implementiert ein hierarchisches Memory-System, indem sie Kontextdateien (z. B. QWEN.md) aus verschiedenen Verzeichnissen lädt. Inhalte aus Dateien weiter unten in dieser Liste (spezifischer) überschreiben oder ergänzen in der Regel Inhalte aus Dateien weiter oben (allgemeiner). Die genaue Verkettungsreihenfolge und der finale Kontext können im /memory-Dialog eingesehen werden. Die typische Ladereihenfolge ist:
    1. Globale Kontextdatei:
      • Speicherort: ~/.qwen/<configured-context-filename> (z. B. ~/.qwen/QWEN.md in deinem Benutzer-Home-Verzeichnis).
      • Geltungsbereich: Stellt Standardanweisungen für alle deine Projekte bereit.
    2. Kontextdateien im Projekt-Root und übergeordneten Verzeichnissen:
      • Speicherort: Die CLI sucht im aktuellen Arbeitsverzeichnis nach der konfigurierten Kontextdatei und dann in jedem übergeordneten Verzeichnis bis entweder zum Projekt-Root (erkennbar an einem .git-Ordner) oder zu deinem Home-Verzeichnis.
      • Geltungsbereich: Stellt Kontext bereit, der für das gesamte Projekt oder einen wesentlichen Teil davon relevant ist.
  • Verkettung & UI-Anzeige: Die Inhalte aller gefundenen Kontextdateien werden verkettet (mit Trennzeichen, die auf ihre Herkunft und ihren Pfad hinweisen) und als Teil des System-Prompts bereitgestellt. Der CLI-Footer zeigt die Anzahl der geladenen Kontextdateien an und gibt dir so einen schnellen visuellen Hinweis auf den aktiven Instruktionskontext.
  • Inhalte importieren: Du kannst deine Kontextdateien modularisieren, indem du andere Markdown-Dateien mit der Syntax @path/to/file.md importierst. Weitere Details findest du in der Memory-Dokumentation.
  • Befehle zur Memory-Verwaltung:
    • Verwende /memory, um den Dialog zur Memory-Verwaltung zu öffnen.
    • Aktualisiere den Memory-Status über den Dialog, um Kontextdateien aus allen konfigurierten Verzeichnissen erneut zu scannen und neu zu laden.
    • Siehe die Befehlsdokumentation für vollständige Details zum /memory-Befehl.

Indem du diese Konfigurationsebenen und die hierarchische Natur von Kontextdateien verstehst und nutzt, kannst du den Memory der KI effektiv verwalten und die Antworten von Qwen Code genau auf deine spezifischen Bedürfnisse und Projekte zuschneiden.

Sandbox

Qwen Code kann potenziell unsichere Operationen (wie Shell-Befehle und Dateiänderungen) in einer Sandbox-Umgebung ausführen, um dein System zu schützen.

Die Sandbox ist standardmäßig deaktiviert, du kannst sie jedoch auf verschiedene Arten aktivieren:

  • Verwendung des --sandbox- oder -s-Flags.
  • Setzen der QWEN_SANDBOX-Umgebungsvariable.
  • Setzen von tools.sandbox in den Einstellungen.

⚠️ --yolo aktiviert nicht automatisch eine Sandbox. Der YOLO-Modus genehmigt nur Tool-Aufrufe automatisch; die Sandbox muss weiterhin explizit über --sandbox, QWEN_SANDBOX oder tools.sandbox aktiviert werden. Bei Headless-/nicht-interaktiven Ausführungen mit --yolo (oder --approval-mode=yolo) und ohne Sandbox kann das Modell Shell-, Write- und Edit-Tools mit den Berechtigungen des aktuellen Prozesses ausführen – Qwen Code gibt in diesem Fall eine Warnung auf stderr aus. Unterdrücke diese mit QWEN_CODE_SUPPRESS_YOLO_WARNING=1, sobald du die Kompromisse geprüft hast.

Standardmäßig wird ein vorgefertigtes qwen-code-sandbox Docker-Image verwendet.

Für projektspezifische Sandbox-Anforderungen kannst du ein benutzerdefiniertes Dockerfile unter .qwen/sandbox.Dockerfile im Stammverzeichnis deines Projekts erstellen. Dieses Dockerfile kann auf dem Basis-Sandbox-Image basieren:

FROM qwen-code-sandbox # Add your custom dependencies or configurations here # For example: # RUN apt-get update && apt-get install -y some-package # COPY ./my-config /app/my-config

Wenn .qwen/sandbox.Dockerfile vorhanden ist, kannst du beim Ausführen von Qwen Code die Umgebungsvariable BUILD_SANDBOX verwenden, um das benutzerdefinierte Sandbox-Image automatisch zu bauen:

BUILD_SANDBOX=1 qwen -s

Nutzungsstatistiken

Um uns bei der Verbesserung von Qwen Code zu unterstützen, erfassen wir anonymisierte Nutzungsstatistiken. Diese Daten helfen uns zu verstehen, wie die CLI genutzt wird, häufige Probleme zu identifizieren und neue Funktionen zu priorisieren.

Was wir erfassen:

  • Tool-Aufrufe: Wir protokollieren die Namen der aufgerufenen Tools, ob sie erfolgreich sind oder fehlschlagen, und wie lange ihre Ausführung dauert. Wir erfassen nicht die an die Tools übergebenen Argumente oder die von ihnen zurückgegebenen Daten.
  • API-Anfragen: Wir protokollieren das für jede Anfrage verwendete Modell, die Dauer der Anfrage und ob sie erfolgreich war. Wir erfassen nicht den Inhalt der Prompts oder Antworten.
  • Sitzungsinformationen: Wir erfassen Informationen über die Konfiguration der CLI, wie z. B. die aktivierten Tools und den Genehmigungsmodus.

Was wir NICHT erfassen:

  • Personenbezogene Daten (PII): Wir erfassen keine persönlichen Informationen wie deinen Namen, deine E-Mail-Adresse oder API-Keys.
  • Prompt- und Antwortinhalte: Wir protokollieren nicht den Inhalt deiner Prompts oder die Antworten des Modells.
  • Dateiinhalte: Wir protokollieren nicht den Inhalt von Dateien, die von der CLI gelesen oder geschrieben werden.

So kannst du die Erfassung deaktivieren:

Du kannst die Erfassung von Nutzungsstatistiken jederzeit deaktivieren, indem du die Eigenschaft usageStatisticsEnabled in der Kategorie privacy in deiner settings.json-Datei auf false setzt:

{ "privacy": { "usageStatisticsEnabled": false } }
Note

Wenn Nutzungsstatistiken aktiviert sind, werden Ereignisse an einen Alibaba Cloud RUM-Sammel-Endpunkt gesendet.

Last updated on