Skip to Content
BlogQwen Code Weekly: /loop Autonomer Modus, Desktop-Spracheingabe, Settings-Tab-Ansicht
Zurück zum Blog

Qwen Code Weekly: /loop Autonomer Modus, Desktop-Spracheingabe, Settings-Tab-Ansicht

Qwen Team
2026-07-02

Qwen Code hat diese Woche v0.19.4 veröffentlicht — über 80 gemergte PRs in drei Richtungen:

/loop läuft auch ohne Sie weiter. Ein nacktes /loop startet den autonomen Modus — der Agent treibt bereits etablierte Arbeit voran, während Sie weg sind, erfindet keine neuen Aufgaben und führt keine irreversiblen Aktionen aus. Mit einer .qwen/loop.md-Aufgabendatei liest der Loop bei jedem Tick die bearbeitbare Liste neu; wird die Datei gelöscht, sendet der Loop einen No-Op-Tick und bleibt am Leben. Claude Code hat letzte Woche einen Einstiegsleitfaden für Agent-Loops  veröffentlicht, der beschreibt, wie ein Agent einen festen Plan wiederholt ausführt — der autonome Modus von /loop macht etwas Ähnliches, aber mit einer zusätzlichen Ebene: die Aufgabenliste kann jederzeit bearbeitet werden, und der Loop erkennt Änderungen automatisch.

Desktop-Spracheingabe ist da. CLI und Web Shell hatten Spracheingabe bereits, aber der Desktop-Client hatte diese Funktion bisher nicht. Diese Version schließt die letzte Lücke — alle drei Oberflächen bieten jetzt ein einheitliches Erlebnis.

Terminal-Interaktion schließt auf. /settings verwandelt sich von einer flachen Liste in eine Tab-Ansicht — Suche, Status und Statistiken auf einem Bildschirm; im Virtualized-History-Modus unterstützen Menüs, Vervollständigungen und Eingabefeld jetzt Mausklicks und Hover.

✨ Neue Funktionen

/loop Autonomer Modus + loop.md-Aufgabendatei

/loop unterstützt jetzt zwei neue Modi:

Autonomer Modus: Ein nacktes /loop (ohne Prompt, ohne Intervall) zeigt nicht mehr die Usage-Anleitung, sondern startet einen autonomen Loop mit selbstgewählten Schritten. Der Agent treibt bereits etablierte Arbeit voran, während Sie weg sind — verwaltet laufende PRs, setzt unterbrochene Arbeit fort, hält Versprechen ein — aber nur das, was im Transcript bereits etabliert ist. Er erfindet keine neuen Aufgaben und führt ohne ausdrückliche Genehmigung keine irreversiblen Aktionen (push/delete/send) aus. Wenn es still wird, stoppt er. Das autonome Preamble wird einmalig gesendet, danach folgt pro Tick nur eine kurze Erinnerung, um die Token-Kosten niedrig zu halten.

loop.md-Aufgabendatei: Erstellen Sie .qwen/loop.md im Projekt-Root oder unter ~/.qwen/ und setzen Sie den Wakeup/Cron-Prompt auf einen Sentinel (<<loop.md-dynamic>> oder <<loop.md>>). Der Loop liest die Datei bei jedem Fire neu. Beim ersten Mal wird der volle Text geliefert, danach nur eine kurze Erinnerung, wenn sich nichts geändert hat. Wird die Datei bearbeitet, wird der volle Text erneut gesendet. Verschwindet die Datei, sendet der Loop einen No-Op-Tick (der Agent tut nichts, re-armed nur den Loop). Wird loop.md wiederhergestellt, erkennt der nächste Tick die Änderung automatisch und liefert den vollen Text erneut.

Channel-Loops: /loop ist nicht auf das Terminal beschränkt — auch DingTalk- und Feishu-Channels können Loops ausführen. Erstellen Sie in einer Gruppe einen zeitgesteuerten Loop mit /loop add "0 9 * * 1-5" CI-Status prüfen, listen Sie alle Loops im Channel mit /loop list, prüfen Sie Laufanzahl und letzte Ergebnisse mit /loop inspect <id>, und stoppen Sie einen Loop mit /loop cancel <id>. Loops werden über den Channel Session Router ausgeführt, warten bis der aktuelle aktive Turn abgeschlossen ist, und Ergebnisse werden über den Channel zurückgeschrieben. Einmalige Loops werden nach Erfolg oder Fehlschlag automatisch deaktiviert.

Was Sie damit tun können:

  • Nacktes /loop lässt den Agenten Arbeit vorantreiben, während Sie weg sind
  • Mit .qwen/loop.md eine persistente, bearbeitbare Aufgabenliste pflegen, ohne jeden Tick neu zu formulieren
  • Nach dem Löschen von loop.md sendet der Loop No-Op-Ticks und bleibt am Leben; nach dem Wiederherstellen nahtlos weiter
  • In DingTalk-/Feishu-Gruppen mit /loop add zeitgesteuerte Loops einrichten, die regelmäßig Arbeit vorantreiben

Siehe PR #5890 , #5991 , #6073 

Desktop-Spracheingabe: Alle drei Oberflächen vereint

Spracheingabe war in CLI und Web Shell bereits verfügbar, aber auf dem Desktop fehlte sie — wer Sprache konfiguriert hatte, verlor diese Fähigkeit beim Wechsel zur Desktop-App. Diese Version schließt die letzte Lücke.

Die Composer-Toolbar hat jetzt einen Mikrofon-Button; während der Aufnahme verwandelt sich die Toolbar in eine Aufnahmeleiste (punktierte Führungslinie → Live-Wellenform → Timer). Nach dem Stoppen wird das Transkriptionsergebnis zur Überprüfung ins Eingabefeld eingefügt. Die Transkription läuft serverseitig und nutzt die bestehende CLI-Sprach-Pipeline (Batch qwen3-asr-flash und Realtime *-realtime Modelle) — Provider-Credentials gelangen nicht in den Renderer. Sprache kann in Settings → Input und im Composer-Modell-Dropdown ein-/ausgeschaltet und das Modell ausgewählt werden.

Was Sie damit tun können:

  • Mikrofon anklicken und sprechen — Live-Wellenform und Timer sehen
  • Ein Realtime-Modell (z.B. qwen3-asr-flash-realtime) wählen und Interim-Text schon während des Sprechens sehen
  • Auf dem Tablet oder bei Multi-Monitor-Setups freihändig eingeben

Siehe PR #5856 

So geht’s:

  1. Repository klonen:
git clone https://github.com/QwenLM/qwen-code.git
  1. Ins Verzeichnis wechseln:
cd qwen-code/packages/desktop
  1. Abhängigkeiten installieren und Dev-Modus starten:
bun install && bun run dev

Mobile Sidebar Drawer + qwen serve Verbesserungen

Bisher war beim Zugriff auf qwen serve über den mobilen Browser die Sidebar (Session-Liste, Suche, neue Session) unterhalb von 760px per display: none komplett versteckt — es gab keine Möglichkeit, die Session zu wechseln. Jetzt ersetzt ein Overlay-Drawer das einfache Ausblenden: Im Header des Chat-Panels erscheint ein Menü-Button, und nach dem Klick gleitet die Sidebar von links herein, mit einer halbtransparenten Überlagerung. Session auswählen, neue Session erstellen oder auf die Überlagerung klicken schließt den Drawer. Das Desktop-Layout bleibt völlig unberührt.

Dahinter steht eine Reihe von Verbesserungen, die qwen serve von „brauchbar” zu „komfortabel” heben:

  • Verzögerte Session-Erstellung (#6066 ): Sessions werden erst beim ersten Prompt erstellt, reduziert Overhead durch leere Sessions, Web Shell startet schneller
  • Workspace Remember (#5884 ): Der Serve-Modus merkt sich den Workspace, kein erneutes Angeben nach dem Neustart nötig
  • Session Archive (#6058 ): Der Daemon unterstützt Session-Archivierung, langfristige Sessions können verwaltet werden

Was Sie damit tun können:

  • Mit dem mobilen Browser auf qwen serve zugreifen und per Menü-Button zwischen Sessions wechseln
  • Beim Wechseln zwischen Projekten merkt sich Serve automatisch den Workspace
  • Langfristige Sessions archivieren statt löschen

Siehe PR #6003 

BeschreibungSidebar eingeklapptSidebar ausgeklappt
Test-Screenshot

TUI Mausklick und Hover

Die CLI unterstützte im Virtualized-History-Modus bisher nur Mausrad und Scrollbar, keine Zeiger-Interaktion. Jetzt sind bei aktiviertem Virtualized History (ui.useTerminalBuffer) drei Interaktionstypen verfügbar:

  • Auswahlmenüs und Dialoge (Berechtigungsbestätigung, /model, /config, Themes usw.): Hover hebt die Zeile unter dem Zeiger hervor, Klick wählt aus
  • /-Befehl- und @-Dateivorschläge: Hover hebt Vorschlagseinträge hervor, Klick akzeptiert
  • Eingabefeld: Linksklick positioniert den Textcursor (unterstützt mehrzeilige Umbrüche, Scroll-Offsets und Wide-Characters)

Was Sie damit tun können:

  • Im /model-Dialog ein Modell direkt mit der Maus auswählen, ohne Pfeiltasten
  • Nach Eingabe von / einen Vervollständigungseintrag per Klick auswählen
  • Im mehrzeiligen Eingabefeld den Cursor per Klick neu positionieren

Siehe PR #6011 

Settings-Tab-Dialog: Suche, Status und Statistiken auf einem Bildschirm

/settings wurde von einer flachen Liste in eine Tab-Ansicht umgebaut, angelehnt an das /config-Design von Claude Code. Die obere Tab-Leiste teilt sich in Settings / Status / Stats auf; die Settings-Seite hat eine neue Suchleiste, die Eingaben sofort filtert.

Die Status-Seite zeigt dieselben Systeminformationen wie /status, die Stats-Seite enthält das vollständige /stats-Dashboard (mit Session / Activity / Efficiency als Unter-Tabs). Der Tastaturfokus wandert vertikal zwischen Tab-Leiste → Suchfeld → Settings-Liste, und die Hervorhebung erscheint nur in dem Bereich, der tatsächlich den Fokus hat.

Was Sie damit tun können:

  • /settings öffnen und direkt ein Stichwort eingeben, um Einstellungen zu filtern
  • Mit ←/→ zur Status-Seite wechseln und Laufzeitinformationen ansehen, ohne /status separat aufzurufen
  • Auf der Stats-Seite mit Tab zwischen Session / Activity / Efficiency wechseln; die Efficiency-Tabelle faltet sich automatisch zu „+N more” zusammen, wenn sie die Dialoghöhe überschreitet

Siehe PR #6044 

Chrome-Erweiterung: Direkt im Browser chatten + Seiten bedienen

Die Chrome-Erweiterung wurde mit einer Daemon-Direct-Architektur wiederbelebt — die Erweiterung ist nicht mehr Native-Messaging-Host, sondern ein Thin Client des lokalen qwen serve-Daemons.

Die Sidebar-Chatfunktion verbindet sich über DaemonSessionProvider direkt mit qwen serve (HTTP+SSE, derselbe Pfad wie die Web Shell). Wenn der Daemon nicht erreichbar ist, erscheint der Hinweis „qwen serve starten”. Browser-Tools (Seite lesen, Screenshot, Konsole, Navigation, Klick, Formular ausfüllen) werden als client-seitig gehostete MCP-Server über den Daemon-WebSocket dem Agent zur Verfügung gestellt. Sowohl Chat- als auch Tool-Pfade verzichten komplett auf Native Messaging.

Caution

Hinweis: Der Reverse-Tool-Kanal wird derzeit über die Umgebungsvariable QWEN_SERVE_CLIENT_MCP_OVER_WS aktiviert und ist standardmäßig deaktiviert — dieser Flag muss beim Start von qwen serve explizit gesetzt werden.

Was Sie damit tun können:

  • In der Chrome-Sidebar direkt mit Qwen Code chatten, ohne OS-level Native Messaging Host zu installieren
  • Den Agent die aktuelle Seite lesen lassen, Screenshots machen und Browser-Elemente bedienen
  • Die gemeinsame UI der Web Shell wiederverwenden, einheitliches Erlebnis

Siehe PR #5777 

📊 Weitere neue Funktionen

FunktionPRAuswirkung
/config key=value: Beliebige Einstellungen direkt im Prompt ändern, Tab-Vervollständigung + Rechtschreibkorrektur#5773 Kein Blättern in settings.json mehr
Session-Timeline-Rail: Kompakte Timeline links in der Web Shell, Hover zeigt Turn-Details#6078 Turns in langen Sessions schnell finden
/skills ACP-Ausgabe erweitert: Zeigt description und level#6117 Skills-Liste informativer
Auto-mode vollständige Shell-Klassifizierung: Neue classifyAllShell-Einstellung (default aus)#6040 Defense-in-Depth in Produktion
qwen tag Gruppenchat-Mehrfachidentität: DingTalk-Gruppen-Sharing-Sessions unterstützen [sender]-Sprecher-Markierung#5888 Agent unterscheidet Sprecher im Gruppenchat
Group History Backfill: Gruppenverlauf-Nachrichten zurückfüllen#6074 Neue Mitglieder sehen den Verlauf
Browser-Tab-Favicon: Web Shell Browser-Tab-Icon#6091 Mehrere Tabs leichter unterscheidbar
Chat-UI und Tabellen-Rendering optimiert: Web Shell Chat-Oberfläche poliert#6099 Visuelles Erlebnis verbessert
Queued-Prompt UX: Web Shell Esc-Unterbrechung benutzerfreundlicher#6025 Unterbrechungen flüssiger
Resumable /acp Session Stream: Unterstützt Last-Event-ID für Wiederaufnahme#5852 SDK-Verbindungen stabiler
Glob Patterns in mcp.allowed/excluded: MCP-Whitelist unterstützt Wildcards#6012 MCP-Konfiguration flexibler
Inline Model Override: /model unterstützt einmalige Modell-Überschreibung#6022 Temporärer Modellwechsel einfacher
Leader Approval für Plan-Pflicht-Teammates: Plan-pflichtige Teammates benötigen Leader-Genehmigung#6138 Multi-Agent-Kollaboration sicherer

🔧 Wichtige Fixes

FixPRAuswirkung
MCP-Tool-Idle-Timeout: Server auto-abort nach 5 Minuten ohne Antwort, verhindert hängende Sessions#6061 Lang laufende MCP-Tools warten nicht mehr endlos
Diff-Whitespace-Edit-Anzeige: Rein whitespace-Änderungen zeigen nicht mehr „No changes detected”#6141 Diff-Ausgabe genauer
TUI-Eingabelatenz-Optimierung: Yield an React nach addItem, reduziert Eingabe-Stottern#6059 Tippen flüssiger
Multi-Agent-Scrolling ohne VP-Modus: Transcript ist während Multi-Agent-Ausführung scrollbar#6015 Verlauf in Multi-Agent-Szenarien einsehbar
HTTPS/TLS-Unterstützung: qwen serve erhält --tls-cert und --tls-key Flags#6032 In selbstsignierten Zertifikatsumgebungen nutzbar
Windows-Tilde-Pfade: Unterstützt Windows-Style ~-Pfaderweiterung#6029 Windows-Pfadkompatibilität

👥 Contributors

ContributorBeiträgePR-Links
@qqqys /loop Autonomer Modus + loop.md-Aufgabendatei, Spracheingabe, qwen tag Gruppenchat-Mehrfachidentität, Group History Backfill, Channel Loop Support#5890 , #5991 , #5856 , #5888 , #6074 , #6073 
@DragonnZhang /effort einheitliche Reasoning-Intensität, TUI Mausklick und Hover, Settings-Tab-Dialog#6072 , #6011 , #6044 
@doudouOUC Session Archive, Skills ACP-Ausgabe erweitert, Leader Approval für Plan-Pflicht-Teammates, Diff-Whitespace-Edit-Anzeige#6058 , #6117 , #6138 , #6141 
@DennisYu07 /config-Befehl, Auto-mode vollständige Shell-Klassifizierung, MCP-Whitelist-Wildcards, MCP-Tool-Idle-Timeout#5773 , #6040 , #6012 , #6061 
@pomelo-nwu Mobile Sidebar Drawer, HTTPS/TLS-Unterstützung#6003 , #6032 
@callmeYe Workspace Remember, Session-Timeline-Rail#5884 , #6078 
@ytahdn Verzögerte Session-Erstellung, Chat-UI und Tabellen-Rendering-Optimierung#6066 , #6099 
@chiga0 Resumable /acp Session Stream, Multi-Agent-Scrolling ohne VP-Modus#5852 , #6015 
@yiliang114 Chrome-Erweiterung wiederbelebt#5777 
@wenshao Browser-Tab-Favicon#6091 
@carffuca Queued-Prompt UX-Optimierung#6025 
@Alex-ai-future TUI-Eingabelatenz-Optimierung#6059 
@VectorPeak Windows-Tilde-Pfaderweiterung#6029 
🆕 @Minerest 🎉 Erster Beitrag: Fix — auto-memory-Abruf nur bei aktiviertem auto-memory#5963 
🆕 @TianYuan1024 🎉 Erster Beitrag: --insecure-Flag zum Überspringen der TLS-Verifizierung, /model Inline-Modell-Überschreibung#5962 , #6022 
🆕 @gauravyad86 🎉 Erster Beitrag: Kritische npm-Sicherheitslücken behoben (simple-git, shell-quote und weitere Laufzeitabhängigkeiten), CI-Audit-Check hinzugefügt#6065 

Upgrade: Führen Sie npm i @qwen-code/qwen-code@latest -g aus, um auf die neueste Version zu aktualisieren.

Bei Fragen oder Anregungen freuen wir uns über Feedback in den GitHub Issues !

Last updated on