Skip to Content
BenutzerhandbuchFunktionenBefehle

Befehle

Dieses Dokument beschreibt alle von Qwen Code unterstützten Befehle und hilft Ihnen, Sitzungen effizient zu verwalten, die Oberfläche anzupassen und das Verhalten zu steuern.

Qwen Code-Befehle werden durch bestimmte Präfixe ausgelöst und fallen in drei Kategorien:

Präfix-TypFunktionsbeschreibungTypischer Anwendungsfall
Slash-Befehle (/)Meta-Steuerung von Qwen Code selbstSitzungen verwalten, Einstellungen ändern, Hilfe erhalten
At-Befehle (@)Lokalen Dateiinhalt schnell in die Konversation einfügenErmöglicht der KI, angegebene Dateien oder Code in Verzeichnissen zu analysieren
Ausrufezeichen-Befehle (!)Direkte Interaktion mit der System-ShellAusführen von Systembefehlen wie git status, ls usw.

1. Slash-Befehle (/)

Slash-Befehle werden verwendet, um Qwen Code-Sitzungen, die Oberfläche und das grundlegende Verhalten zu verwalten.

1.1 Sitzungs- und Projektverwaltung

Diese Befehle helfen Ihnen, Arbeitsfortschritte zu speichern, wiederherzustellen und zusammenzufassen.

BefehlBeschreibungAnwendungsbeispiele
/initAktuelles Verzeichnis analysieren und initiale Kontextdatei erstellen/init
/summaryProjektzusammenfassung basierend auf Konversationsverlauf generieren/summary
/compressChatverlauf durch Zusammenfassung ersetzen, um Tokens zu sparen/compress
/compress-fastSchnelle Komprimierung ohne KI – entfernt alte Tool-Ausgaben und Denkteile/compress-fast
/resumeEine vorherige Konversationssitzung fortsetzen/resume
/recapJetzt ein einzeiliges Sitzungs-Recap erstellen/recap
/restoreProjektdateien auf den Prüfpunkt vor der Ausführung eines Tool-Aufrufs zurücksetzen/restore (Liste) oder /restore <ID>
/deleteEine vorherige Sitzung löschen/delete
/branchDie aktuelle Konversation in eine neue Sitzung abzweigen/branch
/forkEinen Hintergrundagenten erzeugen, der die gesamte Konversation erbt/fork <Anweisung>
/rewindKonversation zu einer vorherigen Runde zurückspulen/rewind oder /rollback
/exportSitzungsverlauf in Datei exportieren/export html, /export md, /export json, /export jsonl
/renameAktuelle Sitzung umbenennen oder markieren/rename My Feature oder /tag

1.2 Oberflächen- und Arbeitsbereichssteuerung

Befehle zum Anpassen des Oberflächenerscheinungsbilds und der Arbeitsumgebung.

BefehlBeschreibungAnwendungsbeispiele
/clearTerminalbildschirminhalt löschen/clear (Shortcut: Strg+L)
/contextAufschlüsselung der Context-Window-Nutzung anzeigen/context
detailAufschlüsselung der Context-Nutzung pro Element anzeigen/context detail
/historyEinstellungen zur Anzeige des Verlaufs und Sichtbarkeit steuern/history collapse-on-resume, /history expand-on-resume, /history expand-now
/diffEinen interaktiven Diff-Viewer öffnen, der unbestätigte Änderungen und rundenbezogene Diffs anzeigt. Verwenden Sie ←/→, um zwischen aktuellem Git-Diff und einzelnen Konversationsrunden zu wechseln, ↑/↓ zum Durchblättern von Dateien/diff
/themeVisuelles Theme von Qwen Code ändern/theme
/vimVim-Bearbeitungsmodus im Eingabebereich ein-/ausschalten/vim
/voiceSprachdiktateingabe umschalten/voice, /voice status
/directoryArbeitsbereich mit Unterstützung für mehrere Verzeichnisse verwalten/dir add ./src,./tests
/cdDiese Sitzung in ein neues Arbeitsverzeichnis verschieben/cd ../other-project
/editorDialog zum Auswählen eines unterstützten Editors öffnen/editor
/statuslineInteraktiven Dialog für Statuszeilen-Voreinstellungen öffnen/statusline
/statusline <text>Eine Statuszeile im Befehlsmodus über den Agenten generieren/statusline show model and git branch
/terminal-setupTerminal-Tastenkombinationen für mehrzeilige Eingabe konfigurieren/terminal-setup

1.3 Spracheinstellungen

Befehle speziell zur Steuerung der Oberflächen- und Ausgabesprache.

BefehlBeschreibungBeispiele
/languageSpracheinstellungen anzeigen oder ändern/language
ui [Sprache]UI-Oberflächensprache festlegen/language ui de-DE
output [Sprache]LLM-Ausgabesprache festlegen/language output Deutsch
  • Verfügbare integrierte UI-Sprachen: zh-CN (Vereinfachtes Chinesisch), en-US (Englisch), ru-RU (Russisch), de-DE (Deutsch), ja-JP (Japanisch), pt-BR (Portugiesisch – Brasilien), fr-FR (Französisch), ca-ES (Katalanisch)
  • Beispiele für Ausgabesprachen: Chinesisch, Englisch, Japanisch usw.

1.4 Tool- und Modellverwaltung

Befehle zur Verwaltung von KI-Tools und -Modellen.

BefehlBeschreibungBeispiele
/mcpKonfigurierte MCP-Server und -Tools auflisten/mcp, /mcp desc
/import-configMCP-Server aus Claude-Konfigurationen importieren/import-config claude-code, /import-config claude-desktop --scope project
/toolsDerzeit verfügbare Tool-Liste anzeigen/tools, /tools desc
/skillsVerfügbare Skills auflisten und ausführen/skills, /skills <Name>
/planIn den Planmodus wechseln oder Planmodus verlassen/plan, /plan <Aufgabe>, /plan exit
/approval-modeGenehmigungsmodus für die Tool-Nutzung ändern/approval-mode <Modus (auto-edit)> --project
planNur Analyse, keine AusführungSichere Überprüfung
defaultGenehmigung für Bearbeitungen erforderlichTägliche Nutzung
auto-editBearbeitungen automatisch genehmigenVertrauenswürdige Umgebung
autoKlassifizierungsgesteuerte GenehmigungAutonome Sitzungen mit Sicherheitsvorkehrungen
yoloAlle automatisch genehmigenSchnelles Prototyping
/modelIn aktueller Sitzung verwendetes Modell wechseln/model, /model <Modell-ID> (sofortiger Wechsel)
/model --fastEin leichteres Modell für Eingabehilfe-Vorschläge/model --fast qwen3-coder-flash
/model --voiceDas für Spracherkennung verwendete Modell setzen/model --voice <Modell-ID>
/extensionsAlle aktiven Erweiterungen in der aktuellen Sitzung auflisten/extensions
/memoryDen Memory-Manager-Dialog öffnen/memory
/rememberEinen dauerhaften Memory speichern/remember Bevorzuge knappe Antworten
/forgetPassende Einträge aus dem automatischen Memory entfernen/forget <Suchbegriff>
/dreamAutomatische Memory-Konsolidierung manuell ausführen/dream
/hooksQwen Code Hooks verwalten/hooks, /hooks list
/permissionsBerechtigungsregeln verwalten/permissions
/agentsUnteragenten verwalten/agents manage, /agents create
/arenaArena-Sitzungen verwalten/arena start, /arena status
/goalEin Ziel setzen – weiterarbeiten, bis Bedingung erfüllt ist/goal <Bedingung>, /goal clear
/tasksHintergrundaufgaben auflisten/tasks
/workflowsWorkflow-Ausführungen einsehen/workflows, /workflows <Ausführungs-ID>
/lspLSP-Serverstatus anzeigen/lsp
/trustOrdnervertrauenseinstellungen verwalten/trust

1.5 Integrierte Fähigkeiten

Diese Befehle rufen gebündelte Fähigkeiten auf, die spezialisierte Arbeitsabläufe bereitstellen.

BefehlBeschreibungBeispiele zur Verwendung
/reviewCode-Änderungen mit 5 parallelen Agents + deterministischer Analyse prüfen/review, /review 123, /review 123 --comment
/loopEine Aufforderung in einem wiederkehrenden Zeitplan ausführen/loop 5m check the build
/simplifyKürzliche Änderungen prüfen und sichere Bereinigungen direkt anwenden/simplify, /simplify focus on duplication
/qc-helperFragen zur Verwendung und Konfiguration von Qwen Code beantworten/qc-helper how do I configure MCP?

Siehe Code Review für die vollständige /review-Dokumentation.

1.6 Seitenfrage (/btw)

Der Befehl /btw ermöglicht es Ihnen, schnelle Nebenfragen zu stellen, ohne den Hauptgesprächsfluss zu unterbrechen oder zu beeinflussen.

BefehlBeschreibung
/btw <Ihre Frage>Eine schnelle Nebenfrage stellen
?btw <Ihre Frage>Alternative Syntax für Nebenfragen

So funktioniert es:

  • Die Nebenfrage wird als separater API-Aufruf mit dem aktuellen Gesprächskontext (bis zu den letzten 20 Nachrichten) gesendet
  • Die Antwort wird oberhalb des Composer angezeigt — Sie können während des Wartens weiter tippen
  • Das Hauptgespräch wird nicht blockiert — es läuft unabhängig weiter
  • Die Antwort der Nebenfrage wird nicht Teil des Hauptgesprächsverlaufs
  • Antworten werden mit vollständiger Markdown-Unterstützung dargestellt (Codeblöcke, Listen, Tabellen etc.)

Tastaturkürzel (Interaktiver Modus):

KürzelAktion
EscapeAbbrechen (während des Ladens) oder schließen (nach Fertigstellung)
Space oder EnterAntwort schließen (wenn das Eingabefeld leer ist)
Ctrl+C oder Ctrl+DEine laufende Nebenfrage abbrechen

Beispiel:

(Während das Hauptgespräch über das Refactoring von Code läuft) > /btw What's the difference between let and var in JavaScript? ╭──────────────────────────────────────────╮ │ /btw What's the difference between let │ │ and var in JavaScript? │ │ │ │ + Antwort wird... │ │ Drücken Sie Escape, Ctrl+C oder Ctrl+D zum │ │ Abbrechen │ ╰──────────────────────────────────────────╯ > (Composer bleibt aktiv — weiter tippen) (Nachdem die Antwort eingetroffen ist) ╭──────────────────────────────────────────╮ │ /btw What's the difference between let │ │ and var in JavaScript? │ │ │ │ `let` ist blockbezogen, während `var` │ │ funktionsbezogen ist. `let` wurde │ │ in ES6 eingeführt und hoisted nicht auf │ │ dieselbe Weise. │ │ │ │ Drücken Sie Space, Enter oder Escape zum │ │ Schließen │ ╰──────────────────────────────────────────╯ > (Composer noch aktiv)

Unterstützte Ausführungsmodi:

ModusVerhalten
InteraktivWird oberhalb des Composer mit Markdown-Rendering angezeigt
Nicht interaktivGibt Text-Ergebnis zurück: btw> frage\nantwort
ACP (Agent Protocol)Gibt stream_messages asynchronen Generator zurück
Tip

Verwenden Sie /btw, wenn Sie eine schnelle Antwort benötigen, ohne Ihre Hauptaufgabe zu unterbrechen. Dies ist besonders nützlich, um Konzepte zu klären, Fakten zu überprüfen oder schnelle Erklärungen zu erhalten, während Sie sich auf Ihren primären Arbeitsablauf konzentrieren.

1.7 Sitzungszusammenfassung (/recap)

Der Befehl /recap erstellt eine kurze Zusammenfassung „Wo Sie aufgehört haben” der aktuellen Sitzung, damit Sie ein altes Gespräch wieder aufnehmen können, ohne durch Seiten voller Verlauf scrollen zu müssen.

BefehlBeschreibung
/recapEinzeilige Sitzungszusammenfassung erstellen und anzeigen

So funktioniert es:

  • Verwendet das konfigurierte schnelle Modell (fastModel-Einstellung), falls verfügbar, andernfalls das Hauptsitzungsmodell. Ein kleines, günstiges Modell reicht für eine Zusammenfassung aus.
  • Der aktuelle Gesprächsverlauf (bis zu 30 Nachrichten, nur Text — Tool-Aufrufe und Tool-Antworten werden herausgefiltert) wird zusammen mit einem knappen System-Prompt an das Modell gesendet.
  • Die Zusammenfassung wird in gedämpfter Farbe mit einem -Präfix dargestellt, sodass sie sich von echten Assistentenantworten abhebt.
  • Verweigert mit einem Inline-Fehler, wenn eine Modellrunde läuft oder ein anderer Befehl verarbeitet wird. Wenn kein brauchbarer Gesprächsverlauf vorhanden ist oder die zugrundeliegende Generierung fehlschlägt, zeigt /recap stattdessen eine kurze Info-Nachricht an — der manuelle Befehl antwortet immer mit etwas. Automatischer Trigger bei Rückkehr aus Abwesenheit:

Wenn das Terminal für 5+ Minuten in den Hintergrund gerückt ist und wieder fokussiert wird, wird automatisch eine Zusammenfassung erstellt und angezeigt (nur wenn keine Modellantwort läuft; sonst wird gewartet, bis die aktuelle Runde beendet ist, und dann ausgelöst). Anders als der manuelle Befehl ist der automatische Trigger bei Fehlern völlig still: Wenn die Generierung fehlschlägt oder es nichts zusammenzufassen gibt, wird keine Nachricht zum Verlauf hinzugefügt. Gesteuert durch die Einstellung general.showSessionRecap (Standard: false); der manuelle Befehl /recap funktioniert immer unabhängig von dieser Einstellung.

Beispiel:

> /recap ❯ Refactoring loopDetectionService.ts to address long-session OOM caused by unbounded streamContentHistory and contentStats. The next step is to implement option B (LRU sliding window with FNV-1a) pending confirmation.
Tip

Konfiguriere ein schnelles Modell via /model --fast <model> (z.B. qwen3-coder-flash), um /recap schnell und günstig zu machen. Setze general.showSessionRecap auf true, um den automatischen Trigger zu aktivieren; der manuelle Befehl /recap funktioniert immer unabhängig von dieser Einstellung.

1.8 Diff Viewer (/diff)

Der Befehl /diff öffnet einen interaktiven Diff-Viewer, der uncommittete Änderungen und Änderungen pro Runde anzeigt. Verwende ←/→ zum Wechseln zwischen dem aktuellen Git-Diff und einzelnen Konversationsrunden, ↑/↓ zum Durchblättern der Dateien und Enter zum Anzeigen von Inline-Diffs.

Funktionsweise:

Im interaktiven Modus öffnet /diff einen Dialog mit einer Quellenauswahl oben:

  • Current — Arbeitsbaum vs HEAD (git diff HEAD). Zeigt alle uncommitteten Änderungen an, einschließlich gestagter, ungestagter und nicht verfolgter Dateien.
  • T1, T2, T3, … — Änderungen pro Runde, ein Tab pro Modellrunde, die Dateien geändert hat. Die letzten Runden erscheinen zuerst. Jeder Tab zeigt eine Vorschau des ursprünglichen Prompts als Kontext.

Die Dateiliste zeigt dateispezifische Statistiken (hinzugefügte/entfernte Zeilen) mit Tags für besondere Status (new, deleted, untracked, binary, truncated, oversized). Drücke Enter auf einer Datei, um deren Inline-Diff mit syntax-hervorgehobenen Hunks anzuzeigen.

Änderungen pro Runde erfordern, dass Datei-Checkpointing aktiviert ist (standardmäßig im interaktiven Modus eingeschaltet). Wenn Datei-Checkpointing deaktiviert ist, ist nur die Quelle „Current“ verfügbar.

Tastaturkürzel:

TasteAktion
/ Zwischen Quellen wechseln (Current / T1 / T2…)
/ Dateiliste navigieren
j / kDateiliste navigieren (vim-Stil)
EnterInline-Diff für ausgewählte Datei anzeigen
/ EscZurück zur Dateiliste aus der Inline-Diff-Ansicht
EscDialog schließen

Beispiel:

┌ /diff · Turn 3 "refactor the auth middleware" ──── 3 files +45 -12 ┐ │ │ │ ◀ Current · T3 · T2 · T1 ▶ │ │ │ │ › src/utils/parser.ts +30 -8 │ │ src/utils/parser.test.ts +12 -2 │ │ README.md +3 -2 │ │ │ │ ←/→ source · ↑/↓ file · Enter view · Esc close │ └─────────────────────────────────────────────────────────────────────┘

Nicht-interaktiver Modus:

In headless (--prompt) oder nicht-interaktiven Kontexten gibt /diff eine Klartext-Zusammenfassung des Arbeitsbaums gegenüber HEAD aus. Die Navigation pro Runde ist nicht verfügbar.

3 files changed, +45 / -12 +30 -8 src/utils/parser.ts +12 -2 src/utils/parser.test.ts +3 -2 README.md

1.9 Informationen, Einstellungen und Hilfe

Befehle zum Abrufen von Informationen und zur Vornahme von Systemeinstellungen.

BefehlBeschreibungAnwendungsbeispiele
/helpHilfeinformationen für verfügbare Befehle anzeigen/help oder /?
/statusVersionsinformationen anzeigen/status oder /about
/status pathsAktuelle Sitzungsdatei- und Log-Pfade anzeigen/status paths
/statsInteraktives Nutzungsstatistik-Dashboard öffnen mit drei Tabs: Session (Live-Metriken), Activity (Heatmap, Token-Trend, Projekt-Ranking) und Efficiency (Cache-Rate, Tool-Rangliste, Modellvergleich). Verwende Tab zum Wechseln der Tabs, r zum Durchlaufen der Zeiträume, ←→ zum Blättern durch Monate, Esc zum Schließen./stats
/stats modelPro-Modell-Token-Aufschlüsselung und geschätzte Kosten anzeigen/stats model
/stats toolsAnzahl der Tool-Aufrufe pro Tool anzeigen/stats tools
/stats skillsAnzahl der Skill-Aufrufe pro Skill für die aktive Live-Sitzung anzeigen. Dies beinhaltet keine sitzungsübergreifende tägliche/monatliche Aktivität./stats skills
/settingsEinstellungseditor öffnen/settings
/authAuthentifizierungsmethode ändern/auth
/doctorInstallations- und Umgebungsdiagnose ausführen/doctor, /doctor memory
/docsVollständige Qwen Code-Dokumentation im Browser öffnen/docs
/ideIDE-Integration verwalten/ide status, /ide install
/insightProgrammiereinblicke aus dem Chatverlauf generieren/insight
/setup-githubGitHub Actions einrichten/setup-github
/bugProblem zu Qwen Code einreichen/bug Button click unresponsive
/copyKI-Ausgabe in die Zwischenablage kopieren (/copy N = n.-letzte KI-Nachricht)/copy oder /copy 2
/quitQwen Code sofort beenden/quit oder /exit

1.10 Häufige Tastenkürzel

TastenkürzelFunktionHinweis
Ctrl/cmd+LBildschirm leerenEntspricht /clear
Ctrl/cmd+TTool-Beschreibung umschaltenMCP-Toolverwaltung
Ctrl/cmd+C×2Bestätigung zum BeendenSicherer Beendigungsmechanismus
Ctrl/cmd+ZEingabe rückgängig machenTextbearbeitung
Ctrl/cmd+Shift+ZEingabe wiederherstellenTextbearbeitung

1.11 Authentifizierungsbefehle

Verwenden Sie /auth in einer Qwen Code-Sitzung, um die Authentifizierung zu konfigurieren. Verwenden Sie /doctor, um den aktuellen Authentifizierungs- und Umgebungsstatus zu überprüfen.

BefehlBeschreibung
/authAuthentifizierung interaktiv konfigurieren
/doctorAuthentifizierungs- und Umgebungsprüfungen anzeigen
Note

Der eigenständige CLI-Befehl qwen auth wurde entfernt. Alte Aufrufe wie qwen auth status geben eine Entfernungsmeldung mit Migrationshinweisen aus. Weitere Informationen finden Sie auf der Seite Authentifizierung.

2. @-Befehle (Dateien einfügen)

@-Befehle werden verwendet, um schnell lokale Datei- oder Verzeichnisinhalte in die Konversation einzufügen.

BefehlsformatBeschreibungBeispiele
@<Dateipfad>Inhalt der angegebenen Datei einfügen@src/main.py Bitte erklären Sie diesen Code
@<Verzeichnispfad>Alle Textdateien im Verzeichnis rekursiv einlesen@docs/ Fassen Sie den Inhalt dieses Dokuments zusammen
Eigenständiges @Wird verwendet, wenn das @-Symbol selbst besprochen wird@ Wofür wird dieses Symbol in der Programmierung verwendet?

Hinweis: Leerzeichen in Pfaden müssen mit Backslash maskiert werden (z. B. @My\ Documents/file.txt).

3. Ausrufezeichen-Befehle (!) – Shell-Befehlsausführung

Ausrufezeichen-Befehle ermöglichen die direkte Ausführung von Systembefehlen in Qwen Code.

BefehlsformatBeschreibungBeispiele
!<Shell-Befehl>Befehl in einer Sub-Shell ausführen!ls -la, !git status
Eigenständiges !In den Shell-Modus wechseln; jede Eingabe wird direkt als Shell-Befehl ausgeführt! (Eingabe) → Befehl eingeben → ! (beenden)

Umgebungsvariablen: Über ! ausgeführte Befehle setzen die Umgebungsvariable QWEN_CODE=1.

4. Benutzerdefinierte Befehle

Speichern Sie häufig verwendete Prompts als Kurzbefehle, um die Arbeitseffizienz zu verbessern und Konsistenz zu gewährleisten.

Note

Benutzerdefinierte Befehle verwenden jetzt das Markdown-Format mit optionalem YAML-Frontmatter. Das TOML-Format ist veraltet, wird aber aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Wenn TOML-Dateien erkannt werden, wird eine automatische Migrationsaufforderung angezeigt.

Kurzer Überblick

FunktionBeschreibungVorteilePrioritätAnwendungsszenarien
NamespaceUnterverzeichnis erstellt durch Doppelpunkt getrennte BefehleBessere Befehlsorganisation
Globale Befehle~/.qwen/commands/In allen Projekten verfügbarNiedrigPersönliche häufig verwendete Befehle, projektübergreifende Nutzung
Projektbefehle<Projektstammverzeichnis>/.qwen/commands/Projektspezifisch, versionierbarHochTeilen im Team, projektspezifische Befehle

Prioritätsregeln: Projektbefehle > Benutzerbefehle (Projektbefehl wird verwendet, wenn Namen gleich sind)

Befehlsbenennungsregeln

Zuordnungstabelle Dateipfad zu Befehlsname

DateispeicherortGenerierter BefehlBeispielaufruf
~/.qwen/commands/test.md/test/test Parameter
<Projekt>/.qwen/commands/git/commit.md/git:commit/git:commit Message

Benennungsregeln: Pfadseparator (/ oder \) wird in Doppelpunkt (:) umgewandelt.

Markdown-Dateiformatspezifikation (empfohlen)

Benutzerdefinierte Befehle verwenden Markdown-Dateien mit optionalem YAML-Frontmatter:

--- description: Optionale Beschreibung (wird in /help angezeigt) --- Ihr Prompt-Inhalt hier. Verwenden Sie {{args}} für die Parametereinfügung.
FeldErforderlichBeschreibungBeispiel
descriptionOptionalBefehlsbeschreibung (wird in /help angezeigt)description: Code-Analyse-Tool
Prompt-TextErforderlichAn das Modell gesendeter Prompt-InhaltBeliebiger Markdown-Inhalt nach dem Frontmatter

TOML-Dateiformat (veraltet)

Warning

Veraltet: Das TOML-Format wird weiterhin unterstützt, aber in einer zukünftigen Version entfernt. Bitte migrieren Sie zum Markdown-Format.

FeldErforderlichBeschreibungBeispiel
promptErforderlichAn das Modell gesendeter Prompt-Inhaltprompt = "Bitte analysieren Sie Code: {{args}}"
descriptionOptionalBefehlsbeschreibung (angezeigt in /help)description = "Code-Analyse-Tool"

Parameterverarbeitungsmechanismus

VerarbeitungsmethodeSyntaxAnwendungsszenarienSicherheitsfunktionen
Kontextbewusste Injektion{{args}}Benötigt präzise ParametersteuerungAutomatisches Shell-Escaping
Standard-ParameterverarbeitungKeine spezielle MarkierungEinfache Befehle, Parameter anhängenWie angegeben anhängen
Shell-Befehlsinjektion!{command}Benötigt dynamische InhalteAusführungsbestätigung vorab erforderlich

1. Kontextbewusste Injektion ({{args}})

SzenarioTOML-KonfigurationAufrufmethodeTatsächliche Wirkung
Rohe Injektionprompt = "Beheben: {{args}}"/beheben "Button-Problem"Beheben: "Button-Problem"
In Shell-Befehlprompt = "Suchen: !{grep {{args}} .}"/suchen "hello"Führe grep "hello" ." aus

2. Standard-Parameterverarbeitung

EingabesituationVerarbeitungsmethodeBeispiel
Mit ParameternAn das Ende des Prompts anhängen (durch zwei Zeilenumbrüche getrennt)/befehl parameter → Ursprünglicher Prompt + Parameter
Keine ParameterPrompt wie gesendet/befehl → Ursprünglicher Prompt

🚀 Dynamische Injektion

InjektionstypSyntaxVerarbeitungsreihenfolgeZweck
Dateiinhalt@{dateipfad}Zuerst verarbeitetStatische Referenzdateien injizieren
Shell-Befehle!{befehl}In der Mitte verarbeitetDynamische Ausführungsergebnisse injizieren
Parameterersetzung{{args}}Zuletzt verarbeitetBenutzerparameter injizieren

3. Shell-Befehlsausführung (!{...})

VorgangBenutzerinteraktion
1. Befehl und Parameter parsen-
2. Automatisches Shell-Escaping-
3. Bestätigungsdialog anzeigen✅ Benutzerbestätigung
4. Befehl ausführen-
5. Ausgabe in Prompt injizieren-

Beispiel: Generierung von Git-Commit-Nachrichten

--- description: Generiere Commit-Nachricht basierend auf gestagten Änderungen --- Bitte generieren Sie eine Commit-Nachricht basierend auf folgendem Diff: ```diff !{git diff --staged} ```

4. Dateiinhaltsinjektion (@{...})

DateitypUnterstützungsstatusVerarbeitungsmethode
Textdateien✅ Vollständig unterstütztInhalt direkt einfügen
Bilder/PDFs✅ Multimodal unterstütztKodieren und einfügen
Binärdateien⚠️ Eingeschränkt unterstütztKann übersprungen oder abgeschnitten werden
Verzeichnis✅ Rekursive Injektion.gitignore-Regeln befolgen

Beispiel: Code-Review-Befehl

--- description: Code-Review basierend auf Best Practices --- Überprüfen Sie {{args}}, Referenzstandards: @{docs/code-standards.md}

Praktisches Erstellungsbeispiel

Schritte zur Erstellung des Befehls “Reine Funktion umgestalten”

VorgangBefehl/Code
1. Verzeichnisstruktur erstellenmkdir -p ~/.qwen/commands/refactor
2. Befehlsdatei erstellentouch ~/.qwen/commands/refactor/pure.md
3. Befehlsinhalt bearbeitenSiehe vollständigen Code unten.
4. Befehl testen@file.js/refactor:pure
--- description: Code zu reiner Funktion umgestalten --- Bitte analysieren Sie den Code im aktuellen Kontext und gestalten Sie ihn zu einer reinen Funktion um. Anforderungen: 1. Refaktorisierten Code bereitstellen 2. Wesentliche Änderungen und Umsetzung der reinen Funktion erklären 3. Funktion unverändert lassen

Zusammenfassung Best Practices für benutzerdefinierte Befehle

Tabelle mit Empfehlungen zum Befehlsdesign

Praxis-PunkteEmpfohlener AnsatzZu vermeiden
BefehlsbenennungNamespaces zur Organisation nutzenZu allgemeine Namen vermeiden
Parameterverarbeitung{{args}} deutlich verwendenAuf Standard-Anhängen verlassen (leicht zu verwechseln)
FehlerbehandlungShell-Fehlerausgabe nutzenAusführungsfehler ignorieren
DateiorganisationFunktionale OrdnerstrukturAlle Befehle im Wurzelverzeichnis
BeschreibungsfeldKlare Beschreibung angebenAuf automatisch generierte Beschreibung verlassen

Tabelle zur Erinnerung an Sicherheitsfunktionen

SicherheitsmechanismusSchutzwirkungBenutzeraktion
Shell-EscapingVerhindert BefehlsinjektionAutomatische Verarbeitung
AusführungsbestätigungVermeidet versehentliche AusführungDialogbestätigung
FehlerberichterstattungHilft bei der DiagnoseFehlerinformationen anzeigen

5. CLI-Unterbefehle

Diese Befehle werden in der Shell als qwen <unterbefehl> ausgeführt, bevor eine interaktive Sitzung gestartet wird.

Sitzungsverwaltung

BefehlBeschreibungAnwendungsbeispiele
qwen sessions listListet aktuelle Chat-Sitzungen aufqwen sessions list, qwen sessions list --json --limit 50

qwen sessions list

Listet Ihre letzten Qwen Code-Sitzungen mit Metadaten auf.

Flags:

FlagTypStandardBeschreibung
--jsonbooleschfalseAusgabe als JSON Lines (ein JSON-Objekt pro Zeile)
--limitZahl20Maximale Anzahl der anzuzeigenden Sitzungen

Menschenlesbare Ausgabe (Standard):

Eine Tabelle mit den Spalten: SITZUNGS-ID, GESTARTET (UTC-Zeitstempel), TITEL, BRANCH, PROMPT.

JSON-Ausgabe (--json):

Gibt JSON Lines auf stdout aus. Jede Zeile ist ein JSON-Objekt mit den Feldern:

sessionId, startTime, mtime, prompt, gitBranch, customTitle, titleSource, filePath, cwd

Der Hinweis „has more sessions“ wird via stderr ausgegeben, sodass das Piping an jq sicher bleibt.

Beispiele:

# Letzte 20 Sitzungen anzeigen (Standard) qwen sessions list # Letzte 50 Sitzungen anzeigen qwen sessions list --limit 50 # Ausgabe als JSON für Skripte qwen sessions list --json | jq .
Last updated on